summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2020-04-16 13:26:27 +0200
committerJo-Philipp Wich <jo@mein.io>2020-04-16 13:30:48 +0200
commit3f1d6870ff0b3a0e8e0fc1c63ae2fbee86775261 (patch)
treedc2ff981334ec7edfd198f8475f88dcb3bb732ca
parent52486e5862926294fd6ea1b6db48bf1ae515d7a6 (diff)
docs: update js api docs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--docs/jsapi/LuCI.baseclass.html114
-rw-r--r--docs/jsapi/LuCI.dom.html130
-rw-r--r--docs/jsapi/LuCI.form.AbstractElement.html112
-rw-r--r--docs/jsapi/LuCI.form.AbstractSection.html124
-rw-r--r--docs/jsapi/LuCI.form.AbstractValue.html188
-rw-r--r--docs/jsapi/LuCI.form.ButtonValue.html186
-rw-r--r--docs/jsapi/LuCI.form.DummyValue.html186
-rw-r--r--docs/jsapi/LuCI.form.DynamicList.html186
-rw-r--r--docs/jsapi/LuCI.form.FileUpload.html186
-rw-r--r--docs/jsapi/LuCI.form.FlagValue.html186
-rw-r--r--docs/jsapi/LuCI.form.GridSection.html122
-rw-r--r--docs/jsapi/LuCI.form.HiddenValue.html186
-rw-r--r--docs/jsapi/LuCI.form.JSONMap.html182
-rw-r--r--docs/jsapi/LuCI.form.ListValue.html186
-rw-r--r--docs/jsapi/LuCI.form.Map.html182
-rw-r--r--docs/jsapi/LuCI.form.MultiValue.html186
-rw-r--r--docs/jsapi/LuCI.form.NamedSection.html124
-rw-r--r--docs/jsapi/LuCI.form.SectionValue.html186
-rw-r--r--docs/jsapi/LuCI.form.TableSection.html122
-rw-r--r--docs/jsapi/LuCI.form.TextValue.html184
-rw-r--r--docs/jsapi/LuCI.form.TypedSection.html124
-rw-r--r--docs/jsapi/LuCI.form.Value.html188
-rw-r--r--docs/jsapi/LuCI.form.html102
-rw-r--r--docs/jsapi/LuCI.fs.html100
-rw-r--r--docs/jsapi/LuCI.headers.html106
-rw-r--r--docs/jsapi/LuCI.html406
-rw-r--r--docs/jsapi/LuCI.network.Device.html146
-rw-r--r--docs/jsapi/LuCI.network.Hosts.html118
-rw-r--r--docs/jsapi/LuCI.network.Protocol.html182
-rw-r--r--docs/jsapi/LuCI.network.WifiDevice.html128
-rw-r--r--docs/jsapi/LuCI.network.WifiNetwork.html176
-rw-r--r--docs/jsapi/LuCI.network.html160
-rw-r--r--docs/jsapi/LuCI.poll.html112
-rw-r--r--docs/jsapi/LuCI.request.html116
-rw-r--r--docs/jsapi/LuCI.request.poll.html114
-rw-r--r--docs/jsapi/LuCI.response.html110
-rw-r--r--docs/jsapi/LuCI.rpc.html185
-rw-r--r--docs/jsapi/LuCI.uci.html136
-rw-r--r--docs/jsapi/LuCI.ui.AbstractElement.html157
-rw-r--r--docs/jsapi/LuCI.ui.Checkbox.html120
-rw-r--r--docs/jsapi/LuCI.ui.ComboButton.html118
-rw-r--r--docs/jsapi/LuCI.ui.Combobox.html118
-rw-r--r--docs/jsapi/LuCI.ui.Dropdown.html124
-rw-r--r--docs/jsapi/LuCI.ui.DynamicList.html122
-rw-r--r--docs/jsapi/LuCI.ui.FileUpload.html118
-rw-r--r--docs/jsapi/LuCI.ui.Hiddenfield.html118
-rw-r--r--docs/jsapi/LuCI.ui.Select.html118
-rw-r--r--docs/jsapi/LuCI.ui.Textarea.html118
-rw-r--r--docs/jsapi/LuCI.ui.Textfield.html118
-rw-r--r--docs/jsapi/LuCI.ui.changes.html112
-rw-r--r--docs/jsapi/LuCI.ui.html129
-rw-r--r--docs/jsapi/LuCI.ui.tabs.html106
-rw-r--r--docs/jsapi/LuCI.view.html114
-rw-r--r--docs/jsapi/LuCI.xhr.html114
-rw-r--r--docs/jsapi/form.js.html236
-rw-r--r--docs/jsapi/fs.js.html100
-rw-r--r--docs/jsapi/index.html100
-rw-r--r--docs/jsapi/luci.js.html475
-rw-r--r--docs/jsapi/network.js.html106
-rw-r--r--docs/jsapi/rpc.js.html111
-rw-r--r--docs/jsapi/uci.js.html138
-rw-r--r--docs/jsapi/ui.js.html256
62 files changed, 8474 insertions, 939 deletions
diff --git a/docs/jsapi/LuCI.baseclass.html b/docs/jsapi/LuCI.baseclass.html
index 88d523095..f5da82c7e 100644
--- a/docs/jsapi/LuCI.baseclass.html
+++ b/docs/jsapi/LuCI.baseclass.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ implements prototypal inheritance.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line59">line 59</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line61">line 61</a>
</div>
</div>
@@ -3329,7 +3427,7 @@ implements prototypal inheritance.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line87">line 87</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line89">line 89</a>
</div>
</div>
@@ -3479,7 +3577,7 @@ class constructor and can be instantiated with <code>new</code>.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line170">line 170</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line172">line 172</a>
</div>
</div>
@@ -3666,7 +3764,7 @@ enable inheritance.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line196">line 196</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line198">line 198</a>
</div>
</div>
@@ -3813,7 +3911,7 @@ a subclass of this class'.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line146">line 146</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line148">line 148</a>
</div>
</div>
@@ -4005,7 +4103,7 @@ enable inheritance.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line268">line 268</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line270">line 270</a>
</div>
</div>
@@ -4235,7 +4333,7 @@ superclass method returned <code>null</code>.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line226">line 226</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line228">line 228</a>
</div>
</div>
@@ -4458,7 +4556,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.dom.html b/docs/jsapi/LuCI.dom.html
index 529803ef6..4bca2bf45 100644
--- a/docs/jsapi/LuCI.dom.html
+++ b/docs/jsapi/LuCI.dom.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3245,7 +3343,7 @@ external JavaScript, use <code>L.require(&quot;dom&quot;).then(...)</code>.</p><
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1202">line 1202</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1204">line 1204</a>
</div>
</div>
@@ -3330,7 +3428,7 @@ external JavaScript, use <code>L.require(&quot;dom&quot;).then(...)</code>.</p><
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1365">line 1365</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1367">line 1367</a>
</div>
</div>
@@ -3531,7 +3629,7 @@ if either the <code>node</code> argument was no valid DOM <code>node</code> or i
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1480">line 1480</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1482">line 1482</a>
</div>
</div>
@@ -3729,7 +3827,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#line1717">line 1717</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1719">line 1719</a>
</div>
</div>
@@ -3930,7 +4028,7 @@ a valid Class instance.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1771">line 1771</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1773">line 1773</a>
</div>
</div>
@@ -4146,7 +4244,7 @@ instance didn't have the requested <code>method</code>.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1432">line 1432</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1434">line 1434</a>
</div>
</div>
@@ -4350,7 +4448,7 @@ if either the <code>node</code> argument was no valid DOM <code>node</code> or i
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1558">line 1558</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1560">line 1560</a>
</div>
</div>
@@ -4610,7 +4708,7 @@ element names, such as spaces.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1634">line 1634</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1636">line 1636</a>
</div>
</div>
@@ -4849,7 +4947,7 @@ be found.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1228">line 1228</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1230">line 1230</a>
</div>
</div>
@@ -4994,7 +5092,7 @@ be found.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1737">line 1737</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1739">line 1739</a>
</div>
</div>
@@ -5144,7 +5242,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#line1817">line 1817</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1819">line 1819</a>
</div>
</div>
@@ -5331,7 +5429,7 @@ result when testing it using the given <code>ignoreFn</code>.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1289">line 1289</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1291">line 1291</a>
</div>
</div>
@@ -5517,7 +5615,7 @@ selector didn't match.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1316">line 1316</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1318">line 1318</a>
</div>
</div>
@@ -5707,7 +5805,7 @@ selector didn't match any parent.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1247">line 1247</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1249">line 1249</a>
</div>
</div>
@@ -5862,7 +5960,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#line1780">line 1780</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1782">line 1782</a>
</div>
</div>
@@ -6016,7 +6114,7 @@ ignored, else not.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.AbstractElement.html b/docs/jsapi/LuCI.form.AbstractElement.html
index 768e83a43..b64c50f2d 100644
--- a/docs/jsapi/LuCI.form.AbstractElement.html
+++ b/docs/jsapi/LuCI.form.AbstractElement.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3246,7 +3344,7 @@ properties.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line176">line 176</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line184">line 184</a>
</div>
</div>
@@ -3331,7 +3429,7 @@ properties.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -3447,7 +3545,7 @@ properties.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line220">line 220</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line228">line 228</a>
</div>
</div>
@@ -3553,7 +3651,7 @@ respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line238">line 238</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line246">line 246</a>
</div>
</div>
@@ -3659,7 +3757,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -3804,7 +3902,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -4005,7 +4103,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.AbstractSection.html b/docs/jsapi/LuCI.form.AbstractSection.html
index e59244a1f..57cafe931 100644
--- a/docs/jsapi/LuCI.form.AbstractSection.html
+++ b/docs/jsapi/LuCI.form.AbstractSection.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3246,7 +3344,7 @@ form options and for handling tabs to segment child options.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line767">line 767</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line805">line 805</a>
</div>
</div>
@@ -3391,7 +3489,7 @@ this property will hold a reference to the parent option instance.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -3507,7 +3605,7 @@ this property will hold a reference to the parent option instance.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line818">line 818</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line856">line 856</a>
</div>
</div>
@@ -3635,7 +3733,7 @@ The sections will be rendered in the same order as the returned array.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line841">line 841</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line879">line 879</a>
</div>
</div>
@@ -3787,7 +3885,7 @@ custom implementations.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line856">line 856</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line894">line 894</a>
</div>
</div>
@@ -3891,7 +3989,7 @@ elements load functions rejected with an error.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line969">line 969</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1007">line 1007</a>
</div>
</div>
@@ -4106,7 +4204,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line885">line 885</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line923">line 923</a>
</div>
</div>
@@ -4214,7 +4312,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line238">line 238</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line246">line 246</a>
</div>
</div>
@@ -4322,7 +4420,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -4467,7 +4565,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line926">line 926</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line964">line 964</a>
</div>
</div>
@@ -4684,7 +4782,7 @@ contents. If omitted, no description will be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1006">line 1006</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1044">line 1044</a>
</div>
</div>
@@ -4953,7 +5051,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -5154,7 +5252,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.AbstractValue.html b/docs/jsapi/LuCI.form.AbstractValue.html
index 73a47e396..008c57ba7 100644
--- a/docs/jsapi/LuCI.form.AbstractValue.html
+++ b/docs/jsapi/LuCI.form.AbstractValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3246,7 +3344,7 @@ validation constraints that should be applied to entered values.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1145">line 1145</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1183">line 1183</a>
</div>
</div>
@@ -3587,6 +3685,58 @@ or selected by the user.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -3913,7 +4063,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4029,7 +4179,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4205,7 +4355,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4381,7 +4531,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4593,7 +4743,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -4768,7 +4918,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -4944,7 +5094,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5092,7 +5242,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5238,7 +5388,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5419,7 +5569,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -5568,7 +5718,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -5693,7 +5843,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line238">line 238</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line246">line 246</a>
</div>
</div>
@@ -5801,7 +5951,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -5946,7 +6096,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6126,7 +6276,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6319,7 +6469,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1683">line 1683</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1734">line 1734</a>
</div>
</div>
@@ -6495,7 +6645,7 @@ as error message to the user.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6654,7 +6804,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.ButtonValue.html b/docs/jsapi/LuCI.form.ButtonValue.html
index 247ea5d4e..b8e5200c4 100644
--- a/docs/jsapi/LuCI.form.ButtonValue.html
+++ b/docs/jsapi/LuCI.form.ButtonValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@ renders the underlying UCI option or default value as readonly text.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3637">line 3637</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3709">line 3709</a>
</div>
</div>
@@ -4020,6 +4118,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4346,7 +4496,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4464,7 +4614,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4642,7 +4792,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4820,7 +4970,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -5034,7 +5184,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5211,7 +5361,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5389,7 +5539,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5539,7 +5689,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5687,7 +5837,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5870,7 +6020,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -6021,7 +6171,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -6146,7 +6296,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6293,7 +6443,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6473,7 +6623,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6668,7 +6818,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6816,7 +6966,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6975,7 +7125,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.DummyValue.html b/docs/jsapi/LuCI.form.DummyValue.html
index a0632ae7e..4fb2525ca 100644
--- a/docs/jsapi/LuCI.form.DummyValue.html
+++ b/docs/jsapi/LuCI.form.DummyValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@ renders the underlying UCI option or default value as readonly text.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3555">line 3555</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3627">line 3627</a>
</div>
</div>
@@ -3957,6 +4055,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4283,7 +4433,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4401,7 +4551,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4579,7 +4729,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4757,7 +4907,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4971,7 +5121,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5148,7 +5298,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5326,7 +5476,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5476,7 +5626,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5624,7 +5774,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5807,7 +5957,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -5958,7 +6108,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3631">line 3631</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3703">line 3703</a>
</div>
</div>
@@ -6083,7 +6233,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6230,7 +6380,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6410,7 +6560,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6605,7 +6755,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6753,7 +6903,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3634">line 3634</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3706">line 3706</a>
</div>
</div>
@@ -6912,7 +7062,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.DynamicList.html b/docs/jsapi/LuCI.form.DynamicList.html
index 424f37b0e..cf8a995c7 100644
--- a/docs/jsapi/LuCI.form.DynamicList.html
+++ b/docs/jsapi/LuCI.form.DynamicList.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ predefined choices. It builds upon the <a href="LuCI.ui.DynamicList.html"><code>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3147">line 3147</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3212">line 3212</a>
</div>
</div>
@@ -3857,6 +3955,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4183,7 +4333,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4301,7 +4451,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4479,7 +4629,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4657,7 +4807,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4871,7 +5021,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5048,7 +5198,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5226,7 +5376,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5376,7 +5526,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5524,7 +5674,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5707,7 +5857,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -5858,7 +6008,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -5983,7 +6133,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6130,7 +6280,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6310,7 +6460,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6505,7 +6655,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6653,7 +6803,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6812,7 +6962,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.FileUpload.html b/docs/jsapi/LuCI.form.FileUpload.html
index cc10b43b3..add63f061 100644
--- a/docs/jsapi/LuCI.form.FileUpload.html
+++ b/docs/jsapi/LuCI.form.FileUpload.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@ offers the ability to browse, upload and select remote files.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3803">line 3803</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3876">line 3876</a>
</div>
</div>
@@ -4068,6 +4166,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4394,7 +4544,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4512,7 +4662,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4690,7 +4840,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4868,7 +5018,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -5082,7 +5232,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5259,7 +5409,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5437,7 +5587,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5587,7 +5737,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5735,7 +5885,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5918,7 +6068,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -6069,7 +6219,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -6194,7 +6344,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6341,7 +6491,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6521,7 +6671,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6716,7 +6866,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6864,7 +7014,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -7023,7 +7173,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.FlagValue.html b/docs/jsapi/LuCI.form.FlagValue.html
index adb3f398f..81161c587 100644
--- a/docs/jsapi/LuCI.form.FlagValue.html
+++ b/docs/jsapi/LuCI.form.FlagValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@ implement a simple checkbox element.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3266">line 3266</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3333">line 3333</a>
</div>
</div>
@@ -3952,6 +4050,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4278,7 +4428,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4396,7 +4546,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4574,7 +4724,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4752,7 +4902,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4966,7 +5116,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3343">line 3343</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3411">line 3411</a>
</div>
</div>
@@ -5142,7 +5292,7 @@ the checked state.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5320,7 +5470,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5470,7 +5620,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5618,7 +5768,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5801,7 +5951,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3365">line 3365</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3433">line 3433</a>
</div>
</div>
@@ -5952,7 +6102,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -6077,7 +6227,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6224,7 +6374,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3355">line 3355</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3423">line 3423</a>
</div>
</div>
@@ -6399,7 +6549,7 @@ either a localized <code>Yes</code> or <code>No</code> string, depending on the
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6594,7 +6744,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6742,7 +6892,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6901,7 +7051,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.GridSection.html b/docs/jsapi/LuCI.form.GridSection.html
index 97402ecd9..22605f931 100644
--- a/docs/jsapi/LuCI.form.GridSection.html
+++ b/docs/jsapi/LuCI.form.GridSection.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3256,7 +3354,7 @@ documentation for details.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2641">line 2641</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2702">line 2702</a>
</div>
</div>
@@ -4117,7 +4215,7 @@ The default is <code>null</code>, means inheriting from the parent form.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2573">line 2573</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2632">line 2632</a>
</div>
</div>
@@ -4320,7 +4418,7 @@ is shown.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4438,7 +4536,7 @@ is shown.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line841">line 841</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line879">line 879</a>
</div>
</div>
@@ -4592,7 +4690,7 @@ custom implementations.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line856">line 856</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line894">line 894</a>
</div>
</div>
@@ -4698,7 +4796,7 @@ elements load functions rejected with an error.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line969">line 969</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1007">line 1007</a>
</div>
</div>
@@ -4915,7 +5013,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2789">line 2789</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2850">line 2850</a>
</div>
</div>
@@ -5023,7 +5121,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -5168,7 +5266,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2710">line 2710</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2771">line 2771</a>
</div>
</div>
@@ -5386,7 +5484,7 @@ contents. If omitted, no description will be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1006">line 1006</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1044">line 1044</a>
</div>
</div>
@@ -5655,7 +5753,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -5856,7 +5954,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.HiddenValue.html b/docs/jsapi/LuCI.form.HiddenValue.html
index e44d2508e..33c3c6a48 100644
--- a/docs/jsapi/LuCI.form.HiddenValue.html
+++ b/docs/jsapi/LuCI.form.HiddenValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3248,7 +3346,7 @@ distorted form layout when rendering the option element.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3752">line 3752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3825">line 3825</a>
</div>
</div>
@@ -3861,6 +3959,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4187,7 +4337,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4305,7 +4455,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4483,7 +4633,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4661,7 +4811,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4875,7 +5025,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5052,7 +5202,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5230,7 +5380,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5380,7 +5530,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5528,7 +5678,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5711,7 +5861,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -5862,7 +6012,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -5987,7 +6137,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6134,7 +6284,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6314,7 +6464,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6509,7 +6659,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6657,7 +6807,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6816,7 +6966,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.JSONMap.html b/docs/jsapi/LuCI.form.JSONMap.html
index da1d72f90..7947037f5 100644
--- a/docs/jsapi/LuCI.form.JSONMap.html
+++ b/docs/jsapi/LuCI.form.JSONMap.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ as data source.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line730">line 730</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line768">line 768</a>
</div>
</div>
@@ -3437,6 +3535,60 @@ If omitted, the corresponding paragraph element will not be rendered.</p></td>
+ <h3 class="subsection-title">Members</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Toggle readonly state of the form.</p>
+<p>If set to <code>true</code>, the Map instance is marked readonly and any form
+option elements added to it will inherit the readonly state.</p>
+<p>If left unset, the Map will test the access permission of the primary
+uci configuration upon loading and mark the form readonly if no write
+permissions are granted.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
<h3 class="subsection-title">Methods</h3>
@@ -3454,7 +3606,7 @@ If omitted, the corresponding paragraph element will not be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -3572,7 +3724,7 @@ If omitted, the corresponding paragraph element will not be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line457">line 457</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line479">line 479</a>
</div>
</div>
@@ -3696,7 +3848,7 @@ config already is in the list of required files, it will be ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line439">line 439</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line461">line 461</a>
</div>
</div>
@@ -3921,7 +4073,7 @@ passed.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line396">line 396</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line418">line 418</a>
</div>
</div>
@@ -4143,7 +4295,7 @@ passed.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line511">line 511</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line533">line 533</a>
</div>
</div>
@@ -4251,7 +4403,7 @@ an error.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line661">line 661</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line699">line 699</a>
</div>
</div>
@@ -4470,7 +4622,7 @@ Returns <code>null</code> if the option could not be found.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line529">line 529</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line560">line 560</a>
</div>
</div>
@@ -4577,7 +4729,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line593">line 593</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line631">line 631</a>
</div>
</div>
@@ -4680,7 +4832,7 @@ rendering is complete.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line582">line 582</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line620">line 620</a>
</div>
</div>
@@ -4784,7 +4936,7 @@ re-rendering is complete.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line559">line 559</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line590">line 590</a>
</div>
</div>
@@ -4987,7 +5139,7 @@ failed.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line489">line 489</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line511">line 511</a>
</div>
</div>
@@ -5182,7 +5334,7 @@ documentation for details.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -5329,7 +5481,7 @@ documentation for details.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -5530,7 +5682,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.ListValue.html b/docs/jsapi/LuCI.form.ListValue.html
index d85af7af4..ae2669ef9 100644
--- a/docs/jsapi/LuCI.form.ListValue.html
+++ b/docs/jsapi/LuCI.form.ListValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ It builds upon the <a href="LuCI.ui.Select.html"><code>LuCI.ui.Select</code></a>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3201">line 3201</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3267">line 3267</a>
</div>
</div>
@@ -3905,6 +4003,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4231,7 +4381,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4349,7 +4499,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4527,7 +4677,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4705,7 +4855,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4919,7 +5069,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5096,7 +5246,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5274,7 +5424,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5424,7 +5574,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5572,7 +5722,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5755,7 +5905,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -5906,7 +6056,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -6031,7 +6181,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6178,7 +6328,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6358,7 +6508,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6553,7 +6703,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6701,7 +6851,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6860,7 +7010,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.Map.html b/docs/jsapi/LuCI.form.Map.html
index ccb94b454..2f44ad62b 100644
--- a/docs/jsapi/LuCI.form.Map.html
+++ b/docs/jsapi/LuCI.form.Map.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3245,7 +3343,7 @@ fields each.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line330">line 330</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line338">line 338</a>
</div>
</div>
@@ -3436,6 +3534,60 @@ If omitted, the corresponding paragraph element will not be rendered.</p></td>
+ <h3 class="subsection-title">Members</h3>
+
+ <dl>
+
+<dt>
+ <div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Toggle readonly state of the form.</p>
+<p>If set to <code>true</code>, the Map instance is marked readonly and any form
+option elements added to it will inherit the readonly state.</p>
+<p>If left unset, the Map will test the access permission of the primary
+uci configuration upon loading and mark the form readonly if no write
+permissions are granted.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+ </dl>
+
<h3 class="subsection-title">Methods</h3>
@@ -3453,7 +3605,7 @@ If omitted, the corresponding paragraph element will not be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -3569,7 +3721,7 @@ If omitted, the corresponding paragraph element will not be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line457">line 457</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line479">line 479</a>
</div>
</div>
@@ -3691,7 +3843,7 @@ config already is in the list of required files, it will be ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line439">line 439</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line461">line 461</a>
</div>
</div>
@@ -3914,7 +4066,7 @@ passed.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line396">line 396</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line418">line 418</a>
</div>
</div>
@@ -4134,7 +4286,7 @@ passed.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line511">line 511</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line533">line 533</a>
</div>
</div>
@@ -4240,7 +4392,7 @@ an error.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line661">line 661</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line699">line 699</a>
</div>
</div>
@@ -4457,7 +4609,7 @@ Returns <code>null</code> if the option could not be found.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line529">line 529</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line560">line 560</a>
</div>
</div>
@@ -4562,7 +4714,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line593">line 593</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line631">line 631</a>
</div>
</div>
@@ -4663,7 +4815,7 @@ rendering is complete.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line582">line 582</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line620">line 620</a>
</div>
</div>
@@ -4765,7 +4917,7 @@ re-rendering is complete.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line559">line 559</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line590">line 590</a>
</div>
</div>
@@ -4966,7 +5118,7 @@ failed.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line489">line 489</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line511">line 511</a>
</div>
</div>
@@ -5161,7 +5313,7 @@ documentation for details.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -5308,7 +5460,7 @@ documentation for details.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -5509,7 +5661,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.MultiValue.html b/docs/jsapi/LuCI.form.MultiValue.html
index 34f63f949..d004535f5 100644
--- a/docs/jsapi/LuCI.form.MultiValue.html
+++ b/docs/jsapi/LuCI.form.MultiValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ select dropdown element.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3383">line 3383</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3453">line 3453</a>
</div>
</div>
@@ -3957,6 +4055,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4283,7 +4433,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4401,7 +4551,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4579,7 +4729,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4757,7 +4907,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4971,7 +5121,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5148,7 +5298,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5326,7 +5476,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5476,7 +5626,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5624,7 +5774,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5807,7 +5957,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -5958,7 +6108,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -6083,7 +6233,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6230,7 +6380,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6410,7 +6560,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6605,7 +6755,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6753,7 +6903,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6912,7 +7062,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.NamedSection.html b/docs/jsapi/LuCI.form.NamedSection.html
index 6d1b95467..3643a3745 100644
--- a/docs/jsapi/LuCI.form.NamedSection.html
+++ b/docs/jsapi/LuCI.form.NamedSection.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3245,7 +3343,7 @@ specified when constructing the class instance.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2808">line 2808</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2869">line 2869</a>
</div>
</div>
@@ -3661,7 +3759,7 @@ this property will hold a reference to the parent option instance.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -3777,7 +3875,7 @@ this property will hold a reference to the parent option instance.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2874">line 2874</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2935">line 2935</a>
</div>
</div>
@@ -3881,7 +3979,7 @@ section ID as sole element. User code should not normally change this.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line841">line 841</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line879">line 879</a>
</div>
</div>
@@ -4035,7 +4133,7 @@ custom implementations.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line856">line 856</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line894">line 894</a>
</div>
</div>
@@ -4141,7 +4239,7 @@ elements load functions rejected with an error.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line969">line 969</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1007">line 1007</a>
</div>
</div>
@@ -4358,7 +4456,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line885">line 885</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line923">line 923</a>
</div>
</div>
@@ -4466,7 +4564,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2945">line 2945</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3008">line 3008</a>
</div>
</div>
@@ -4574,7 +4672,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -4721,7 +4819,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line926">line 926</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line964">line 964</a>
</div>
</div>
@@ -4940,7 +5038,7 @@ contents. If omitted, no description will be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1006">line 1006</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1044">line 1044</a>
</div>
</div>
@@ -5209,7 +5307,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -5410,7 +5508,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.SectionValue.html b/docs/jsapi/LuCI.form.SectionValue.html
index e98ae4ac0..b628e6f9d 100644
--- a/docs/jsapi/LuCI.form.SectionValue.html
+++ b/docs/jsapi/LuCI.form.SectionValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@ element container, allowing to nest form sections into other sections.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3921">line 3921</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3995">line 3995</a>
</div>
</div>
@@ -3909,6 +4007,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4235,7 +4385,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4353,7 +4503,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4531,7 +4681,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line4033">line 4033</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4107">line 4107</a>
</div>
</div>
@@ -4706,7 +4856,7 @@ its <code>cfgvalue()</code> implementation will always return <code>null</code>.
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4920,7 +5070,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line4042">line 4042</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4116">line 4116</a>
</div>
</div>
@@ -5095,7 +5245,7 @@ its <code>formvalue()</code> implementation will always return <code>null</code>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5273,7 +5423,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5423,7 +5573,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5571,7 +5721,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3982">line 3982</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4056">line 4056</a>
</div>
</div>
@@ -5754,7 +5904,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3987">line 3987</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4061">line 4061</a>
</div>
</div>
@@ -5905,7 +6055,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line4024">line 4024</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4098">line 4098</a>
</div>
</div>
@@ -6024,7 +6174,7 @@ its <code>remove()</code> implementation is a no-op.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6171,7 +6321,7 @@ its <code>remove()</code> implementation is a no-op.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6351,7 +6501,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6546,7 +6696,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line4008">line 4008</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4082">line 4082</a>
</div>
</div>
@@ -6692,7 +6842,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line4016">line 4016</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4090">line 4090</a>
</div>
</div>
@@ -6843,7 +6993,7 @@ its <code>write()</code> implementation is a no-op.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.TableSection.html b/docs/jsapi/LuCI.form.TableSection.html
index 0eb677f97..e2271c83e 100644
--- a/docs/jsapi/LuCI.form.TableSection.html
+++ b/docs/jsapi/LuCI.form.TableSection.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3248,7 +3346,7 @@ value of the <code>addremove</code> property.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2055">line 2055</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2112">line 2112</a>
</div>
</div>
@@ -4311,7 +4409,7 @@ The default is <code>null</code>, means inheriting from the parent form.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2573">line 2573</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2632">line 2632</a>
</div>
</div>
@@ -4514,7 +4612,7 @@ is shown.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4632,7 +4730,7 @@ is shown.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line841">line 841</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line879">line 879</a>
</div>
</div>
@@ -4786,7 +4884,7 @@ custom implementations.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line856">line 856</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line894">line 894</a>
</div>
</div>
@@ -4892,7 +4990,7 @@ elements load functions rejected with an error.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line969">line 969</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1007">line 1007</a>
</div>
</div>
@@ -5109,7 +5207,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line885">line 885</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line923">line 923</a>
</div>
</div>
@@ -5217,7 +5315,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -5364,7 +5462,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2219">line 2219</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2276">line 2276</a>
</div>
</div>
@@ -5562,7 +5660,7 @@ contents. If omitted, no description will be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1006">line 1006</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1044">line 1044</a>
</div>
</div>
@@ -5831,7 +5929,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6032,7 +6130,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.TextValue.html b/docs/jsapi/LuCI.form.TextValue.html
index 27d8ae18f..780b089f9 100644
--- a/docs/jsapi/LuCI.form.TextValue.html
+++ b/docs/jsapi/LuCI.form.TextValue.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3463">line 3463</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3534">line 3534</a>
</div>
</div>
@@ -4052,6 +4150,58 @@ as plain text input.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4378,7 +4528,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4496,7 +4646,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4674,7 +4824,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4852,7 +5002,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -5066,7 +5216,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5243,7 +5393,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5421,7 +5571,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5571,7 +5721,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5719,7 +5869,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5902,7 +6052,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -6053,7 +6203,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -6178,7 +6328,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6325,7 +6475,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6505,7 +6655,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6700,7 +6850,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6859,7 +7009,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.TypedSection.html b/docs/jsapi/LuCI.form.TypedSection.html
index d4510730f..b4625a160 100644
--- a/docs/jsapi/LuCI.form.TypedSection.html
+++ b/docs/jsapi/LuCI.form.TypedSection.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3248,7 +3346,7 @@ value of the <code>addremove</code> property.</p></div>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1828">line 1828</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1881">line 1881</a>
</div>
</div>
@@ -3790,7 +3888,7 @@ this property will hold a reference to the parent option instance.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -3908,7 +4006,7 @@ this property will hold a reference to the parent option instance.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1916">line 1916</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1969">line 1969</a>
</div>
</div>
@@ -4038,7 +4136,7 @@ The sections will be rendered in the same order as the returned array.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line841">line 841</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line879">line 879</a>
</div>
</div>
@@ -4192,7 +4290,7 @@ custom implementations.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line856">line 856</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line894">line 894</a>
</div>
</div>
@@ -4298,7 +4396,7 @@ elements load functions rejected with an error.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line969">line 969</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1007">line 1007</a>
</div>
</div>
@@ -4515,7 +4613,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line885">line 885</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line923">line 923</a>
</div>
</div>
@@ -4623,7 +4721,7 @@ not meeting the validation constraints of their respective elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2044">line 2044</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line2101">line 2101</a>
</div>
</div>
@@ -4731,7 +4829,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -4878,7 +4976,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line926">line 926</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line964">line 964</a>
</div>
</div>
@@ -5097,7 +5195,7 @@ contents. If omitted, no description will be rendered.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1006">line 1006</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1044">line 1044</a>
</div>
</div>
@@ -5366,7 +5464,7 @@ descendent of <code>AbstractValue</code>.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -5567,7 +5665,7 @@ was neither a string nor a function.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.Value.html b/docs/jsapi/LuCI.form.Value.html
index 6ea8e48ad..1d5bee772 100644
--- a/docs/jsapi/LuCI.form.Value.html
+++ b/docs/jsapi/LuCI.form.Value.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line2956">line 2956</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3019">line 3019</a>
</div>
</div>
@@ -3857,6 +3955,58 @@ or selected by the user.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="readonly">readonly<span class="type-signature type boolean">boolean</span> </h4>
+ </div>
+
+
+</dt>
+<dd>
+
+ <div class="description">
+ <p>Make option element readonly.</p>
+<p>This property defaults to the readonly state of the parent form element.
+When set to <code>true</code>, the underlying widget is rendered in disabled state,
+means its contents cannot be changed and the widget cannot be interacted
+with.</p>
+ </div>
+
+
+
+<dl class="details">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <dt class="tag-default">Default Value:</dt>
+ <dd class="tag-default"><ul class="dummy"><li>false</li></ul></dd>
+
+
+
+
+
+
+
+</dl>
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="rmempty">rmempty<span class="type-signature type boolean">boolean</span> </h4>
</div>
@@ -4183,7 +4333,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line202">line 202</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line210">line 210</a>
</div>
</div>
@@ -4301,7 +4451,7 @@ table section elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1525">line 1525</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
</div>
</div>
@@ -4479,7 +4629,7 @@ within the given specific section.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1599">line 1599</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1650">line 1650</a>
</div>
</div>
@@ -4657,7 +4807,7 @@ different way.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1407">line 1407</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1458">line 1458</a>
</div>
</div>
@@ -4871,7 +5021,7 @@ argument, this parameter is ignored.</p></td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1678">line 1678</a>
</div>
</div>
@@ -5048,7 +5198,7 @@ It may be overwritten by user code to handle input values differently.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1576">line 1576</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1627">line 1627</a>
</div>
</div>
@@ -5226,7 +5376,7 @@ option implementation does not use <code>LuCI.ui</code> widgets.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1715">line 1715</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1766">line 1766</a>
</div>
</div>
@@ -5376,7 +5526,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1697">line 1697</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1748">line 1748</a>
</div>
</div>
@@ -5524,7 +5674,7 @@ returns <code>false</code>.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1553">line 1553</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1604">line 1604</a>
</div>
</div>
@@ -5707,7 +5857,7 @@ so it may return promises if overridden by user code.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1752">line 1752</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1803">line 1803</a>
</div>
</div>
@@ -5858,7 +6008,7 @@ validation constraints.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1820">line 1820</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1873">line 1873</a>
</div>
</div>
@@ -5983,7 +6133,7 @@ implement alternative removal logic, e.g. to retain the original value.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3030">line 3030</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3093">line 3093</a>
</div>
</div>
@@ -6091,7 +6241,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line278">line 278</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line286">line 286</a>
</div>
</div>
@@ -6238,7 +6388,7 @@ the form element's markup, including the markup of any child elements.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1651">line 1651</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1702">line 1702</a>
</div>
</div>
@@ -6418,7 +6568,7 @@ state of checkbox elements.</p>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line312">line 312</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line320">line 320</a>
</div>
</div>
@@ -6611,7 +6761,7 @@ was neither a string nor a function.</td>
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line3021">line 3021</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line3084">line 3084</a>
</div>
</div>
@@ -6759,7 +6909,7 @@ or a plain text string. If omitted, the <code>key</code> value is used as captio
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line1797">line 1797</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line1850">line 1850</a>
</div>
</div>
@@ -6918,7 +7068,7 @@ before it is written.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.form.html b/docs/jsapi/LuCI.form.html
index 35e33a6a2..464a76617 100644
--- a/docs/jsapi/LuCI.form.html
+++ b/docs/jsapi/LuCI.form.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3273,7 +3371,7 @@ m.render().then(function(node) {
<div class="tag-source">
- <a href="form.js.html">form.js</a>, <a href="form.js.html#line4045">line 4045</a>
+ <a href="form.js.html">form.js</a>, <a href="form.js.html#line4119">line 4119</a>
</div>
</div>
@@ -3426,7 +3524,7 @@ m.render().then(function(node) {
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.fs.html b/docs/jsapi/LuCI.fs.html
index b3b61f5c7..7f41f5e88 100644
--- a/docs/jsapi/LuCI.fs.html
+++ b/docs/jsapi/LuCI.fs.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -5603,7 +5701,7 @@ the failure reason.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.headers.html b/docs/jsapi/LuCI.headers.html
index d8e2809a2..ba47d7309 100644
--- a/docs/jsapi/LuCI.headers.html
+++ b/docs/jsapi/LuCI.headers.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@ response objects using the <code>response.headers</code> property.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line330">line 330</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line332">line 332</a>
</div>
</div>
@@ -3328,7 +3426,7 @@ response objects using the <code>response.headers</code> property.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line378">line 378</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line380">line 380</a>
</div>
</div>
@@ -3477,7 +3575,7 @@ Note: Header-Names are case-insensitive.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line362">line 362</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line364">line 364</a>
</div>
</div>
@@ -3631,7 +3729,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.html b/docs/jsapi/LuCI.html
index 9c7c60f6a..a8bf2d946 100644
--- a/docs/jsapi/LuCI.html
+++ b/docs/jsapi/LuCI.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3385,6 +3483,9 @@ accessible using the global <code>L</code> variable.</p></div>
<dt><a href="LuCI.rpc.html">rpc</a></dt>
<dd></dd>
+ <dt><a href="LuCI.session.html">session</a></dt>
+ <dd></dd>
+
<dt><a href="LuCI.uci.html">uci</a></dt>
<dd></dd>
@@ -3707,7 +3808,7 @@ to request the <code>LuCI.view</code> class.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2280">line 2280</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2387">line 2387</a>
</div>
</div>
@@ -3919,7 +4020,7 @@ as parameters.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2240">line 2240</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2346">line 2346</a>
</div>
</div>
@@ -4151,6 +4252,161 @@ argument or copied from the given error instance.</p>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="fspath">
+
+ fspath<span class="signature">(<span class="optional">parts</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{string}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2752">line 2752</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Construct an absolute filesystem path relative to the server
+document root.</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>parts</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>An array of parts to join into a path.</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">
+
+ string
+
+
+ </td>
+ <td class="description last">Return the joined path.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="get">
get<span class="signature">(url, <span class="optional">args</span>, cb)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{Promise.&lt;null>}</span>
@@ -4158,7 +4414,7 @@ argument or copied from the given error instance.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2880">line 2880</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3051">line 3051</a>
</div>
</div>
@@ -4370,7 +4626,7 @@ callback function. The function is a wrapper around
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3002">line 3002</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3189">line 3189</a>
</div>
</div>
@@ -4473,7 +4729,7 @@ when it didn't run to begin with.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2514">line 2514</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2630">line 2630</a>
</div>
</div>
@@ -4659,6 +4915,112 @@ has no sub-features.</td>
<dt>
<div class="nameContainer">
+ <h4 class="name" id="hasViewPermission">
+
+ hasViewPermission<span class="signature">()</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean|null}</span>
+ </h4>
+
+
+ <div class="tag-source">
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3155">line 3155</a>
+ </div>
+
+ </div>
+
+
+</dt>
+<dd>
+
+
+ <div class="description">
+ <p>Check whether a view has sufficient permissions.</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
+ |
+
+ null
+
+
+ </td>
+ <td class="description last">Returns <code>null</code> if the current session has no permission at all to
+load resources required by the view. Returns <code>false</code> if readonly
+permissions are granted or <code>true</code> if at least one required ACL
+group is granted with write permissions.</td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+
+
+</dd>
+
+
+
+<dt>
+ <div class="nameContainer">
<h4 class="name" id="isObject">
isObject<span class="signature">(<span class="optional">val</span>)</span><span class="glyphicon glyphicon-circle-arrow-right"></span><span class="type-signature returnType">{boolean}</span>
@@ -4666,7 +5028,7 @@ has no sub-features.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2727">line 2727</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2898">line 2898</a>
</div>
</div>
@@ -4821,7 +5183,7 @@ not <code>null</code>, else returns <code>false</code>.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2707">line 2707</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2878">line 2878</a>
</div>
</div>
@@ -4921,7 +5283,7 @@ not <code>null</code>, else returns <code>false</code>.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2694">line 2694</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2865">line 2865</a>
</div>
</div>
@@ -5078,7 +5440,7 @@ slashes and any of the other characters mentioned above.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2619">line 2619</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2790">line 2790</a>
</div>
</div>
@@ -5265,7 +5627,7 @@ slashes and any of the other characters mentioned above.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2950">line 2950</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3121">line 3121</a>
</div>
</div>
@@ -5570,7 +5932,7 @@ polling request.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2908">line 2908</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3079">line 3079</a>
</div>
</div>
@@ -5785,7 +6147,7 @@ by default.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2174">line 2174</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2280">line 2280</a>
</div>
</div>
@@ -6024,7 +6386,7 @@ argument or copied from the given error instance.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2319">line 2319</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2426">line 2426</a>
</div>
</div>
@@ -6282,7 +6644,7 @@ class instance.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2835">line 2835</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3006">line 3006</a>
</div>
</div>
@@ -6453,7 +6815,7 @@ to the given default value on error.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2672">line 2672</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2843">line 2843</a>
</div>
</div>
@@ -6610,7 +6972,7 @@ slashes and any of the other characters mentioned above.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3015">line 3015</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3202">line 3202</a>
</div>
</div>
@@ -6713,7 +7075,7 @@ when it was already running.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2756">line 2756</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2927">line 2927</a>
</div>
</div>
@@ -6930,7 +7292,7 @@ addresses or numeric values respectively.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2989">line 2989</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3176">line 3176</a>
</div>
</div>
@@ -7078,7 +7440,7 @@ it could not be found.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2801">line 2801</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2972">line 2972</a>
</div>
</div>
@@ -7228,7 +7590,7 @@ space and returned as array.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2650">line 2650</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2821">line 2821</a>
</div>
</div>
@@ -7391,7 +7753,7 @@ slashes and any of the other characters mentioned above.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2839">line 2839</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3010">line 3010</a>
</div>
</div>
@@ -7562,7 +7924,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 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 7adf03c9f..332ea597b 100644
--- a/docs/jsapi/LuCI.network.Device.html
+++ b/docs/jsapi/LuCI.network.Device.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,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#line2698">line 2698</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2700">line 2700</a>
</div>
</div>
@@ -3328,7 +3426,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#line2905">line 2905</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2907">line 2907</a>
</div>
</div>
@@ -3432,7 +3530,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#line2917">line 2917</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2919">line 2919</a>
</div>
</div>
@@ -3533,7 +3631,7 @@ enabled, else <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2832">line 2832</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2834">line 2834</a>
</div>
</div>
@@ -3634,7 +3732,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#line2776">line 2776</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2778">line 2778</a>
</div>
</div>
@@ -3734,7 +3832,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#line2765">line 2765</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2767">line 2767</a>
</div>
</div>
@@ -3834,7 +3932,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#line2744">line 2744</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2746">line 2746</a>
</div>
</div>
@@ -3938,7 +4036,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#line2755">line 2755</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2757">line 2757</a>
</div>
</div>
@@ -4038,7 +4136,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#line2733">line 2733</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2735">line 2735</a>
</div>
</div>
@@ -4138,7 +4236,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#line3012">line 3012</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3014">line 3014</a>
</div>
</div>
@@ -4243,7 +4341,7 @@ assigned to any logical interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3023">line 3023</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3025">line 3025</a>
</div>
</div>
@@ -4344,7 +4442,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#line2883">line 2883</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2885">line 2885</a>
</div>
</div>
@@ -4449,7 +4547,7 @@ a Linux bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2977">line 2977</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2979">line 2979</a>
</div>
</div>
@@ -4549,7 +4647,7 @@ a Linux bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2999">line 2999</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3001">line 3001</a>
</div>
</div>
@@ -4649,7 +4747,7 @@ a Linux bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2818">line 2818</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2820">line 2820</a>
</div>
</div>
@@ -4750,7 +4848,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#line2966">line 2966</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2968">line 2968</a>
</div>
</div>
@@ -4850,7 +4948,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#line2988">line 2988</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2990">line 2990</a>
</div>
</div>
@@ -4950,7 +5048,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#line2794">line 2794</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2796">line 2796</a>
</div>
</div>
@@ -5059,7 +5157,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#line2850">line 2850</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2852">line 2852</a>
</div>
</div>
@@ -5160,7 +5258,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#line3047">line 3047</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3049">line 3049</a>
</div>
</div>
@@ -5265,7 +5363,7 @@ is not a wireless device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2945">line 2945</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2947">line 2947</a>
</div>
</div>
@@ -5366,7 +5464,7 @@ else <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2956">line 2956</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2958">line 2958</a>
</div>
</div>
@@ -5467,7 +5565,7 @@ else <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2929">line 2929</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2931">line 2931</a>
</div>
</div>
@@ -5576,7 +5674,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 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 7468e054d..0ff4adeef 100644
--- a/docs/jsapi/LuCI.network.Hosts.html
+++ b/docs/jsapi/LuCI.network.Hosts.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,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#line1696">line 1696</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1698">line 1698</a>
</div>
</div>
@@ -3329,7 +3427,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#line1793">line 1793</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1795">line 1795</a>
</div>
</div>
@@ -3479,7 +3577,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1757">line 1757</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1759">line 1759</a>
</div>
</div>
@@ -3629,7 +3727,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1712">line 1712</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1714">line 1714</a>
</div>
</div>
@@ -3779,7 +3877,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1742">line 1742</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1744">line 1744</a>
</div>
</div>
@@ -3929,7 +4027,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1727">line 1727</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1729">line 1729</a>
</div>
</div>
@@ -4079,7 +4177,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1811">line 1811</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1813">line 1813</a>
</div>
</div>
@@ -4229,7 +4327,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1775">line 1775</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1777">line 1777</a>
</div>
</div>
@@ -4379,7 +4477,7 @@ the corresponding host.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1839">line 1839</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1841">line 1841</a>
</div>
</div>
@@ -4557,7 +4655,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 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 318f173df..fb3dcd08c 100644
--- a/docs/jsapi/LuCI.network.Protocol.html
+++ b/docs/jsapi/LuCI.network.Protocol.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,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#line1862">line 1862</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1864">line 1864</a>
</div>
</div>
@@ -3328,7 +3426,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#line2469">line 2469</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2471">line 2471</a>
</div>
</div>
@@ -3489,7 +3587,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#line2638">line 2638</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2640">line 2640</a>
</div>
</div>
@@ -3650,7 +3748,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#line2686">line 2686</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2688">line 2688</a>
</div>
</div>
@@ -3760,7 +3858,7 @@ the interface removal will be aborted.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2496">line 2496</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2498">line 2498</a>
</div>
</div>
@@ -3921,7 +4019,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#line1895">line 1895</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1897">line 1897</a>
</div>
</div>
@@ -4073,7 +4171,7 @@ not found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2523">line 2523</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2525">line 2525</a>
</div>
</div>
@@ -4175,7 +4273,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#line2584">line 2584</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2586">line 2586</a>
</div>
</div>
@@ -4282,7 +4380,7 @@ virtual and not a bridge.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2220">line 2220</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2222">line 2222</a>
</div>
</div>
@@ -4383,7 +4481,7 @@ protocol backend.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2132">line 2132</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2134">line 2134</a>
</div>
</div>
@@ -4484,7 +4582,7 @@ protocol backend.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2264">line 2264</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2266">line 2266</a>
</div>
</div>
@@ -4592,7 +4690,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#line2015">line 2015</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2017">line 2017</a>
</div>
</div>
@@ -4696,7 +4794,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#line2200">line 2200</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2202">line 2202</a>
</div>
</div>
@@ -4798,7 +4896,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#line2112">line 2112</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2114">line 2114</a>
</div>
</div>
@@ -4900,7 +4998,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#line1960">line 1960</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1962">line 1962</a>
</div>
</div>
@@ -5002,7 +5100,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#line1920">line 1920</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1922">line 1922</a>
</div>
</div>
@@ -5106,7 +5204,7 @@ it could not be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2151">line 2151</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2153">line 2153</a>
</div>
</div>
@@ -5210,7 +5308,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#line2173">line 2173</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2175">line 2175</a>
</div>
</div>
@@ -5312,7 +5410,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#line2239">line 2239</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2241">line 2241</a>
</div>
</div>
@@ -5416,7 +5514,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#line2067">line 2067</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2069">line 2069</a>
</div>
</div>
@@ -5520,7 +5618,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#line2080">line 2080</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2082">line 2082</a>
</div>
</div>
@@ -5622,7 +5720,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#line2556">line 2556</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2558">line 2558</a>
</div>
</div>
@@ -5724,7 +5822,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#line2569">line 2569</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2571">line 2571</a>
</div>
</div>
@@ -5826,7 +5924,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#line2035">line 2035</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2037">line 2037</a>
</div>
</div>
@@ -5927,7 +6025,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#line1990">line 1990</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1992">line 1992</a>
</div>
</div>
@@ -6027,7 +6125,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#line2098">line 2098</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2100">line 2100</a>
</div>
</div>
@@ -6131,7 +6229,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#line2304">line 2304</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2306">line 2306</a>
</div>
</div>
@@ -6233,7 +6331,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#line1946">line 1946</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1948">line 1948</a>
</div>
</div>
@@ -6336,7 +6434,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#line1980">line 1980</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1982">line 1982</a>
</div>
</div>
@@ -6443,7 +6541,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#line2000">line 2000</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2002">line 2002</a>
</div>
</div>
@@ -6543,7 +6641,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#line2051">line 2051</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2053">line 2053</a>
</div>
</div>
@@ -6651,7 +6749,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#line2410">line 2410</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2412">line 2412</a>
</div>
</div>
@@ -6758,7 +6856,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#line2289">line 2289</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2291">line 2291</a>
</div>
</div>
@@ -6860,7 +6958,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#line2322">line 2322</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2324">line 2324</a>
</div>
</div>
@@ -7007,7 +7105,7 @@ rejects with an error message string.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2395">line 2395</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2397">line 2397</a>
</div>
</div>
@@ -7112,7 +7210,7 @@ or not (<code>false</code>).</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2430">line 2430</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2432">line 2432</a>
</div>
</div>
@@ -7213,7 +7311,7 @@ has no network devices attached.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2379">line 2379</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2381">line 2381</a>
</div>
</div>
@@ -7322,7 +7420,7 @@ or not (<code>false</code>).</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2338">line 2338</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2340">line 2340</a>
</div>
</div>
@@ -7426,7 +7524,7 @@ returns <code>true</code>.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2452">line 2452</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2454">line 2454</a>
</div>
</div>
@@ -7526,7 +7624,7 @@ returns <code>true</code>.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line2358">line 2358</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line2360">line 2360</a>
</div>
</div>
@@ -7633,7 +7731,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#line1909">line 1909</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1911">line 1911</a>
</div>
</div>
@@ -7787,7 +7885,7 @@ configuration.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 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 0b12b5d06..cab05c6f0 100644
--- a/docs/jsapi/LuCI.network.WifiDevice.html
+++ b/docs/jsapi/LuCI.network.WifiDevice.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,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#line3062">line 3062</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3064">line 3064</a>
</div>
</div>
@@ -3329,7 +3427,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#line3328">line 3328</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3330">line 3330</a>
</div>
</div>
@@ -3484,7 +3582,7 @@ were invalid.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3353">line 3353</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3355">line 3355</a>
</div>
</div>
@@ -3636,7 +3734,7 @@ with this wireless radio device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3102">line 3102</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3104">line 3104</a>
</div>
</div>
@@ -3788,7 +3886,7 @@ not found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3180">line 3180</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3182">line 3182</a>
</div>
</div>
@@ -3899,7 +3997,7 @@ known mode values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3159">line 3159</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3161">line 3161</a>
</div>
</div>
@@ -4009,7 +4107,7 @@ known mode values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3191">line 3191</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3193">line 3193</a>
</div>
</div>
@@ -4109,7 +4207,7 @@ known mode values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3140">line 3140</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3142">line 3142</a>
</div>
</div>
@@ -4211,7 +4309,7 @@ for the wireless phy.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3252">line 3252</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3254">line 3254</a>
</div>
</div>
@@ -4313,7 +4411,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#line3285">line 3285</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3287">line 3287</a>
</div>
</div>
@@ -4464,7 +4562,7 @@ this radio device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3304">line 3304</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3306">line 3306</a>
</div>
</div>
@@ -4566,7 +4664,7 @@ radio device.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3128">line 3128</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3130">line 3130</a>
</div>
</div>
@@ -4668,7 +4766,7 @@ UCI configuration.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3263">line 3263</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3265">line 3265</a>
</div>
</div>
@@ -4769,7 +4867,7 @@ runtime state.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3116">line 3116</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3118">line 3118</a>
</div>
</div>
@@ -4923,7 +5021,7 @@ configuration.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 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 70f8b7053..5af2af153 100644
--- a/docs/jsapi/LuCI.network.WifiNetwork.html
+++ b/docs/jsapi/LuCI.network.WifiNetwork.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3245,7 +3343,7 @@ such networks in parallel.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3386">line 3386</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3388">line 3388</a>
</div>
</div>
@@ -3330,7 +3428,7 @@ such networks in parallel.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4129">line 4129</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4131">line 4131</a>
</div>
</div>
@@ -3601,7 +3699,7 @@ are passed.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3420">line 3420</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3422">line 3422</a>
</div>
</div>
@@ -3753,7 +3851,7 @@ not found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3673">line 3673</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3675">line 3675</a>
</div>
</div>
@@ -3854,7 +3952,7 @@ information.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3684">line 3684</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3686">line 3686</a>
</div>
</div>
@@ -3955,7 +4053,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#line3621">line 3621</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3623">line 3623</a>
</div>
</div>
@@ -4068,7 +4166,7 @@ state. Possible returned values are:
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3642">line 3642</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3644">line 3644</a>
</div>
</div>
@@ -4170,7 +4268,7 @@ translated string.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3662">line 3662</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3664">line 3664</a>
</div>
</div>
@@ -4271,7 +4369,7 @@ information.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3864">line 3864</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3866">line 3866</a>
</div>
</div>
@@ -4372,7 +4470,7 @@ with this network.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3894">line 3894</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3896">line 3896</a>
</div>
</div>
@@ -4478,7 +4576,7 @@ is not available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3499">line 3499</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3501">line 3501</a>
</div>
</div>
@@ -4581,7 +4679,7 @@ is not available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3910">line 3910</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3912">line 3912</a>
</div>
</div>
@@ -4685,7 +4783,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#line3943">line 3943</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3945">line 3945</a>
</div>
</div>
@@ -4786,7 +4884,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#line4089">line 4089</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4091">line 4091</a>
</div>
</div>
@@ -4887,7 +4985,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#line3876">line 3876</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3878">line 3878</a>
</div>
</div>
@@ -4992,7 +5090,7 @@ available.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4037">line 4037</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4039">line 4039</a>
</div>
</div>
@@ -5095,7 +5193,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#line3524">line 3524</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3526">line 3526</a>
</div>
</div>
@@ -5198,7 +5296,7 @@ radio and network index numbers.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3546">line 3546</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3548">line 3548</a>
</div>
</div>
@@ -5303,7 +5401,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#line3486">line 3486</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3488">line 3488</a>
</div>
</div>
@@ -5407,7 +5505,7 @@ is not in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3461">line 3461</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3463">line 3463</a>
</div>
</div>
@@ -5514,7 +5612,7 @@ is not in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3534">line 3534</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3536">line 3536</a>
</div>
</div>
@@ -5614,7 +5712,7 @@ is not in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4053">line 4053</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4055">line 4055</a>
</div>
</div>
@@ -5719,7 +5817,7 @@ interface.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3510">line 3510</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3512">line 3512</a>
</div>
</div>
@@ -5820,7 +5918,7 @@ attached to.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line4064">line 4064</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4066">line 4066</a>
</div>
</div>
@@ -5921,7 +6019,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#line3932">line 3932</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3934">line 3934</a>
</div>
</div>
@@ -6022,7 +6120,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#line4022">line 4022</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4024">line 4024</a>
</div>
</div>
@@ -6124,7 +6222,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#line3921">line 3921</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3923">line 3923</a>
</div>
</div>
@@ -6228,7 +6326,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#line3981">line 3981</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3983">line 3983</a>
</div>
</div>
@@ -6331,7 +6429,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#line4004">line 4004</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4006">line 4006</a>
</div>
</div>
@@ -6433,7 +6531,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#line3472">line 3472</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3474">line 3474</a>
</div>
</div>
@@ -6537,7 +6635,7 @@ in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3954">line 3954</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3956">line 3956</a>
</div>
</div>
@@ -6641,7 +6739,7 @@ in mesh mode.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3969">line 3969</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3971">line 3971</a>
</div>
</div>
@@ -6745,7 +6843,7 @@ cannot be determined.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3574">line 3574</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3576">line 3576</a>
</div>
</div>
@@ -6850,7 +6948,7 @@ found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3562">line 3562</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3564">line 3564</a>
</div>
</div>
@@ -6954,7 +7052,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#line4100">line 4100</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line4102">line 4102</a>
</div>
</div>
@@ -7055,7 +7153,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#line3446">line 3446</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3448">line 3448</a>
</div>
</div>
@@ -7157,7 +7255,7 @@ UCI configuration.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3595">line 3595</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3597">line 3597</a>
</div>
</div>
@@ -7262,7 +7360,7 @@ instance.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line3434">line 3434</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line3436">line 3436</a>
</div>
</div>
@@ -7416,7 +7514,7 @@ configuration.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.network.html b/docs/jsapi/LuCI.network.html
index 40bceb966..735906ea6 100644
--- a/docs/jsapi/LuCI.network.html
+++ b/docs/jsapi/LuCI.network.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3245,7 +3343,7 @@ current configuration details and to manipulate settings.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line636">line 636</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line638">line 638</a>
</div>
</div>
@@ -3349,7 +3447,7 @@ current configuration details and to manipulate settings.</p></div>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line904">line 904</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line906">line 906</a>
</div>
</div>
@@ -3536,7 +3634,7 @@ existed.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1362">line 1362</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1364">line 1364</a>
</div>
</div>
@@ -3686,7 +3784,7 @@ were invalid or if the associated radio device could not be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line982">line 982</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line984">line 984</a>
</div>
</div>
@@ -3834,7 +3932,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#line1400">line 1400</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1402">line 1402</a>
</div>
</div>
@@ -3984,7 +4082,7 @@ be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line748">line 748</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line750">line 750</a>
</div>
</div>
@@ -4085,7 +4183,7 @@ from the remote <code>ubus</code> apis.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line739">line 739</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line741">line 741</a>
</div>
</div>
@@ -4236,7 +4334,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#line1113">line 1113</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1115">line 1115</a>
</div>
</div>
@@ -4384,7 +4482,7 @@ be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1136">line 1136</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1138">line 1138</a>
</div>
</div>
@@ -4485,7 +4583,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#line1662">line 1662</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1664">line 1664</a>
</div>
</div>
@@ -4586,7 +4684,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#line1679">line 1679</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1681">line 1681</a>
</div>
</div>
@@ -4690,7 +4788,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#line1651">line 1651</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1653">line 1653</a>
</div>
</div>
@@ -4851,7 +4949,7 @@ object could not be converted to a name.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line941">line 941</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line943">line 943</a>
</div>
</div>
@@ -4999,7 +5097,7 @@ the network or <code>null</code> if the network did not exist.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line966">line 966</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line968">line 968</a>
</div>
</div>
@@ -5101,7 +5199,7 @@ describing all known networks.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line770">line 770</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line772">line 772</a>
</div>
</div>
@@ -5301,7 +5399,7 @@ protocol isn't known.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line785">line 785</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line787">line 787</a>
</div>
</div>
@@ -5402,7 +5500,7 @@ backend classes.</p>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1556">line 1556</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1558">line 1558</a>
</div>
</div>
@@ -5506,7 +5604,7 @@ the layout.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1507">line 1507</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1509">line 1509</a>
</div>
</div>
@@ -5609,7 +5707,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#line1482">line 1482</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1484">line 1484</a>
</div>
</div>
@@ -5712,7 +5810,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#line1269">line 1269</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1271">line 1271</a>
</div>
</div>
@@ -5861,7 +5959,7 @@ be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1289">line 1289</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1291">line 1291</a>
</div>
</div>
@@ -5964,7 +6062,7 @@ the configuration.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1318">line 1318</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1320">line 1320</a>
</div>
</div>
@@ -6115,7 +6213,7 @@ be found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1332">line 1332</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1334">line 1334</a>
</div>
</div>
@@ -6218,7 +6316,7 @@ are found.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1252">line 1252</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1254">line 1254</a>
</div>
</div>
@@ -6368,7 +6466,7 @@ else returns <code>false</code>.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line684">line 684</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line686">line 686</a>
</div>
</div>
@@ -6565,7 +6663,7 @@ if the given netmask value was invalid.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line666">line 666</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line668">line 668</a>
</div>
</div>
@@ -6763,7 +6861,7 @@ value of <code>32</code> for IPv4 or <code>128</code> for IPv6.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line873">line 873</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line875">line 875</a>
</div>
</div>
@@ -6935,7 +7033,7 @@ description for the given code.</td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line853">line 853</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line855">line 855</a>
</div>
</div>
@@ -7053,7 +7151,7 @@ such as <code>6in4-wan</code> or <code>tun0</code>.</p></td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line812">line 812</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line814">line 814</a>
</div>
</div>
@@ -7226,7 +7324,7 @@ be passed to <code>Class.extend()</code>.</p></td>
<div class="tag-source">
- <a href="network.js.html">network.js</a>, <a href="network.js.html#line1052">line 1052</a>
+ <a href="network.js.html">network.js</a>, <a href="network.js.html#line1054">line 1054</a>
</div>
</div>
@@ -9271,7 +9369,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.poll.html b/docs/jsapi/LuCI.poll.html
index 98a21d884..c895c5dd2 100644
--- a/docs/jsapi/LuCI.poll.html
+++ b/docs/jsapi/LuCI.poll.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ loop.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1036">line 1036</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1038">line 1038</a>
</div>
</div>
@@ -3329,7 +3427,7 @@ loop.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1197">line 1197</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1199">line 1199</a>
</div>
</div>
@@ -3431,7 +3529,7 @@ loop.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1070">line 1070</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1072">line 1072</a>
</div>
</div>
@@ -3628,7 +3726,7 @@ already is registered.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1111">line 1111</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1113">line 1113</a>
</div>
</div>
@@ -3802,7 +3900,7 @@ wasn't found.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1137">line 1137</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1139">line 1139</a>
</div>
</div>
@@ -3904,7 +4002,7 @@ where registered) or <code>false</code> when the polling loop already runs.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1162">line 1162</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1164">line 1164</a>
</div>
</div>
@@ -4014,7 +4112,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.request.html b/docs/jsapi/LuCI.request.html
index a02440505..97042f805 100644
--- a/docs/jsapi/LuCI.request.html
+++ b/docs/jsapi/LuCI.request.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,7 @@ for dealing with responses.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line602">line 602</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line604">line 604</a>
</div>
</div>
@@ -3335,7 +3433,7 @@ for dealing with responses.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line891">line 891</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line893">line 893</a>
</div>
</div>
@@ -3483,7 +3581,7 @@ implementing request retries before returning a failure.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line628">line 628</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line630">line 630</a>
</div>
</div>
@@ -3629,7 +3727,7 @@ if it already was absolute.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line844">line 844</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line846">line 846</a>
</div>
</div>
@@ -3809,7 +3907,7 @@ if it already was absolute.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line865">line 865</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line867">line 867</a>
</div>
</div>
@@ -4019,7 +4117,7 @@ if it already was absolute.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line910">line 910</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line912">line 912</a>
</div>
</div>
@@ -4166,7 +4264,7 @@ function.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line695">line 695</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line697">line 697</a>
</div>
</div>
@@ -4352,7 +4450,7 @@ function.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line869">line 869</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line871">line 871</a>
</div>
</div>
@@ -4949,7 +5047,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 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 b9daf507e..e0fb11b02 100644
--- a/docs/jsapi/LuCI.request.poll.html
+++ b/docs/jsapi/LuCI.request.poll.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ request calls as polling functions.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line928">line 928</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line930">line 930</a>
</div>
</div>
@@ -3329,7 +3427,7 @@ request calls as polling functions.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1032">line 1032</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1034">line 1034</a>
</div>
</div>
@@ -3400,7 +3498,7 @@ request calls as polling functions.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line971">line 971</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line973">line 973</a>
</div>
</div>
@@ -3667,7 +3765,7 @@ invoke for each HTTP reply.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1008">line 1008</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1010">line 1010</a>
</div>
</div>
@@ -3814,7 +3912,7 @@ This function is essentially a wrapper around
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1016">line 1016</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1018">line 1018</a>
</div>
</div>
@@ -3885,7 +3983,7 @@ This function is essentially a wrapper around
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1024">line 1024</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1026">line 1026</a>
</div>
</div>
@@ -3962,7 +4060,7 @@ This function is essentially a wrapper around
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line929">line 929</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line931">line 931</a>
</div>
</div>
@@ -4133,7 +4231,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.response.html b/docs/jsapi/LuCI.response.html
index f0f821f32..c6c2a37e2 100644
--- a/docs/jsapi/LuCI.response.html
+++ b/docs/jsapi/LuCI.response.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3242,7 +3340,7 @@
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line384">line 384</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line386">line 386</a>
</div>
</div>
@@ -3601,7 +3699,7 @@
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line546">line 546</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line548">line 548</a>
</div>
</div>
@@ -3701,7 +3799,7 @@
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line495">line 495</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line497">line 497</a>
</div>
</div>
@@ -3856,7 +3954,7 @@ using <code>String()</code> and treated as response text.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line516">line 516</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line518">line 518</a>
</div>
</div>
@@ -3983,7 +4081,7 @@ using <code>String()</code> and treated as response text.</p></td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line531">line 531</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line533">line 533</a>
</div>
</div>
@@ -4091,7 +4189,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.rpc.html b/docs/jsapi/LuCI.rpc.html
index b3d5f4a6f..901518290 100644
--- a/docs/jsapi/LuCI.rpc.html
+++ b/docs/jsapi/LuCI.rpc.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3328,7 +3426,7 @@ and means for listing and invoking remove RPC methods.</p></div>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line456">line 456</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line465">line 465</a>
</div>
</div>
@@ -3473,7 +3571,7 @@ and means for listing and invoking remove RPC methods.</p></div>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line294">line 294</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line302">line 302</a>
</div>
</div>
@@ -3621,7 +3719,7 @@ signatures of each given object.</p></td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line369">line 369</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line378">line 378</a>
</div>
</div>
@@ -3721,7 +3819,7 @@ signatures of each given object.</p></td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line348">line 348</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line357">line 357</a>
</div>
</div>
@@ -3822,7 +3920,7 @@ requests.</td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line393">line 393</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line402">line 402</a>
</div>
</div>
@@ -3968,7 +4066,7 @@ description.</p>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line142">line 142</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line146">line 146</a>
</div>
</div>
@@ -4135,7 +4233,7 @@ signatures of each requested <code>ubus</code> object name will be returned.</td
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line472">line 472</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line481">line 481</a>
</div>
</div>
@@ -4281,7 +4379,7 @@ if it has not been found.</td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line379">line 379</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line388">line 388</a>
</div>
</div>
@@ -4397,7 +4495,7 @@ if it has not been found.</td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line359">line 359</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line368">line 368</a>
</div>
</div>
@@ -4543,6 +4641,8 @@ requests.</p></td>
+ <th>Default</th>
+
<th class="last">Description</th>
</tr>
@@ -4574,6 +4674,10 @@ requests.</p></td>
+ <td class="default">
+
+ </td>
+
<td class="description last"><p>The name of the remote <code>ubus</code> object to invoke.</p></td>
</tr>
@@ -4603,6 +4707,10 @@ requests.</p></td>
+ <td class="default">
+
+ </td>
+
<td class="description last"><p>The name of the remote <code>ubus</code> method to invoke.</p></td>
</tr>
@@ -4634,6 +4742,10 @@ requests.</p></td>
+ <td class="default">
+
+ </td>
+
<td class="description last"><p>Lists the named parameters expected by the remote <code>ubus</code> RPC method.
The arguments passed to the resulting generated method call function
@@ -4683,6 +4795,10 @@ invoked with <code>filterFn(reply, [ &quot;foo&quot; ], &quot;bar&quot;, &quot;b
+ <td class="default">
+
+ </td>
+
<td class="description last"><p>Describes the expected return data structure. The given object is
supposed to contain a single key selecting the value to use from
@@ -4743,12 +4859,55 @@ be returned as default instead.</li>
+ <td class="default">
+
+ </td>
+
<td class="description last"><p>Specfies an optional filter function which is invoked to transform the
received reply data before it is returned to the caller.</p></td>
</tr>
+
+ <tr>
+
+ <td class="name"><code>reject</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>If set to <code>true</code>, non-zero ubus call status codes are treated as fatal
+error and lead to the rejection of the call promise. The default
+behaviour is to resolve with the call return code value instead.</p></td>
+ </tr>
+
+
</tbody>
</table></dl>
@@ -4790,7 +4949,7 @@ received reply data before it is returned to the caller.</p></td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line233">line 233</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line241">line 241</a>
</div>
</div>
@@ -5003,7 +5162,7 @@ of the RPC method as-is.</td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line410">line 410</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line419">line 419</a>
</div>
</div>
@@ -5191,7 +5350,7 @@ function will fail too, forwarding the error to the caller.</td>
<div class="tag-source">
- <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line256">line 256</a>
+ <a href="rpc.js.html">rpc.js</a>, <a href="rpc.js.html#line264">line 264</a>
</div>
</div>
@@ -5361,7 +5520,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.uci.html b/docs/jsapi/LuCI.uci.html
index 898a52c5f..e103e74f4 100644
--- a/docs/jsapi/LuCI.uci.html
+++ b/docs/jsapi/LuCI.uci.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3330,7 +3428,7 @@ UCI configuration data.</p></div>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line270">line 270</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line276">line 276</a>
</div>
</div>
@@ -3541,7 +3639,7 @@ to the given name for non-anonymous sections.</td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line859">line 859</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line869">line 869</a>
</div>
</div>
@@ -3703,7 +3801,7 @@ operation to cancel the rollback timer.</p>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line939">line 939</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line949">line 949</a>
</div>
</div>
@@ -3804,7 +3902,7 @@ names as keys and arrays of related change records as values.</td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line89">line 89</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line95">line 95</a>
</div>
</div>
@@ -3953,7 +4051,7 @@ where <code>X</code> denotes a hexadecimal digit.</td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line444">line 444</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line450">line 450</a>
</div>
</div>
@@ -4182,7 +4280,7 @@ found or if the corresponding configuration is not loaded.</li>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line619">line 619</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line629">line 629</a>
</div>
</div>
@@ -4415,7 +4513,7 @@ found or if the corresponding configuration is not loaded.</li>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line206">line 206</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line212">line 212</a>
</div>
</div>
@@ -4570,7 +4668,7 @@ that have been successfully loaded.</td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line719">line 719</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line729">line 729</a>
</div>
</div>
@@ -4839,7 +4937,7 @@ when either the section specified by <code>sid1</code> or by <code>sid2</code> i
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line297">line 297</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line303">line 303</a>
</div>
</div>
@@ -4978,7 +5076,7 @@ when either the section specified by <code>sid1</code> or by <code>sid2</code> i
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line120">line 120</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line126">line 126</a>
</div>
</div>
@@ -5156,7 +5254,7 @@ not be resolved to existing section ID.</td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line773">line 773</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line783">line 783</a>
</div>
</div>
@@ -5260,7 +5358,7 @@ have been reloaded by the save operation.</td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line385">line 385</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line391">line 391</a>
</div>
</div>
@@ -5473,7 +5571,7 @@ configuration, filtered by type of a type has been specified.</td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line517">line 517</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line523">line 523</a>
</div>
</div>
@@ -5669,7 +5767,7 @@ with the given value.</p></td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line654">line 654</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line664">line 664</a>
</div>
</div>
@@ -5890,7 +5988,7 @@ with the given value.</p></td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line238">line 238</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line244">line 244</a>
</div>
</div>
@@ -6010,7 +6108,7 @@ names to unload.</p></td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line588">line 588</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line598">line 598</a>
</div>
</div>
@@ -6175,7 +6273,7 @@ configuration.</p>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line684">line 684</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line694">line 694</a>
</div>
</div>
@@ -6762,7 +6860,7 @@ underlying option is an UCI list.</p></td>
<div class="tag-source">
- <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line353">line 353</a>
+ <a href="uci.js.html">uci.js</a>, <a href="uci.js.html#line359">line 359</a>
</div>
</div>
@@ -6909,7 +7007,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 Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 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
index 5e7847df3..320fb565f 100644
--- a/docs/jsapi/LuCI.ui.AbstractElement.html
+++ b/docs/jsapi/LuCI.ui.AbstractElement.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3252,7 +3350,7 @@ it in external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line16">line 16</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line17">line 17</a>
</div>
</div>
@@ -3337,7 +3435,7 @@ it in external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line75">line 75</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line81">line 81</a>
</div>
</div>
@@ -3446,7 +3544,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3547,7 +3645,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -3717,7 +3815,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line243">line 243</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line249">line 249</a>
</div>
</div>
@@ -3818,7 +3916,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -3975,7 +4073,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4130,7 +4228,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line93">line 93</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line99">line 99</a>
</div>
</div>
@@ -4255,7 +4353,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4553,6 +4651,45 @@ converted to a string and treated as validation error message.</p></td>
</tr>
+
+ <tr>
+
+ <td class="name"><code>disabled</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 widget should be rendered in disabled state
+(<code>true</code>) or not (<code>false</code>). Disabled widgets cannot be interacted with
+and are displayed in a slightly faded style.</p></td>
+ </tr>
+
+
</tbody>
</table></dl>
@@ -4600,7 +4737,7 @@ converted to a string and treated as validation error message.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.Checkbox.html b/docs/jsapi/LuCI.ui.Checkbox.html
index b27a45b4c..307a47b19 100644
--- a/docs/jsapi/LuCI.ui.Checkbox.html
+++ b/docs/jsapi/LuCI.ui.Checkbox.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3249,7 +3347,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line486">line 486</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line494">line 494</a>
</div>
</div>
@@ -3440,7 +3538,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line593">line 593</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line602">line 602</a>
</div>
</div>
@@ -3549,7 +3647,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line588">line 588</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line597">line 597</a>
</div>
</div>
@@ -3651,7 +3749,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3754,7 +3852,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -3926,7 +4024,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line540">line 540</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line548">line 548</a>
</div>
</div>
@@ -4029,7 +4127,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4188,7 +4286,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4345,7 +4443,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line600">line 600</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line609">line 609</a>
</div>
</div>
@@ -4472,7 +4570,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4747,7 +4845,7 @@ it is required for HTML based form submissions.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.ComboButton.html b/docs/jsapi/LuCI.ui.ComboButton.html
index 2352aa58b..3031037cc 100644
--- a/docs/jsapi/LuCI.ui.ComboButton.html
+++ b/docs/jsapi/LuCI.ui.ComboButton.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3250,7 +3348,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1929">line 1929</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1941">line 1941</a>
</div>
</div>
@@ -3478,7 +3576,7 @@ choice labels.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1606">line 1606</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1618">line 1618</a>
</div>
</div>
@@ -3624,7 +3722,7 @@ as label text. Choice labels may be any valid value accepted by
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1571">line 1571</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1583">line 1583</a>
</div>
</div>
@@ -3761,7 +3859,7 @@ of keeping them.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1639">line 1639</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1651">line 1651</a>
</div>
</div>
@@ -3834,7 +3932,7 @@ of keeping them.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3937,7 +4035,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -4109,7 +4207,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4268,7 +4366,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4425,7 +4523,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4777,7 +4875,7 @@ choice value as second argument.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.Combobox.html b/docs/jsapi/LuCI.ui.Combobox.html
index 7baa7e2c0..30280f12e 100644
--- a/docs/jsapi/LuCI.ui.Combobox.html
+++ b/docs/jsapi/LuCI.ui.Combobox.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3252,7 +3350,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1860">line 1860</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1872">line 1872</a>
</div>
</div>
@@ -3480,7 +3578,7 @@ choice labels.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1606">line 1606</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1618">line 1618</a>
</div>
</div>
@@ -3626,7 +3724,7 @@ as label text. Choice labels may be any valid value accepted by
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1571">line 1571</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1583">line 1583</a>
</div>
</div>
@@ -3763,7 +3861,7 @@ of keeping them.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1639">line 1639</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1651">line 1651</a>
</div>
</div>
@@ -3836,7 +3934,7 @@ of keeping them.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3939,7 +4037,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -4111,7 +4209,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4270,7 +4368,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4427,7 +4525,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4680,7 +4778,7 @@ forcibly set to <code>true</code>.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.Dropdown.html b/docs/jsapi/LuCI.ui.Dropdown.html
index f5898d37b..a157c38d5 100644
--- a/docs/jsapi/LuCI.ui.Dropdown.html
+++ b/docs/jsapi/LuCI.ui.Dropdown.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3250,7 +3348,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line806">line 806</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line817">line 817</a>
</div>
</div>
@@ -3476,7 +3574,7 @@ choice labels.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1606">line 1606</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1618">line 1618</a>
</div>
</div>
@@ -3620,7 +3718,7 @@ as label text. Choice labels may be any valid value accepted by
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1571">line 1571</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1583">line 1583</a>
</div>
</div>
@@ -3755,7 +3853,7 @@ of keeping them.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1639">line 1639</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1651">line 1651</a>
</div>
</div>
@@ -3828,7 +3926,7 @@ of keeping them.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1848">line 1848</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1860">line 1860</a>
</div>
</div>
@@ -3939,7 +4037,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -4042,7 +4140,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -4214,7 +4312,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line960">line 960</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line971">line 971</a>
</div>
</div>
@@ -4317,7 +4415,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4476,7 +4574,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4633,7 +4731,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1821">line 1821</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line1833">line 1833</a>
</div>
</div>
@@ -4760,7 +4858,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -5478,7 +5576,7 @@ expression. Only applicable when <code>create</code> is <code>true</code>.</p></
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.DynamicList.html b/docs/jsapi/LuCI.ui.DynamicList.html
index 11b6f6332..12fa533b3 100644
--- a/docs/jsapi/LuCI.ui.DynamicList.html
+++ b/docs/jsapi/LuCI.ui.DynamicList.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3251,7 +3349,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2045">line 2045</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2057">line 2057</a>
</div>
</div>
@@ -3481,7 +3579,7 @@ arbitrary values to the dynamic list.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2377">line 2377</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2394">line 2394</a>
</div>
</div>
@@ -3625,7 +3723,7 @@ as label text. Choice labels may be any valid value accepted by
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2390">line 2390</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2407">line 2407</a>
</div>
</div>
@@ -3699,7 +3797,7 @@ as label text. Choice labels may be any valid value accepted by
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2328">line 2328</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2345">line 2345</a>
</div>
</div>
@@ -3810,7 +3908,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3913,7 +4011,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -4085,7 +4183,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2114">line 2114</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2126">line 2126</a>
</div>
</div>
@@ -4188,7 +4286,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4347,7 +4445,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4504,7 +4602,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2345">line 2345</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2362">line 2362</a>
</div>
</div>
@@ -4631,7 +4729,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4855,7 +4953,7 @@ it to remain unselected.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.FileUpload.html b/docs/jsapi/LuCI.ui.FileUpload.html
index d66ecde64..bb84aafec 100644
--- a/docs/jsapi/LuCI.ui.FileUpload.html
+++ b/docs/jsapi/LuCI.ui.FileUpload.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3250,7 +3348,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2462">line 2462</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2479">line 2479</a>
</div>
</div>
@@ -3445,7 +3543,7 @@ upload control.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2919">line 2919</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2937">line 2937</a>
</div>
</div>
@@ -3556,7 +3654,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3659,7 +3757,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -3831,7 +3929,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2548">line 2548</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2565">line 2565</a>
</div>
</div>
@@ -3934,7 +4032,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4093,7 +4191,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4250,7 +4348,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2924">line 2924</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2942">line 2942</a>
</div>
</div>
@@ -4377,7 +4475,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4704,7 +4802,7 @@ ACL setup for the current session.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.Hiddenfield.html b/docs/jsapi/LuCI.ui.Hiddenfield.html
index 6e8733d70..a8130359d 100644
--- a/docs/jsapi/LuCI.ui.Hiddenfield.html
+++ b/docs/jsapi/LuCI.ui.Hiddenfield.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3250,7 +3348,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2396">line 2396</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2413">line 2413</a>
</div>
</div>
@@ -3444,7 +3542,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2452">line 2452</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2469">line 2469</a>
</div>
</div>
@@ -3555,7 +3653,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3658,7 +3756,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -3830,7 +3928,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2432">line 2432</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2449">line 2449</a>
</div>
</div>
@@ -3933,7 +4031,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4092,7 +4190,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4249,7 +4347,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2457">line 2457</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2474">line 2474</a>
</div>
</div>
@@ -4376,7 +4474,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4458,7 +4556,7 @@ trigger validation runs, e.g. when programmatically altering values.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.Select.html b/docs/jsapi/LuCI.ui.Select.html
index b6c867686..6de142fb6 100644
--- a/docs/jsapi/LuCI.ui.Select.html
+++ b/docs/jsapi/LuCI.ui.Select.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3251,7 +3349,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line605">line 605</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line614">line 614</a>
</div>
</div>
@@ -3479,7 +3577,7 @@ choice labels.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line776">line 776</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line787">line 787</a>
</div>
</div>
@@ -3590,7 +3688,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3693,7 +3791,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -3865,7 +3963,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line696">line 696</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line705">line 705</a>
</div>
</div>
@@ -3968,7 +4066,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4127,7 +4225,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4284,7 +4382,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line789">line 789</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line800">line 800</a>
</div>
</div>
@@ -4411,7 +4509,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4807,7 +4905,7 @@ selected yet. Only applicable to the <code>select</code> widget type.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.Textarea.html b/docs/jsapi/LuCI.ui.Textarea.html
index a39cc8298..0f383fbdd 100644
--- a/docs/jsapi/LuCI.ui.Textarea.html
+++ b/docs/jsapi/LuCI.ui.Textarea.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3249,7 +3347,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line372">line 372</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line379">line 379</a>
</div>
</div>
@@ -3440,7 +3538,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line476">line 476</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line484">line 484</a>
</div>
</div>
@@ -3551,7 +3649,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3654,7 +3752,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -3826,7 +3924,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line439">line 439</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line446">line 446</a>
</div>
</div>
@@ -3929,7 +4027,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4088,7 +4186,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4245,7 +4343,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line481">line 481</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line489">line 489</a>
</div>
</div>
@@ -4372,7 +4470,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4756,7 +4854,7 @@ contents.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.Textfield.html b/docs/jsapi/LuCI.ui.Textfield.html
index 2e87514e2..d3657a8c9 100644
--- a/docs/jsapi/LuCI.ui.Textfield.html
+++ b/docs/jsapi/LuCI.ui.Textfield.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3249,7 +3347,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line246">line 246</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line252">line 252</a>
</div>
</div>
@@ -3440,7 +3538,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line360">line 360</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line367">line 367</a>
</div>
</div>
@@ -3551,7 +3649,7 @@ an array of strings or <code>null</code> for unset values.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line107">line 107</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line113">line 113</a>
</div>
</div>
@@ -3654,7 +3752,7 @@ not meet the validation constraints.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line156">line 156</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line162">line 162</a>
</div>
</div>
@@ -3826,7 +3924,7 @@ registered.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line305">line 305</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line311">line 311</a>
</div>
</div>
@@ -3929,7 +4027,7 @@ widget markup.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line224">line 224</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line230">line 230</a>
</div>
</div>
@@ -4088,7 +4186,7 @@ as dirty.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line181">line 181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line187">line 187</a>
</div>
</div>
@@ -4245,7 +4343,7 @@ trigger input value validation.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line366">line 366</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line373">line 373</a>
</div>
</div>
@@ -4372,7 +4470,7 @@ or <code>null</code> values.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line121">line 121</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line127">line 127</a>
</div>
</div>
@@ -4684,7 +4782,7 @@ corresponding <code>&lt;input&gt;</code> element is empty.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.changes.html b/docs/jsapi/LuCI.ui.changes.html
index ceb09d6a2..37c3aeb76 100644
--- a/docs/jsapi/LuCI.ui.changes.html
+++ b/docs/jsapi/LuCI.ui.changes.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3247,7 +3345,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3765">line 3765</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3854">line 3854</a>
</div>
</div>
@@ -3332,7 +3430,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4080">line 4080</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4156">line 4156</a>
</div>
</div>
@@ -3473,7 +3571,7 @@ settings.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3855">line 3855</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3931">line 3931</a>
</div>
</div>
@@ -3546,7 +3644,7 @@ and offer options to revert or apply the shown changes.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3821">line 3821</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3897">line 3897</a>
</div>
</div>
@@ -3664,7 +3762,7 @@ UCI changeset structure.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4127">line 4127</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4203">line 4203</a>
</div>
</div>
@@ -3740,7 +3838,7 @@ complete.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3786">line 3786</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3875">line 3875</a>
</div>
</div>
@@ -3868,7 +3966,7 @@ is removed.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.html b/docs/jsapi/LuCI.ui.html
index 1d21b68f6..39222a14f 100644
--- a/docs/jsapi/LuCI.ui.html
+++ b/docs/jsapi/LuCI.ui.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code>.</p></
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2929">line 2929</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3025">line 3025</a>
</div>
</div>
@@ -3340,6 +3438,9 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code>.</p></
<dt><a href="LuCI.ui.Hiddenfield.html">Hiddenfield</a></dt>
<dd></dd>
+ <dt><a href="LuCI.ui.menu.html">menu</a></dt>
+ <dd></dd>
+
<dt><a href="LuCI.ui.Select.html">Select</a></dt>
<dd></dd>
@@ -3372,7 +3473,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code>.</p></
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3109">line 3109</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3205">line 3205</a>
</div>
</div>
@@ -3602,7 +3703,7 @@ banner element.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4195">line 4195</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4271">line 4271</a>
</div>
</div>
@@ -3916,7 +4017,7 @@ trigger field validation or to bind it to further events.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3729">line 3729</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3818">line 3818</a>
</div>
</div>
@@ -4053,7 +4154,7 @@ default.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4246">line 4246</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4322">line 4322</a>
</div>
</div>
@@ -4279,7 +4380,7 @@ valid function value.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3218">line 3218</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3314">line 3314</a>
</div>
</div>
@@ -4427,7 +4528,7 @@ requested indicator was not found.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3020">line 3020</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3116">line 3116</a>
</div>
</div>
@@ -4503,7 +4604,7 @@ handler as-is without the need to bind it first.</p>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4289">line 4289</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line4365">line 4365</a>
</div>
</div>
@@ -4655,7 +4756,7 @@ catched and rendered using <a href="LuCI.html#error"><code>LuCI.error()</code></
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3261">line 3261</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3357">line 3357</a>
</div>
</div>
@@ -4897,7 +4998,7 @@ accepted by <code>LuCI.dom.content()</code>.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3703">line 3703</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3792">line 3792</a>
</div>
</div>
@@ -5100,7 +5201,7 @@ or rejecting with <code>null</code> when the connectivity check timed out.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3181">line 3181</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3277">line 3277</a>
</div>
</div>
@@ -5371,7 +5472,7 @@ changes were made.</td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line2994">line 2994</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3090">line 3090</a>
</div>
</div>
@@ -5600,7 +5701,7 @@ element.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3581">line 3581</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3670">line 3670</a>
</div>
</div>
@@ -5958,7 +6059,7 @@ cancelled by the user.</td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.ui.tabs.html b/docs/jsapi/LuCI.ui.tabs.html
index 88279f346..fac9caf10 100644
--- a/docs/jsapi/LuCI.ui.tabs.html
+++ b/docs/jsapi/LuCI.ui.tabs.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3248,7 +3346,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3302">line 3302</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3398">line 3398</a>
</div>
</div>
@@ -3333,7 +3431,7 @@ external JavaScript, use <code>L.require(&quot;ui&quot;).then(...)</code> and ac
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3357">line 3357</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3453">line 3453</a>
</div>
</div>
@@ -3462,7 +3560,7 @@ DOM node.</p></td>
<div class="tag-source">
- <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3427">line 3427</a>
+ <a href="ui.js.html">ui.js</a>, <a href="ui.js.html#line3523">line 3523</a>
</div>
</div>
@@ -3615,7 +3713,7 @@ DOM node.</p></td>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.view.html b/docs/jsapi/LuCI.view.html
index 2ea583ebb..dbf81e9d8 100644
--- a/docs/jsapi/LuCI.view.html
+++ b/docs/jsapi/LuCI.view.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3243,7 +3341,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#line1826">line 1826</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1923">line 1923</a>
</div>
</div>
@@ -3328,7 +3426,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#line2053">line 2053</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2150">line 2150</a>
</div>
</div>
@@ -3441,7 +3539,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#line2019">line 2019</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2116">line 2116</a>
</div>
</div>
@@ -3605,7 +3703,7 @@ is reenabled.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1938">line 1938</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2035">line 2035</a>
</div>
</div>
@@ -3769,7 +3867,7 @@ is reenabled.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1982">line 1982</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2079">line 2079</a>
</div>
</div>
@@ -3935,7 +4033,7 @@ is reenabled.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1873">line 1873</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1970">line 1970</a>
</div>
</div>
@@ -4045,7 +4143,7 @@ the default implementation does nothing.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line1905">line 1905</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line2002">line 2002</a>
</div>
</div>
@@ -4219,7 +4317,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 Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/LuCI.xhr.html b/docs/jsapi/LuCI.xhr.html
index 873d691c0..99c01420d 100644
--- a/docs/jsapi/LuCI.xhr.html
+++ b/docs/jsapi/LuCI.xhr.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3246,7 +3344,7 @@ request handling.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3068">line 3068</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3255">line 3255</a>
</div>
</div>
@@ -3333,7 +3431,7 @@ request handling.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3184">line 3184</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3371">line 3371</a>
</div>
</div>
@@ -3407,7 +3505,7 @@ request handling.</p></div>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3173">line 3173</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3360">line 3360</a>
</div>
</div>
@@ -3510,7 +3608,7 @@ already completed.</td>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3160">line 3160</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3347">line 3347</a>
</div>
</div>
@@ -3587,7 +3685,7 @@ finishes or timed out.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3116">line 3116</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3303">line 3303</a>
</div>
</div>
@@ -3830,7 +3928,7 @@ finishes or timed out.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3143">line 3143</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3330">line 3330</a>
</div>
</div>
@@ -4073,7 +4171,7 @@ finishes or timed out.</p>
<div class="tag-source">
- <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3199">line 3199</a>
+ <a href="luci.js.html">luci.js</a>, <a href="luci.js.html#line3386">line 3386</a>
</div>
</div>
@@ -4183,7 +4281,7 @@ when invoked.</p>
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:41 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/form.js.html b/docs/jsapi/form.js.html
index 258b4897c..4b90165db 100644
--- a/docs/jsapi/form.js.html
+++ b/docs/jsapi/form.js.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3219,11 +3317,19 @@
<pre id="source-code" class="prettyprint source "><code>'use strict';
'require ui';
'require uci';
+'require rpc';
'require dom';
'require baseclass';
var scope = this;
+var callSessionAccess = rpc.declare({
+ object: 'session',
+ method: 'access',
+ params: [ 'scope', 'object', 'function' ],
+ expect: { 'access': false }
+});
+
var CBIJSONConfig = baseclass.extend({
__init__: function(data) {
data = Object.assign({}, data);
@@ -3582,6 +3688,20 @@ var CBIMap = CBIAbstractElement.extend(/** @lends LuCI.form.Map.prototype */ {
},
/**
+ * Toggle readonly state of the form.
+ *
+ * If set to `true`, the Map instance is marked readonly and any form
+ * option elements added to it will inherit the readonly state.
+ *
+ * If left unset, the Map will test the access permission of the primary
+ * uci configuration upon loading and mark the form readonly if no write
+ * permissions are granted.
+ *
+ * @name LuCI.form.Map.prototype#readonly
+ * @type boolean
+ */
+
+ /**
* Find all DOM nodes within this Map which match the given search
* parameters. This function is essentially a convenience wrapper around
* `querySelectorAll()`.
@@ -3727,8 +3847,17 @@ var CBIMap = CBIAbstractElement.extend(/** @lends LuCI.form.Map.prototype */ {
* an error.
*/
load: function() {
- return this.data.load(this.parsechain || [ this.config ])
- .then(this.loadChildren.bind(this));
+ var doCheckACL = (!(this instanceof CBIJSONMap) &amp;&amp; this.readonly == null);
+
+ return Promise.all([
+ doCheckACL ? callSessionAccess('uci', this.config, 'write') : true,
+ this.data.load(this.parsechain || [ this.config ])
+ ]).then(L.bind(function(res) {
+ if (res[0] === false)
+ this.readonly = true;
+
+ return this.loadChildren();
+ }, this));
},
/**
@@ -3782,11 +3911,18 @@ var CBIMap = CBIAbstractElement.extend(/** @lends LuCI.form.Map.prototype */ {
.then(this.data.save.bind(this.data))
.then(this.load.bind(this))
.catch(function(e) {
- if (!silent)
- alert('Cannot save due to invalid values');
+ if (!silent) {
+ ui.showModal(_('Save error'), [
+ E('p', {}, [ _('An error occurred while saving the form:') ]),
+ E('p', {}, [ E('em', { 'style': 'white-space:pre' }, [ e.message ]) ]),
+ E('div', { 'class': 'right' }, [
+ E('button', { 'click': ui.hideModal }, [ _('Dismiss') ])
+ ])
+ ]);
+ }
- return Promise.reject();
- }).finally(this.renderContents.bind(this));
+ return Promise.reject(e);
+ }).then(this.renderContents.bind(this));
},
/**
@@ -4520,6 +4656,19 @@ var CBIAbstractValue = CBIAbstractElement.extend(/** @lends LuCI.form.AbstractVa
*/
/**
+ * Make option element readonly.
+ *
+ * This property defaults to the readonly state of the parent form element.
+ * When set to `true`, the underlying widget is rendered in disabled state,
+ * means its contents cannot be changed and the widget cannot be interacted
+ * with.
+ *
+ * @name LuCI.form.AbstractValue.prototype#readonly
+ * @type boolean
+ * @default false
+ */
+
+ /**
* Override the cell width of a table or grid section child option.
*
* If the property is set to a numeric value, it is treated as pixel width
@@ -4972,8 +5121,10 @@ var CBIAbstractValue = CBIAbstractElement.extend(/** @lends LuCI.form.AbstractVa
cval = this.cfgvalue(section_id),
fval = active ? this.formvalue(section_id) : null;
- if (active &amp;&amp; !this.isValid(section_id))
- return Promise.reject();
+ if (active &amp;&amp; !this.isValid(section_id)) {
+ var title = this.stripTags(this.title).trim();
+ return Promise.reject(new TypeError(_('Option "%s" contains an invalid input value.').format(title || this.option)));
+ }
if (fval != '' &amp;&amp; fval != null) {
if (this.forcewrite || !isEqual(cval, fval))
@@ -4984,8 +5135,8 @@ var CBIAbstractValue = CBIAbstractElement.extend(/** @lends LuCI.form.AbstractVa
return Promise.resolve(this.remove(section_id));
}
else if (!isEqual(cval, fval)) {
- console.log('This should have been catched by isValid()');
- return Promise.reject();
+ var title = this.stripTags(this.title).trim();
+ return Promise.reject(new TypeError(_('Option "%s" must not be empty.').format(title || this.option)));
}
}
@@ -5169,13 +5320,15 @@ var CBITypedSection = CBIAbstractSection.extend(/** @lends LuCI.form.TypedSectio
createEl.appendChild(E('button', {
'class': 'cbi-button cbi-button-add',
'title': btn_title || _('Add'),
- 'click': ui.createHandlerFn(this, 'handleAdd')
+ 'click': ui.createHandlerFn(this, 'handleAdd'),
+ 'disabled': this.map.readonly || null
}, [ btn_title || _('Add') ]));
}
else {
var nameEl = E('input', {
'type': 'text',
- 'class': 'cbi-section-create-name'
+ 'class': 'cbi-section-create-name',
+ 'disabled': this.map.readonly || null
});
dom.append(createEl, [
@@ -5190,7 +5343,8 @@ var CBITypedSection = CBIAbstractSection.extend(/** @lends LuCI.form.TypedSectio
return;
return this.handleAdd(ev, nameEl.value);
- })
+ }),
+ 'disabled': this.map.readonly || null
})
]);
@@ -5233,7 +5387,8 @@ var CBITypedSection = CBIAbstractSection.extend(/** @lends LuCI.form.TypedSectio
'class': 'cbi-button',
'name': 'cbi.rts.%s.%s'.format(config_name, cfgsections[i]),
'data-section-id': cfgsections[i],
- 'click': ui.createHandlerFn(this, 'handleRemove', cfgsections[i])
+ 'click': ui.createHandlerFn(this, 'handleRemove', cfgsections[i]),
+ 'disabled': this.map.readonly || null
}, [ _('Delete') ])));
}
@@ -5609,7 +5764,8 @@ var CBITableSection = CBITypedSection.extend(/** @lends LuCI.form.TableSection.p
E('div', {
'title': _('Drag to reorder'),
'class': 'btn cbi-button drag-handle center',
- 'style': 'cursor:move'
+ 'style': 'cursor:move',
+ 'disabled': this.map.readonly || null
}, '☰')
]);
}
@@ -5650,7 +5806,8 @@ var CBITableSection = CBITypedSection.extend(/** @lends LuCI.form.TableSection.p
E('button', {
'title': btn_title || _('Delete'),
'class': 'cbi-button cbi-button-remove',
- 'click': ui.createHandlerFn(this, 'handleRemove', section_id)
+ 'click': ui.createHandlerFn(this, 'handleRemove', section_id),
+ 'disabled': this.map.readonly || null
}, [ btn_title || _('Delete') ])
);
}
@@ -5801,6 +5958,7 @@ var CBITableSection = CBITypedSection.extend(/** @lends LuCI.form.TableSection.p
s = m.section(CBINamedSection, section_id, this.sectiontype);
m.parent = parent;
+ m.readonly = parent.readonly;
s.tabs = this.tabs;
s.tab_names = this.tab_names;
@@ -5848,7 +6006,8 @@ var CBITableSection = CBITypedSection.extend(/** @lends LuCI.form.TableSection.p
}, [ _('Dismiss') ]), ' ',
E('button', {
'class': 'cbi-button cbi-button-positive important',
- 'click': ui.createHandlerFn(this, 'handleModalSave', m)
+ 'click': ui.createHandlerFn(this, 'handleModalSave', m),
+ 'disabled': m.readonly || null
}, [ _('Save') ])
])
], 'cbi-modal');
@@ -6135,7 +6294,8 @@ var CBINamedSection = CBIAbstractSection.extend(/** @lends LuCI.form.NamedSectio
E('div', { 'class': 'cbi-section-remove right' },
E('button', {
'class': 'cbi-button',
- 'click': ui.createHandlerFn(this, 'handleRemove')
+ 'click': ui.createHandlerFn(this, 'handleRemove'),
+ 'disabled': this.map.readonly || null
}, [ _('Delete') ])));
}
@@ -6150,7 +6310,8 @@ var CBINamedSection = CBIAbstractSection.extend(/** @lends LuCI.form.NamedSectio
sectionEl.appendChild(
E('button', {
'class': 'cbi-button cbi-button-add',
- 'click': ui.createHandlerFn(this, 'handleAdd')
+ 'click': ui.createHandlerFn(this, 'handleAdd'),
+ 'disabled': this.map.readonly || null
}, [ _('Add') ]));
}
@@ -6344,7 +6505,8 @@ var CBIValue = CBIAbstractValue.extend(/** @lends LuCI.form.Value.prototype */ {
optional: this.optional || this.rmempty,
datatype: this.datatype,
select_placeholder: this.placeholder || placeholder,
- validate: L.bind(this.validate, this, section_id)
+ validate: L.bind(this.validate, this, section_id),
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
}
else {
@@ -6354,7 +6516,8 @@ var CBIValue = CBIAbstractValue.extend(/** @lends LuCI.form.Value.prototype */ {
optional: this.optional || this.rmempty,
datatype: this.datatype,
placeholder: this.placeholder,
- validate: L.bind(this.validate, this, section_id)
+ validate: L.bind(this.validate, this, section_id),
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
}
@@ -6409,7 +6572,8 @@ var CBIDynamicList = CBIValue.extend(/** @lends LuCI.form.DynamicList.prototype
optional: this.optional || this.rmempty,
datatype: this.datatype,
placeholder: this.placeholder,
- validate: L.bind(this.validate, this, section_id)
+ validate: L.bind(this.validate, this, section_id),
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
return widget.render();
@@ -6474,7 +6638,8 @@ var CBIListValue = CBIValue.extend(/** @lends LuCI.form.ListValue.prototype */ {
sort: this.keylist,
optional: this.optional,
placeholder: this.placeholder,
- validate: L.bind(this.validate, this, section_id)
+ validate: L.bind(this.validate, this, section_id),
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
return widget.render();
@@ -6545,7 +6710,8 @@ var CBIFlagValue = CBIValue.extend(/** @lends LuCI.form.FlagValue.prototype */ {
id: this.cbid(section_id),
value_enabled: this.enabled,
value_disabled: this.disabled,
- validate: L.bind(this.validate, this, section_id)
+ validate: L.bind(this.validate, this, section_id),
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
return widget.render();
@@ -6584,8 +6750,10 @@ var CBIFlagValue = CBIValue.extend(/** @lends LuCI.form.FlagValue.prototype */ {
if (this.isActive(section_id)) {
var fval = this.formvalue(section_id);
- if (!this.isValid(section_id))
- return Promise.reject();
+ if (!this.isValid(section_id)) {
+ var title = this.stripTags(this.title).trim();
+ return Promise.reject(new TypeError(_('Option "%s" contains an invalid input value.').format(title || this.option)));
+ }
if (fval == this.default &amp;&amp; (this.optional || this.rmempty))
return Promise.resolve(this.remove(section_id));
@@ -6671,7 +6839,8 @@ var CBIMultiValue = CBIDynamicList.extend(/** @lends LuCI.form.MultiValue.protot
select_placeholder: this.placeholder,
display_items: this.display_size || this.size || 3,
dropdown_items: this.dropdown_size || this.size || -1,
- validate: L.bind(this.validate, this, section_id)
+ validate: L.bind(this.validate, this, section_id),
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
return widget.render();
@@ -6763,7 +6932,8 @@ var CBITextValue = CBIValue.extend(/** @lends LuCI.form.TextValue.prototype */ {
cols: this.cols,
rows: this.rows,
wrap: this.wrap,
- validate: L.bind(this.validate, this, section_id)
+ validate: L.bind(this.validate, this, section_id),
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
return widget.render();
@@ -6833,7 +7003,7 @@ var CBIDummyValue = CBIValue.extend(/** @lends LuCI.form.DummyValue.prototype */
hiddenEl = new ui.Hiddenfield(value, { id: this.cbid(section_id) }),
outputEl = E('div');
- if (this.href)
+ if (this.href &amp;&amp; !((this.readonly != null) ? this.readonly : this.map.readonly))
outputEl.appendChild(E('a', { 'href': this.href }));
dom.append(outputEl.lastChild || outputEl,
@@ -6954,7 +7124,8 @@ var CBIButtonValue = CBIValue.extend(/** @lends LuCI.form.ButtonValue.prototype
ev.currentTarget.parentNode.nextElementSibling.value = value;
return this.map.save();
- }, section_id)
+ }, section_id),
+ 'disabled': ((this.readonly != null) ? this.readonly : this.map.readonly) || null
}, [ btn_title ])
]);
else
@@ -7129,7 +7300,8 @@ var CBIFileUpload = CBIValue.extend(/** @lends LuCI.form.FileUpload.prototype */
show_hidden: this.show_hidden,
enable_upload: this.enable_upload,
enable_remove: this.enable_remove,
- root_directory: this.root_directory
+ root_directory: this.root_directory,
+ disabled: (this.readonly != null) ? this.readonly : this.map.readonly
});
return browserEl.render();
@@ -7338,7 +7510,7 @@ return baseclass.extend(/** @lends LuCI.form.prototype */ {
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/fs.js.html b/docs/jsapi/fs.js.html
index a356962f0..160faf200 100644
--- a/docs/jsapi/fs.js.html
+++ b/docs/jsapi/fs.js.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3657,7 +3755,7 @@ return FileSystem;
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/index.html b/docs/jsapi/index.html
index 59a6b953d..e510e37dd 100644
--- a/docs/jsapi/index.html
+++ b/docs/jsapi/index.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3244,7 +3342,7 @@
<footer>
- Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a target="_blank" href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/luci.js.html b/docs/jsapi/luci.js.html
index 33dab5716..4c146ef38 100644
--- a/docs/jsapi/luci.js.html
+++ b/docs/jsapi/luci.js.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3230,6 +3328,8 @@
(function(window, document, undefined) {
'use strict';
+ var env = {};
+
/* Object.assign polyfill for IE */
if (typeof Object.assign !== 'function') {
Object.defineProperty(Object, 'assign', {
@@ -4287,7 +4387,7 @@
*/
add: function(fn, interval) {
if (interval == null || interval &lt;= 0)
- interval = window.L ? window.L.env.pollinterval : null;
+ interval = env.pollinterval || null;
if (isNaN(interval) || typeof(fn) != 'function')
throw new TypeError('Invalid argument to LuCI.poll.add()');
@@ -4429,7 +4529,7 @@
* To import the class in views, use `'require dom'`, to import it in
* external JavaScript, use `L.require("dom").then(...)`.
*/
- var DOM = Class.singleton(/* @lends LuCI.dom.prototype */ {
+ var DOM = Class.singleton(/** @lends LuCI.dom.prototype */ {
__name__: 'LuCI.dom',
/**
@@ -4934,7 +5034,7 @@
*/
bindClassInstance: function(node, inst) {
if (!(inst instanceof Class))
- L.error('TypeError', 'Argument must be a class instance');
+ LuCI.prototype.error('TypeError', 'Argument must be a class instance');
return this.data(node, '_class', inst);
},
@@ -5042,6 +5142,101 @@
});
/**
+ * @class session
+ * @memberof LuCI
+ * @hideconstructor
+ * @classdesc
+ *
+ * The `session` class provides various session related functionality.
+ */
+ var Session = Class.singleton(/** @lends LuCI.session.prototype */ {
+ __name__: 'LuCI.session',
+
+ /**
+ * Retrieve the current session ID.
+ *
+ * @returns {string}
+ * Returns the current session ID.
+ */
+ getID: function() {
+ return env.sessionid || '00000000000000000000000000000000';
+ },
+
+ /**
+ * Retrieve data from the local session storage.
+ *
+ * @param {string} [key]
+ * The key to retrieve from the session data store. If omitted, all
+ * session data will be returned.
+ *
+ * @returns {*}
+ * Returns the stored session data or `null` if the given key wasn't
+ * found.
+ */
+ getLocalData: function(key) {
+ try {
+ var sid = this.getID(),
+ item = 'luci-session-store',
+ data = JSON.parse(window.sessionStorage.getItem(item));
+
+ if (!LuCI.prototype.isObject(data) || !data.hasOwnProperty(sid)) {
+ data = {};
+ data[sid] = {};
+ }
+
+ if (key != null)
+ return data[sid].hasOwnProperty(key) ? data[sid][key] : null;
+
+ return data[sid];
+ }
+ catch (e) {
+ return (key != null) ? null : {};
+ }
+ },
+
+ /**
+ * Set data in the local session storage.
+ *
+ * @param {string} key
+ * The key to set in the session data store.
+ *
+ * @param {*} value
+ * The value to store. It will be internally converted to JSON before
+ * being put in the session store.
+ *
+ * @returns {boolean}
+ * Returns `true` if the data could be stored or `false` on error.
+ */
+ setLocalData: function(key, value) {
+ if (key == null)
+ return false;
+
+ try {
+ var sid = this.getID(),
+ item = 'luci-session-store',
+ data = JSON.parse(window.sessionStorage.getItem(item));
+
+ if (!LuCI.prototype.isObject(data) || !data.hasOwnProperty(sid)) {
+ data = {};
+ data[sid] = {};
+ }
+
+ if (value != null)
+ data[sid][key] = value;
+ else
+ delete data[sid][key];
+
+ window.sessionStorage.setItem(item, JSON.stringify(data));
+
+ return true;
+ }
+ catch (e) {
+ return false;
+ }
+ }
+ });
+
+ /**
* @class view
* @memberof LuCI
* @hideconstructor
@@ -5050,7 +5245,7 @@
* The `view` class forms the basis of views and provides a standard
* set of methods to inherit from.
*/
- var View = Class.extend(/* @lends LuCI.view.prototype */ {
+ var View = Class.extend(/** @lends LuCI.view.prototype */ {
__name__: 'LuCI.view',
__init__: function() {
@@ -5059,13 +5254,13 @@
DOM.content(vp, E('div', { 'class': 'spinning' }, _('Loading view…')));
return Promise.resolve(this.load())
- .then(L.bind(this.render, this))
- .then(L.bind(function(nodes) {
+ .then(LuCI.prototype.bind(this.render, this))
+ .then(LuCI.prototype.bind(function(nodes) {
var vp = document.getElementById('view');
DOM.content(vp, nodes);
DOM.append(vp, this.addFooter());
- }, this)).catch(L.error);
+ }, this)).catch(LuCI.prototype.error);
},
/**
@@ -5199,7 +5394,7 @@
*/
handleSaveApply: function(ev, mode) {
return this.handleSave(ev).then(function() {
- L.ui.changes.apply(mode == '0');
+ classes.ui.changes.apply(mode == '0');
});
},
@@ -5269,9 +5464,25 @@
* methods are overwritten with `null`.
*/
addFooter: function() {
- var footer = E([]);
+ var footer = E([]),
+ vp = document.getElementById('view'),
+ hasmap = false,
+ readonly = true;
+
+ vp.querySelectorAll('.cbi-map').forEach(function(map) {
+ var m = DOM.findClassInstance(map);
+ if (m) {
+ hasmap = true;
+
+ if (!m.readonly)
+ readonly = false;
+ }
+ });
+
+ if (!hasmap)
+ readonly = !LuCI.prototype.hasViewPermission();
- var saveApplyBtn = this.handleSaveApply ? new L.ui.ComboButton('0', {
+ var saveApplyBtn = this.handleSaveApply ? new classes.ui.ComboButton('0', {
0: [ _('Save &amp; Apply') ],
1: [ _('Apply unchecked') ]
}, {
@@ -5279,7 +5490,8 @@
0: 'btn cbi-button cbi-button-apply important',
1: 'btn cbi-button cbi-button-negative important'
},
- click: L.ui.createHandlerFn(this, 'handleSaveApply')
+ click: classes.ui.createHandlerFn(this, 'handleSaveApply'),
+ disabled: readonly || null
}).render() : E([]);
if (this.handleSaveApply || this.handleSave || this.handleReset) {
@@ -5287,11 +5499,13 @@
saveApplyBtn, ' ',
this.handleSave ? E('button', {
'class': 'cbi-button cbi-button-save',
- 'click': L.ui.createHandlerFn(this, 'handleSave')
+ 'click': classes.ui.createHandlerFn(this, 'handleSave'),
+ 'disabled': readonly || null
}, [ _('Save') ]) : '', ' ',
this.handleReset ? E('button', {
'class': 'cbi-button cbi-button-reset',
- 'click': L.ui.createHandlerFn(this, 'handleReset')
+ 'click': classes.ui.createHandlerFn(this, 'handleReset'),
+ 'disabled': readonly || null
}, [ _('Reset') ]) : ''
]));
}
@@ -5305,7 +5519,8 @@
domParser = null,
originalCBIInit = null,
rpcBaseURL = null,
- sysFeatures = null;
+ sysFeatures = null,
+ preloadClasses = null;
/* "preload" builtin classes to make the available via require */
var classes = {
@@ -5313,41 +5528,30 @@
dom: DOM,
poll: Poll,
request: Request,
+ session: Session,
view: View
};
var LuCI = Class.extend(/** @lends LuCI.prototype */ {
__name__: 'LuCI',
- __init__: function(env) {
+ __init__: function(setenv) {
document.querySelectorAll('script[src*="/luci.js"]').forEach(function(s) {
- if (env.base_url == null || env.base_url == '') {
+ if (setenv.base_url == null || setenv.base_url == '') {
var m = (s.getAttribute('src') || '').match(/^(.*)\/luci\.js(?:\?v=([^?]+))?$/);
if (m) {
- env.base_url = m[1];
- env.resource_version = m[2];
+ setenv.base_url = m[1];
+ setenv.resource_version = m[2];
}
}
});
- if (env.base_url == null)
+ if (setenv.base_url == null)
this.error('InternalError', 'Cannot find url of luci.js');
- env.cgi_base = env.scriptname.replace(/\/[^\/]+$/, '');
-
- Object.assign(this.env, env);
+ setenv.cgi_base = setenv.scriptname.replace(/\/[^\/]+$/, '');
- document.addEventListener('poll-start', function(ev) {
- document.querySelectorAll('[id^="xhr_poll_status"]').forEach(function(e) {
- e.style.display = (e.id == 'xhr_poll_status_off') ? 'none' : '';
- });
- });
-
- document.addEventListener('poll-stop', function(ev) {
- document.querySelectorAll('[id^="xhr_poll_status"]').forEach(function(e) {
- e.style.display = (e.id == 'xhr_poll_status_on') ? 'none' : '';
- });
- });
+ Object.assign(env, setenv);
var domReady = new Promise(function(resolveFn, rejectFn) {
document.addEventListener('DOMContentLoaded', resolveFn);
@@ -5457,12 +5661,13 @@
*/
error: function(type, fmt /*, ...*/) {
try {
- L.raise.apply(L, Array.prototype.slice.call(arguments));
+ LuCI.prototype.raise.apply(LuCI.prototype,
+ Array.prototype.slice.call(arguments));
}
catch (e) {
if (!e.reported) {
- if (L.ui)
- L.ui.addNotification(e.name || _('Runtime error'),
+ if (classes.ui)
+ classes.ui.addNotification(e.name || _('Runtime error'),
E('pre', {}, e.message), 'danger');
else
DOM.content(document.querySelector('#maincontent'),
@@ -5541,19 +5746,19 @@
if (classes[name] != null) {
/* Circular dependency */
if (from.indexOf(name) != -1)
- L.raise('DependencyError',
+ LuCI.prototype.raise('DependencyError',
'Circular dependency: class "%s" depends on "%s"',
name, from.join('" which depends on "'));
return Promise.resolve(classes[name]);
}
- url = '%s/%s.js%s'.format(L.env.base_url, name.replace(/\./g, '/'), (L.env.resource_version ? '?v=' + L.env.resource_version : ''));
+ url = '%s/%s.js%s'.format(env.base_url, name.replace(/\./g, '/'), (env.resource_version ? '?v=' + env.resource_version : ''));
from = [ name ].concat(from);
var compileClass = function(res) {
if (!res.ok)
- L.raise('NetworkError',
+ LuCI.prototype.raise('NetworkError',
'HTTP error %d while loading class file "%s"', res.status, url);
var source = res.text(),
@@ -5578,7 +5783,7 @@
if (m) {
var dep = m[1], as = m[2] || dep.replace(/[^a-zA-Z0-9_]/g, '_');
- depends.push(L.require(dep, from));
+ depends.push(LuCI.prototype.require(dep, from));
args += ', ' + as;
}
else if (!strictmatch.exec(s)) {
@@ -5604,7 +5809,7 @@
.format(args, source, res.url));
}
catch (error) {
- L.raise('SyntaxError', '%s\n in %s:%s',
+ LuCI.prototype.raise('SyntaxError', '%s\n in %s:%s',
error.message, res.url, error.lineNumber || '?');
}
@@ -5612,7 +5817,7 @@
_class = _factory.apply(_factory, [window, document, L].concat(instances));
if (!Class.isSubclass(_class))
- L.error('TypeError', '"%s" factory yields invalid constructor', name);
+ LuCI.prototype.error('TypeError', '"%s" factory yields invalid constructor', name);
if (_class.displayName == 'AnonymousClass')
_class.displayName = toCamelCase(name + 'Class');
@@ -5641,26 +5846,18 @@
/* DOM setup */
probeRPCBaseURL: function() {
- if (rpcBaseURL == null) {
- try {
- rpcBaseURL = window.sessionStorage.getItem('rpcBaseURL');
- }
- catch (e) { }
- }
+ if (rpcBaseURL == null)
+ rpcBaseURL = Session.getLocalData('rpcBaseURL');
if (rpcBaseURL == null) {
var rpcFallbackURL = this.url('admin/ubus');
- rpcBaseURL = Request.get(this.env.ubuspath).then(function(res) {
- return (rpcBaseURL = (res.status == 400) ? L.env.ubuspath : rpcFallbackURL);
+ rpcBaseURL = Request.get(env.ubuspath).then(function(res) {
+ return (rpcBaseURL = (res.status == 400) ? env.ubuspath : rpcFallbackURL);
}, function() {
return (rpcBaseURL = rpcFallbackURL);
}).then(function(url) {
- try {
- window.sessionStorage.setItem('rpcBaseURL', url);
- }
- catch (e) { }
-
+ Session.setLocalData('rpcBaseURL', url);
return url;
});
}
@@ -5669,17 +5866,8 @@
},
probeSystemFeatures: function() {
- var sessionid = classes.rpc.getSessionID();
-
- if (sysFeatures == null) {
- try {
- var data = JSON.parse(window.sessionStorage.getItem('sysFeatures'));
-
- if (this.isObject(data) &amp;&amp; this.isObject(data[sessionid]))
- sysFeatures = data[sessionid];
- }
- catch (e) {}
- }
+ if (sysFeatures == null)
+ sysFeatures = Session.getLocalData('features');
if (!this.isObject(sysFeatures)) {
sysFeatures = classes.rpc.declare({
@@ -5687,14 +5875,7 @@
method: 'getFeatures',
expect: { '': {} }
})().then(function(features) {
- try {
- var data = {};
- data[sessionid] = features;
-
- window.sessionStorage.setItem('sysFeatures', JSON.stringify(data));
- }
- catch (e) {}
-
+ Session.setLocalData('features', features);
sysFeatures = features;
return features;
@@ -5704,6 +5885,39 @@
return Promise.resolve(sysFeatures);
},
+ probePreloadClasses: function() {
+ if (preloadClasses == null)
+ preloadClasses = Session.getLocalData('preload');
+
+ if (!Array.isArray(preloadClasses)) {
+ preloadClasses = this.resolveDefault(classes.rpc.declare({
+ object: 'file',
+ method: 'list',
+ params: [ 'path' ],
+ expect: { 'entries': [] }
+ })(this.fspath(this.resource('preload'))), []).then(function(entries) {
+ var classes = [];
+
+ for (var i = 0; i &lt; entries.length; i++) {
+ if (entries[i].type != 'file')
+ continue;
+
+ var m = entries[i].name.match(/(.+)\.js$/);
+
+ if (m)
+ classes.push('preload.%s'.format(m[1]));
+ }
+
+ Session.setLocalData('preload', classes);
+ preloadClasses = classes;
+
+ return classes;
+ });
+ }
+
+ return Promise.resolve(preloadClasses);
+ },
+
/**
* Test whether a particular system feature is available, such as
* hostapd SAE support or an installed firewall. The features are
@@ -5742,7 +5956,7 @@
notifySessionExpiry: function() {
Poll.stop();
- L.ui.showModal(_('Session expired'), [
+ classes.ui.showModal(_('Session expired'), [
E('div', { class: 'alert-message warning' },
_('A new login is required since the authentication session expired.')),
E('div', { class: 'right' },
@@ -5755,7 +5969,7 @@
}, _('To login…')))
]);
- L.raise('SessionError', 'Login session is expired');
+ LuCI.prototype.raise('SessionError', 'Login session is expired');
},
/* private */
@@ -5769,10 +5983,13 @@
rpcClass.setBaseURL(rpcBaseURL);
rpcClass.addInterceptor(function(msg, req) {
- if (!L.isObject(msg) || !L.isObject(msg.error) || msg.error.code != -32002)
+ if (!LuCI.prototype.isObject(msg) ||
+ !LuCI.prototype.isObject(msg.error) ||
+ msg.error.code != -32002)
return;
- if (!L.isObject(req) || (req.object == 'session' &amp;&amp; req.method == 'access'))
+ if (!LuCI.prototype.isObject(req) ||
+ (req.object == 'session' &amp;&amp; req.method == 'access'))
return;
return rpcClass.declare({
@@ -5780,7 +5997,7 @@
'method': 'access',
'params': [ 'scope', 'object', 'function' ],
'expect': { access: true }
- })('uci', 'luci', 'read').catch(L.notifySessionExpiry);
+ })('uci', 'luci', 'read').catch(LuCI.prototype.notifySessionExpiry);
});
Request.addInterceptor(function(res) {
@@ -5792,10 +6009,31 @@
if (!isDenied)
return;
- L.notifySessionExpiry();
+ LuCI.prototype.notifySessionExpiry();
+ });
+
+ document.addEventListener('poll-start', function(ev) {
+ uiClass.showIndicator('poll-status', _('Refreshing'), function(ev) {
+ Request.poll.active() ? Request.poll.stop() : Request.poll.start();
+ });
+ });
+
+ document.addEventListener('poll-stop', function(ev) {
+ uiClass.showIndicator('poll-status', _('Paused'), null, 'inactive');
});
- return this.probeSystemFeatures().finally(this.initDOM);
+ return Promise.all([
+ this.probeSystemFeatures(),
+ this.probePreloadClasses()
+ ]).finally(LuCI.prototype.bind(function() {
+ var tasks = [];
+
+ if (Array.isArray(preloadClasses))
+ for (var i = 0; i &lt; preloadClasses.length; i++)
+ tasks.push(this.require(preloadClasses[i]));
+
+ return Promise.all(tasks);
+ }, this)).finally(this.initDOM);
},
/* private */
@@ -5812,7 +6050,38 @@
* @instance
* @memberof LuCI
*/
- env: {},
+ env: env,
+
+ /**
+ * Construct an absolute filesystem path relative to the server
+ * document root.
+ *
+ * @instance
+ * @memberof LuCI
+ *
+ * @param {...string} [parts]
+ * An array of parts to join into a path.
+ *
+ * @return {string}
+ * Return the joined path.
+ */
+ fspath: function(/* ... */) {
+ var path = env.documentroot;
+
+ for (var i = 0; i &lt; arguments.length; i++)
+ path += '/' + arguments[i];
+
+ var p = path.replace(/\/+$/, '').replace(/\/+/g, '/').split(/\//),
+ res = [];
+
+ for (var i = 0; i &lt; p.length; i++)
+ if (p[i] == '..')
+ res.pop();
+ else if (p[i] != '.')
+ res.push(p[i]);
+
+ return res.join('/');
+ },
/**
* Construct a relative URL path from the given prefix and parts.
@@ -5866,7 +6135,7 @@
* Returns the resulting URL path.
*/
url: function() {
- return this.path(this.env.scriptname, arguments);
+ return this.path(env.scriptname, arguments);
},
/**
@@ -5888,7 +6157,7 @@
* Returns the resulting URL path.
*/
resource: function() {
- return this.path(this.env.resource, arguments);
+ return this.path(env.resource, arguments);
},
/**
@@ -5910,7 +6179,7 @@
* Returns the resulting URL path.
*/
media: function() {
- return this.path(this.env.media, arguments);
+ return this.path(env.media, arguments);
},
/**
@@ -5923,7 +6192,7 @@
* Returns the URL path to the current view.
*/
location: function() {
- return this.path(this.env.scriptname, this.env.requestpath);
+ return this.path(env.scriptname, env.requestpath);
},
@@ -6167,9 +6436,9 @@
*/
poll: function(interval, url, args, cb, post) {
if (interval !== null &amp;&amp; interval &lt;= 0)
- interval = this.env.pollinterval;
+ interval = env.pollinterval;
- var data = post ? { token: this.env.token } : null,
+ var data = post ? { token: env.token } : null,
method = post ? 'POST' : 'GET';
if (!/^(?:\/|\S+:\/\/)/.test(url))
@@ -6191,6 +6460,22 @@
},
/**
+ * Check whether a view has sufficient permissions.
+ *
+ * @return {boolean|null}
+ * Returns `null` if the current session has no permission at all to
+ * load resources required by the view. Returns `false` if readonly
+ * permissions are granted or `true` if at least one required ACL
+ * group is granted with write permissions.
+ */
+ hasViewPermission: function() {
+ if (!this.isObject(env.nodespec) || !env.nodespec.satisfied)
+ return null;
+
+ return !env.nodespec.readonly;
+ },
+
+ /**
* Deprecated wrapper around {@link LuCI.poll.remove Poll.remove()}.
*
* @deprecated
@@ -6333,7 +6618,7 @@
*/
get: function(url, data, callback, timeout) {
this.active = true;
- L.get(url, data, this._response.bind(this, callback), timeout);
+ LuCI.prototype.get(url, data, this._response.bind(this, callback), timeout);
},
/**
@@ -6360,7 +6645,7 @@
*/
post: function(url, data, callback, timeout) {
this.active = true;
- L.post(url, data, this._response.bind(this, callback), timeout);
+ LuCI.prototype.post(url, data, this._response.bind(this, callback), timeout);
},
/**
@@ -6414,12 +6699,12 @@
* Throws an `InternalError` with the message `Not implemented`
* when invoked.
*/
- send_form: function() { L.error('InternalError', 'Not implemented') },
+ send_form: function() { LuCI.prototype.error('InternalError', 'Not implemented') },
});
- XHR.get = function() { return window.L.get.apply(window.L, arguments) };
- XHR.post = function() { return window.L.post.apply(window.L, arguments) };
- XHR.poll = function() { return window.L.poll.apply(window.L, arguments) };
+ XHR.get = function() { return LuCI.prototype.get.apply(LuCI.prototype, arguments) };
+ XHR.post = function() { return LuCI.prototype.post.apply(LuCI.prototype, arguments) };
+ XHR.poll = function() { return LuCI.prototype.poll.apply(LuCI.prototype, arguments) };
XHR.stop = Request.poll.remove.bind(Request.poll);
XHR.halt = Request.poll.stop.bind(Request.poll);
XHR.run = Request.poll.start.bind(Request.poll);
@@ -6440,7 +6725,7 @@
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/network.js.html b/docs/jsapi/network.js.html
index 80d5f395c..d11dfe2d4 100644
--- a/docs/jsapi/network.js.html
+++ b/docs/jsapi/network.js.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3326,7 +3424,7 @@ function getProtocolHandlers(cache) {
Object.assign(protos, { none: { no_device: false } });
/* Hack: emulate relayd protocol */
- if (!protos.hasOwnProperty('relay'))
+ if (!protos.hasOwnProperty('relay') &amp;&amp; L.hasSystemFeature('relayd'))
Object.assign(protos, { relay: { no_device: true } });
Object.assign(_protospecs, protos);
@@ -3574,7 +3672,9 @@ function initNetworkState(refresh) {
L.resolveDefault(callLuciWirelessDevices(), {}),
L.resolveDefault(callLuciHostHints(), {}),
getProtocolHandlers(),
- uci.load(['network', 'wireless', 'luci'])
+ L.resolveDefault(uci.load('network')),
+ L.resolveDefault(uci.load('wireless')),
+ L.resolveDefault(uci.load('luci'))
]).then(function(data) {
var netifd_ifaces = data[0],
board_json = data[1],
@@ -7372,7 +7472,7 @@ return Network;
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/rpc.js.html b/docs/jsapi/rpc.js.html
index a1501a723..34a41e33c 100644
--- a/docs/jsapi/rpc.js.html
+++ b/docs/jsapi/rpc.js.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3311,6 +3409,10 @@ return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
ret = msg.result;
}
else if (Array.isArray(msg.result)) {
+ if (req.raise &amp;&amp; msg.result[0] !== 0)
+ L.raise('RPCError', 'RPC call to %s/%s failed with ubus code %d: %s',
+ req.object, req.method, msg.result[0], this.getStatusText(msg.result[0]));
+
ret = (msg.result.length > 1) ? msg.result[1] : msg.result[0];
}
@@ -3446,6 +3548,10 @@ return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
* Specfies an optional filter function which is invoked to transform the
* received reply data before it is returned to the caller.
*
+ * @property {boolean} [reject=false]
+ * If set to `true`, non-zero ubus call status codes are treated as fatal
+ * error and lead to the rejection of the call promise. The default
+ * behaviour is to resolve with the call return code value instead.
*/
/**
@@ -3534,7 +3640,8 @@ return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
params: params,
priv: priv,
object: options.object,
- method: options.method
+ method: options.method,
+ raise: options.reject
};
/* build message object */
@@ -3707,7 +3814,7 @@ return baseclass.extend(/** @lends LuCI.rpc.prototype */ {
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/uci.js.html b/docs/jsapi/uci.js.html
index de42aca25..d71dc0a05 100644
--- a/docs/jsapi/uci.js.html
+++ b/docs/jsapi/uci.js.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3249,44 +3347,50 @@ return baseclass.extend(/** @lends LuCI.uci.prototype */ {
object: 'uci',
method: 'get',
params: [ 'config' ],
- expect: { values: { } }
+ expect: { values: { } },
+ reject: true
}),
-
callOrder: rpc.declare({
object: 'uci',
method: 'order',
- params: [ 'config', 'sections' ]
+ params: [ 'config', 'sections' ],
+ reject: true
}),
callAdd: rpc.declare({
object: 'uci',
method: 'add',
params: [ 'config', 'type', 'name', 'values' ],
- expect: { section: '' }
+ expect: { section: '' },
+ reject: true
}),
callSet: rpc.declare({
object: 'uci',
method: 'set',
- params: [ 'config', 'section', 'values' ]
+ params: [ 'config', 'section', 'values' ],
+ reject: true
}),
callDelete: rpc.declare({
object: 'uci',
method: 'delete',
- params: [ 'config', 'section', 'options' ]
+ params: [ 'config', 'section', 'options' ],
+ reject: true
}),
callApply: rpc.declare({
object: 'uci',
method: 'apply',
- params: [ 'timeout', 'rollback' ]
+ params: [ 'timeout', 'rollback' ],
+ reject: true
}),
callConfirm: rpc.declare({
object: 'uci',
- method: 'confirm'
+ method: 'confirm',
+ reject: true
}),
@@ -3765,9 +3869,13 @@ return baseclass.extend(/** @lends LuCI.uci.prototype */ {
c[conf][sid] = {};
/* undelete option */
- if (d[conf] &amp;&amp; d[conf][sid])
+ if (d[conf] &amp;&amp; d[conf][sid]) {
d[conf][sid] = d[conf][sid].filter(function(o) { return o !== opt });
+ if (d[conf][sid].length == 0)
+ delete d[conf][sid];
+ }
+
c[conf][sid][opt] = val;
}
else {
@@ -4002,22 +4110,22 @@ return baseclass.extend(/** @lends LuCI.uci.prototype */ {
if (n)
for (var conf in n) {
for (var sid in n[conf]) {
- var r = {
+ var p = {
config: conf,
values: { }
};
for (var k in n[conf][sid]) {
if (k == '.type')
- r.type = n[conf][sid][k];
+ p.type = n[conf][sid][k];
else if (k == '.create')
- r.name = n[conf][sid][k];
+ p.name = n[conf][sid][k];
else if (k.charAt(0) != '.')
- r.values[k] = n[conf][sid][k];
+ p.values[k] = n[conf][sid][k];
}
snew.push(n[conf][sid]);
- tasks.push(self.callAdd(r.config, r.type, r.name, r.values));
+ tasks.push(self.callAdd(p.config, p.type, p.name, p.values));
}
pkgs[conf] = true;
@@ -4172,7 +4280,7 @@ return baseclass.extend(/** @lends LuCI.uci.prototype */ {
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>
diff --git a/docs/jsapi/ui.js.html b/docs/jsapi/ui.js.html
index 373456279..d20fe4056 100644
--- a/docs/jsapi/ui.js.html
+++ b/docs/jsapi/ui.js.html
@@ -74,12 +74,16 @@
<li data-name="LuCI#error"><a href="LuCI.html#error">error</a></li>
+ <li data-name="LuCI#fspath"><a href="LuCI.html#fspath">fspath</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#hasViewPermission"><a href="LuCI.html#hasViewPermission">hasViewPermission</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>
@@ -331,6 +335,8 @@
<li data-name="LuCI.form.AbstractValue##optional"><a href="LuCI.form.AbstractValue.html#optional">optional</a></li>
+ <li data-name="LuCI.form.AbstractValue##readonly"><a href="LuCI.form.AbstractValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.AbstractValue##rmempty"><a href="LuCI.form.AbstractValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.AbstractValue##uciconfig"><a href="LuCI.form.AbstractValue.html#uciconfig">uciconfig</a></li>
@@ -423,6 +429,8 @@
<li data-name="LuCI.form.ButtonValue#placeholder"><a href="LuCI.form.ButtonValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ButtonValue#readonly"><a href="LuCI.form.ButtonValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ButtonValue#rmempty"><a href="LuCI.form.ButtonValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ButtonValue#uciconfig"><a href="LuCI.form.ButtonValue.html#uciconfig">uciconfig</a></li>
@@ -511,6 +519,8 @@
<li data-name="LuCI.form.DummyValue#placeholder"><a href="LuCI.form.DummyValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DummyValue#readonly"><a href="LuCI.form.DummyValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DummyValue#rmempty"><a href="LuCI.form.DummyValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DummyValue#uciconfig"><a href="LuCI.form.DummyValue.html#uciconfig">uciconfig</a></li>
@@ -595,6 +605,8 @@
<li data-name="LuCI.form.DynamicList#placeholder"><a href="LuCI.form.DynamicList.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.DynamicList#readonly"><a href="LuCI.form.DynamicList.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.DynamicList#rmempty"><a href="LuCI.form.DynamicList.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.DynamicList#uciconfig"><a href="LuCI.form.DynamicList.html#uciconfig">uciconfig</a></li>
@@ -687,6 +699,8 @@
<li data-name="LuCI.form.FileUpload#placeholder"><a href="LuCI.form.FileUpload.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FileUpload#readonly"><a href="LuCI.form.FileUpload.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FileUpload#rmempty"><a href="LuCI.form.FileUpload.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FileUpload#uciconfig"><a href="LuCI.form.FileUpload.html#uciconfig">uciconfig</a></li>
@@ -775,6 +789,8 @@
<li data-name="LuCI.form.FlagValue#placeholder"><a href="LuCI.form.FlagValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.FlagValue#readonly"><a href="LuCI.form.FlagValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.FlagValue#rmempty"><a href="LuCI.form.FlagValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.FlagValue#uciconfig"><a href="LuCI.form.FlagValue.html#uciconfig">uciconfig</a></li>
@@ -929,6 +945,8 @@
<li data-name="LuCI.form.HiddenValue#placeholder"><a href="LuCI.form.HiddenValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.HiddenValue#readonly"><a href="LuCI.form.HiddenValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.HiddenValue#rmempty"><a href="LuCI.form.HiddenValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.HiddenValue#uciconfig"><a href="LuCI.form.HiddenValue.html#uciconfig">uciconfig</a></li>
@@ -997,6 +1015,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.JSONMap#readonly"><a href="LuCI.form.JSONMap.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1065,6 +1087,8 @@
<li data-name="LuCI.form.ListValue#placeholder"><a href="LuCI.form.ListValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.ListValue#readonly"><a href="LuCI.form.ListValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.ListValue#rmempty"><a href="LuCI.form.ListValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.ListValue#uciconfig"><a href="LuCI.form.ListValue.html#uciconfig">uciconfig</a></li>
@@ -1133,6 +1157,10 @@
</span>
<ul class="members itemMembers">
+ <span class="subtitle">Members</span>
+
+ <li data-name="LuCI.form.Map##readonly"><a href="LuCI.form.Map.html#readonly">readonly</a></li>
+
</ul>
<ul class="typedefs itemMembers">
@@ -1203,6 +1231,8 @@
<li data-name="LuCI.form.MultiValue#placeholder"><a href="LuCI.form.MultiValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.MultiValue#readonly"><a href="LuCI.form.MultiValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.MultiValue#rmempty"><a href="LuCI.form.MultiValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.MultiValue#uciconfig"><a href="LuCI.form.MultiValue.html#uciconfig">uciconfig</a></li>
@@ -1343,6 +1373,8 @@
<li data-name="LuCI.form.SectionValue#placeholder"><a href="LuCI.form.SectionValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.SectionValue#readonly"><a href="LuCI.form.SectionValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.SectionValue#rmempty"><a href="LuCI.form.SectionValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.SectionValue#uciconfig"><a href="LuCI.form.SectionValue.html#uciconfig">uciconfig</a></li>
@@ -1513,6 +1545,8 @@
<li data-name="LuCI.form.TextValue#placeholder"><a href="LuCI.form.TextValue.html#placeholder">placeholder</a></li>
+ <li data-name="LuCI.form.TextValue#readonly"><a href="LuCI.form.TextValue.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.TextValue#rmempty"><a href="LuCI.form.TextValue.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.TextValue#uciconfig"><a href="LuCI.form.TextValue.html#uciconfig">uciconfig</a></li>
@@ -1655,6 +1689,8 @@
<li data-name="LuCI.form.Value#optional"><a href="LuCI.form.Value.html#optional">optional</a></li>
+ <li data-name="LuCI.form.Value#readonly"><a href="LuCI.form.Value.html#readonly">readonly</a></li>
+
<li data-name="LuCI.form.Value#rmempty"><a href="LuCI.form.Value.html#rmempty">rmempty</a></li>
<li data-name="LuCI.form.Value#uciconfig"><a href="LuCI.form.Value.html#uciconfig">uciconfig</a></li>
@@ -2462,6 +2498,36 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.session">
+ <span class="title">
+ <a href="LuCI.session.html">LuCI.session</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.session#getID"><a href="LuCI.session.html#getID">getID</a></li>
+
+ <li data-name="LuCI.session#getLocalData"><a href="LuCI.session.html#getLocalData">getLocalData</a></li>
+
+ <li data-name="LuCI.session#setLocalData"><a href="LuCI.session.html#setLocalData">setLocalData</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>
@@ -2974,6 +3040,38 @@
</ul>
</li>
+ <li class="item" data-name="LuCI.ui.menu">
+ <span class="title">
+ <a href="LuCI.ui.menu.html">LuCI.ui.menu</a>
+
+ </span>
+ <ul class="members itemMembers">
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ <span class="subtitle">Typedefs</span>
+
+ <li data-name="LuCI.ui.menu.MenuNode"><a href="LuCI.ui.menu.html#.MenuNode">MenuNode</a></li>
+
+ </ul>
+ <ul class="typedefs itemMembers">
+
+ </ul>
+ <ul class="methods itemMembers">
+
+ <span class="subtitle">Methods</span>
+
+ <li data-name="LuCI.ui.menu#getChildren"><a href="LuCI.ui.menu.html#getChildren">getChildren</a></li>
+
+ <li data-name="LuCI.ui.menu#load"><a href="LuCI.ui.menu.html#load">load</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>
@@ -3220,6 +3318,7 @@
'require validation';
'require baseclass';
'require request';
+'require session';
'require poll';
'require dom';
'require rpc';
@@ -3277,6 +3376,11 @@ var UIElement = baseclass.extend(/** @lends LuCI.ui.AbstractElement.prototype */
* 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.
+ *
+ * @property {boolean} [disabled=false]
+ * Specifies whether the widget should be rendered in disabled state
+ * (`true`) or not (`false`). Disabled widgets cannot be interacted with
+ * and are displayed in a slightly faded style.
*/
/**
@@ -3540,6 +3644,7 @@ var UITextfield = UIElement.extend(/** @lends LuCI.ui.Textfield.prototype */ {
'type': this.options.password ? 'password' : 'text',
'class': this.options.password ? 'cbi-input-password' : 'cbi-input-text',
'readonly': this.options.readonly ? '' : null,
+ 'disabled': this.options.disabled ? '' : null,
'maxlength': this.options.maxlength,
'placeholder': this.options.placeholder,
'value': this.value,
@@ -3663,6 +3768,7 @@ var UITextarea = UIElement.extend(/** @lends LuCI.ui.Textarea.prototype */ {
'name': this.options.name,
'class': 'cbi-input-textarea',
'readonly': this.options.readonly ? '' : null,
+ 'disabled': this.options.disabled ? '' : null,
'placeholder': this.options.placeholder,
'style': !this.options.cols ? 'width:100%' : null,
'cols': this.options.cols,
@@ -3775,6 +3881,7 @@ var UICheckbox = UIElement.extend(/** @lends LuCI.ui.Checkbox.prototype */ {
'type': 'checkbox',
'value': this.options.value_enabled,
'checked': (this.value == this.options.value_enabled) ? '' : null,
+ 'disabled': this.options.disabled ? '' : null,
'data-widget-id': this.options.id ? 'widget.' + this.options.id : null
}));
@@ -3926,7 +4033,8 @@ var UISelect = UIElement.extend(/** @lends LuCI.ui.Select.prototype */ {
'name': this.options.name,
'size': this.options.size,
'class': 'cbi-input-select',
- 'multiple': this.options.multiple ? '' : null
+ 'multiple': this.options.multiple ? '' : null,
+ 'disabled': this.options.disabled ? '' : null
}));
if (this.options.optional)
@@ -3956,7 +4064,8 @@ var UISelect = UIElement.extend(/** @lends LuCI.ui.Select.prototype */ {
'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
+ 'checked': (this.values.indexOf(keys[i]) > -1) ? '' : null,
+ 'disabled': this.options.disabled ? '' : null
}),
this.choices[keys[i]] || keys[i]
]));
@@ -4181,6 +4290,7 @@ var UIDropdown = UIElement.extend(/** @lends LuCI.ui.Dropdown.prototype */ {
'class': 'cbi-dropdown',
'multiple': this.options.multiple ? '' : null,
'optional': this.options.optional ? '' : null,
+ 'disabled': this.options.disabled ? '' : null
}, E('ul'));
var keys = Object.keys(this.choices);
@@ -5332,7 +5442,8 @@ var UIDynamicList = UIElement.extend(/** @lends LuCI.ui.DynamicList.prototype */
render: function() {
var dl = E('div', {
'id': this.options.id,
- 'class': 'cbi-dynlist'
+ 'class': 'cbi-dynlist',
+ 'disabled': this.options.disabled ? '' : null
}, E('div', { 'class': 'add-item' }));
if (this.choices) {
@@ -5348,7 +5459,8 @@ var UIDynamicList = UIElement.extend(/** @lends LuCI.ui.DynamicList.prototype */
'id': this.options.id ? 'widget.' + this.options.id : null,
'type': 'text',
'class': 'cbi-input-text',
- 'placeholder': this.options.placeholder
+ 'placeholder': this.options.placeholder,
+ 'disabled': this.options.disabled ? '' : null
});
dl.lastElementChild.appendChild(inputEl);
@@ -5458,6 +5570,9 @@ var UIDynamicList = UIElement.extend(/** @lends LuCI.ui.DynamicList.prototype */
var dl = ev.currentTarget,
item = findParent(ev.target, '.item');
+ if (this.options.disabled)
+ return;
+
if (item) {
this.removeItem(dl, item);
}
@@ -5780,7 +5895,8 @@ var UIFileUpload = UIElement.extend(/** @lends LuCI.ui.FileUpload.prototype */ {
return this.bind(E('div', { 'id': this.options.id }, [
E('button', {
'class': 'btn',
- 'click': UI.prototype.createHandlerFn(this, 'handleFileBrowser')
+ 'click': UI.prototype.createHandlerFn(this, 'handleFileBrowser'),
+ 'disabled': this.options.disabled ? '' : null
}, label),
E('div', {
'class': 'cbi-filebrowser'
@@ -6145,6 +6261,84 @@ var UIFileUpload = UIElement.extend(/** @lends LuCI.ui.FileUpload.prototype */ {
});
/**
+ * Handle menu.
+ *
+ * @constructor menu
+ * @memberof LuCI.ui
+ *
+ * @classdesc
+ *
+ * Handles menus.
+ */
+var UIMenu = baseclass.singleton(/** @lends LuCI.ui.menu.prototype */ {
+ /**
+ * @typedef {Object} MenuNode
+ * @memberof LuCI.ui.menu
+
+ * @property {string} name - The internal name of the node, as used in the URL
+ * @property {number} order - The sort index of the menu node
+ * @property {string} [title] - The title of the menu node, `null` if the node should be hidden
+ * @property {satisified} boolean - Boolean indicating whether the menu enries dependencies are satisfied
+ * @property {readonly} [boolean] - Boolean indicating whether the menu entries underlying ACLs are readonly
+ * @property {LuCI.ui.menu.MenuNode[]} [children] - Array of child menu nodes.
+ */
+
+ /**
+ * Load and cache current menu tree.
+ *
+ * @returns {Promise&lt;LuCI.ui.menu.MenuNode>}
+ * Returns a promise resolving to the root element of the menu tree.
+ */
+ load: function() {
+ if (this.menu == null)
+ this.menu = session.getLocalData('menu');
+
+ if (!L.isObject(this.menu)) {
+ this.menu = request.get(L.url('admin/menu')).then(L.bind(function(menu) {
+ this.menu = menu.json();
+ session.setLocalData('menu', this.menu);
+
+ return this.menu;
+ }, this));
+ }
+
+ return Promise.resolve(this.menu);
+ },
+
+ /**
+ * @param {LuCI.ui.menu.MenuNode} [node]
+ * The menu node to retrieve the children for. Defaults to the menu's
+ * internal root node if omitted.
+ *
+ * @returns {LuCI.ui.menu.MenuNode[]}
+ * Returns an array of child menu nodes.
+ */
+ getChildren: function(node) {
+ var children = [];
+
+ if (node == null)
+ node = this.menu;
+
+ for (var k in node.children) {
+ if (!node.children.hasOwnProperty(k))
+ continue;
+
+ if (!node.children[k].satisfied)
+ continue;
+
+ if (!node.children[k].hasOwnProperty('title'))
+ continue;
+
+ children.push(Object.assign(node.children[k], { name: k }));
+ }
+
+ return children.sort(function(a, b) {
+ return ((a.order || 1000) - (b.order || 1000));
+ });
+ }
+});
+
+/**
* @class ui
* @memberof LuCI
* @hideconstructor
@@ -6665,16 +6859,14 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
/** @private */
getActiveTabState: function() {
- var page = document.body.getAttribute('data-page');
+ var page = document.body.getAttribute('data-page'),
+ state = session.getLocalData('tab');
- try {
- var val = JSON.parse(window.sessionStorage.getItem('tab'));
- if (val.page === page &amp;&amp; L.isObject(val.paths))
- return val;
- }
- catch(e) {}
+ if (L.isObject(state) &amp;&amp; state.page === page &amp;&amp; L.isObject(state.paths))
+ return state;
+
+ session.setLocalData('tab', null);
- window.sessionStorage.removeItem('tab');
return { page: page, paths: {} };
},
@@ -6686,17 +6878,12 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
/** @private */
setActiveTabId: function(pane, tabIndex) {
- var path = this.getPathForPane(pane);
-
- try {
- var state = this.getActiveTabState();
- state.paths[path] = tabIndex;
+ var path = this.getPathForPane(pane),
+ state = this.getActiveTabState();
- window.sessionStorage.setItem('tab', JSON.stringify(state));
- }
- catch (e) { return false; }
+ state.paths[path] = tabIndex;
- return true;
+ return session.setLocalData('tab', state);
},
/** @private */
@@ -7002,26 +7189,13 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
* 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) {
- dom.content(i, [ _('Unsaved Changes'), ': ', n ]);
- i.classList.add('flash');
- i.style.display = '';
- document.dispatchEvent(new CustomEvent('uci-new-changes'));
+ UI.prototype.showIndicator('uci-changes',
+ '%s: %d'.format(_('Unsaved Changes'), n),
+ L.bind(this.displayChanges, this));
}
else {
- i.classList.remove('flash');
- i.style.display = 'none';
- document.dispatchEvent(new CustomEvent('uci-clear-changes'));
+ UI.prototype.hideIndicator('uci-changes');
}
},
@@ -7518,6 +7692,8 @@ var UI = baseclass.extend(/** @lends LuCI.ui.prototype */ {
});
},
+ menu: UIMenu,
+
AbstractElement: UIElement,
/* Widgets */
@@ -7546,7 +7722,7 @@ return UI;
<footer>
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Tue Apr 07 2020 16:33:40 GMT+0200 (Central European Summer Time)
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.3</a> on Thu Apr 16 2020 13:30:42 GMT+0200 (Central European Summer Time)
</footer>
</div>
</div>