new LuCI(env)
Name | Type | Description |
---|---|---|
env |
Object |
The environment settings to use for the LuCI runtime. |
Classes
Members
-
env
-
The
env
object holds environment settings used by LuCI, such as request timeouts, base URLs etc.
Methods
-
bind(fn, self, args){function}
luci.js, line 1340 -
Return a bound function using the given
self
asthis
context and any further arguments as parameters to the bound function.Name Type Description fn
function The function to bind.
self
* The value to bind as
this
context to the specified function.args
* optional repeatable Zero or more variable arguments which are bound to the function as parameters.
Returns:
Type Description function Returns the bound function. -
error(type, fmt, args)
luci.js, line 1300 -
A wrapper around
raise()
which also renders the error either as modal overlay whenui.js
is already loaed or directly into the view body.Name Type Default Description type
Error | string Error optional Either a string specifying the type of the error to throw or an existing
Error
instance to copy.fmt
string Unspecified error optional A format string which is used to form the error message, together with all subsequent optional arguments.
args
* optional repeatable Zero or more variable arguments to the supplied format string.
Throws:
-
Throws the created error object with the captured stack trace appended to the message and the type set to the given type argument or copied from the given error instance.
- Type
- Error
-
-
get(url, args, cb){Promise.<null>}
luci.js, line 1918 -
Issues a GET request to the given url and invokes the specified callback function. The function is a wrapper around
Request.request()
.Name Type Description url
string The URL to request.
args
Object.<string, string> optional Additional query string arguments to append to the URL.
cb
LuCI.requestCallbackFn The callback function to invoke when the request finishes.
- Deprecated
- Yes
Returns:
Type Description Promise.<null> Returns a promise resolving to null
when concluded. -
halt(){boolean}
luci.js, line 2040 -
Deprecated wrapper around
Poll.stop()
.- Deprecated
- Yes
Returns:
Type Description boolean Returns true
when the polling loop has been stopped orfalse
when it didn't run to begin with. -
hasSystemFeature(feature, subfeature){boolean|null}
luci.js, line 1574 -
Test whether a particular system feature is available, such as hostapd SAE support or an installed firewall. The features are queried once at the beginning of the LuCI session and cached in
SessionStorage
throughout the lifetime of the associated tab or browser window.Name Type Description feature
string The feature to test. For detailed list of known feature flags, see
/modules/luci-base/root/usr/libexec/rpcd/luci
.subfeature
string optional Some feature classes like
hostapd
provide sub-feature flags, such assae
or11w
support. Thesubfeature
argument can be used to query these.Returns:
Type Description boolean | null Return true
if the queried feature (and sub-feature) is available orfalse
if the requested feature isn't present or known. Returnnull
when a sub-feature was queried for a feature which has no sub-features. -
isObject(val){boolean}
luci.js, line 1765 -
Tests whether the passed argument is a JavaScript object. This function is meant to be an object counterpart to the standard
Array.isArray()
function.Name Type Description val
* optional The value to test
Returns:
Type Description boolean Returns true
if the given value is of type object and notnull
, else returnsfalse
. -
location(){string}
luci.js, line 1745 -
Return the complete URL path to the current view.
Returns:
Type Description string Returns the URL path to the current view. -
path(prefix, parts){string}
luci.js, line 1679 -
Construct a relative URL path from the given prefix and parts. The resulting URL is guaranteed to only contain the characters
a-z
,A-Z
,0-9
,_
,.
,%
,,
,;
, and-
as well as/
for the path separator.Name Type Description prefix
string optional The prefix to join the given parts with. If the
prefix
is omitted, it defaults to an empty string.parts
Array.<string> optional An array of parts to join into an URL path. Parts may contain slashes and any of the other characters mentioned above.
Returns:
Type Description string Return the joined URL path. -
poll(interval, url, args, cb, post){function}
luci.js, line 1988 -
Register a polling HTTP request that invokes the specified callback function. The function is a wrapper around
Request.poll.add()
.Name Type Default Description interval
number The poll interval to use. If set to a value less than or equal to
0
, it will default to the global poll interval configured inLuCI.env.pollinterval
.url
string The URL to request.
args
Object.<string, string> optional Specifies additional arguments for the request. For GET requests, the arguments are appended to the URL as query string, for POST requests, they'll be added to the request body.
cb
LuCI.requestCallbackFn The callback function to invoke whenever a request finishes.
post
boolean false optional When set to
false
or not specified, poll requests will be made using the GET method. When set totrue
, POST requests will be issued. In case of POST requests, the request body will contain an argumenttoken
with the current value ofLuCI.env.token
by default, regardless of the parameters specified withargs
.- Deprecated
- Yes
Returns:
Type Description function Returns the internally created function that has been passed to Request.poll.add()
. This value can be passed toPoll.remove()
to remove the polling request. -
post(url, args, cb){Promise.<null>}
luci.js, line 1946 -
Issues a POST request to the given url and invokes the specified callback function. The function is a wrapper around
Request.request()
. The request is sent usingapplication/x-www-form-urlencoded
encoding and will contain a fieldtoken
with the current value ofLuCI.env.token
by default.Name Type Description url
string The URL to request.
args
Object.<string, string> optional Additional post arguments to append to the request body.
cb
LuCI.requestCallbackFn The callback function to invoke when the request finishes.
- Deprecated
- Yes
Returns:
Type Description Promise.<null> Returns a promise resolving to null
when concluded. -
raise(type, fmt, args)
luci.js, line 1234 -
Captures the current stack trace and throws an error of the specified type as a new exception. Also logs the exception as error to the debug console if it is available.
Name Type Default Description type
Error | string Error optional Either a string specifying the type of the error to throw or an existing
Error
instance to copy.fmt
string Unspecified error optional A format string which is used to form the error message, together with all subsequent optional arguments.
args
* optional repeatable Zero or more variable arguments to the supplied format string.
Throws:
-
Throws the created error object with the captured stack trace appended to the message and the type set to the given type argument or copied from the given error instance.
- Type
- Error
-
-
require(name){Promise.<LuCI#Class>}
luci.js, line 1379 -
Load an additional LuCI JavaScript class and its dependencies, instantiate it and return the resulting class instance. Each class is only loaded once. Subsequent attempts to load the same class will return the already instantiated class.
Name Type Description name
string The name of the class to load in dotted notation. Dots will be replaced by spaces and joined with the runtime-determined base URL of LuCI.js to form an absolute URL to load the class file from.
Throws:
-
-
Throws a
DependencyError
when the class to load includes circular dependencies. - Type
- DependencyError
-
-
-
Throws
NetworkError
when the underlyingLuCI.Request
call failed. - Type
- NetworkError
-
-
-
Throws
SyntaxError
when the loaded class file code cannot be interpreted byeval
. - Type
- SyntaxError
-
-
-
Throws
TypeError
when the class file could be loaded and interpreted, but when invoking its code did not yield a valid class instance. - Type
- TypeError
-
Returns:
Type Description Promise.<LuCI#Class> Returns the instantiated class. -
-
resolveDefault(value, defvalue){Promise.<*>}
luci.js, line 1873 -
Returns a promise resolving with either the given value or or with the given default in case the input value is a rejecting promise.
Name Type Description value
* The value to resolve the promise with.
defvalue
* The default value to resolve the promise with in case the given input value is a rejecting promise.
Returns:
Type Description Promise.<*> Returns a new promise resolving either to the given input value or to the given default value on error. -
resource(parts){string}
luci.js, line 1732 -
Construct an URL path relative to the global static resource path of the LuCI ui (usually
/luci-static/resources
).The resulting URL is guaranteed to only contain the characters
a-z
,A-Z
,0-9
,_
,.
,%
,,
,;
, and-
as well as/
for the path separator.Name Type Description parts
Array.<string> optional An array of parts to join into an URL path. Parts may contain slashes and any of the other characters mentioned above.
Returns:
Type Description string Returns the resulting URL path. -
run(){boolean}
luci.js, line 2053 -
Deprecated wrapper around
Poll.start()
.- Deprecated
- Yes
Returns:
Type Description boolean Returns true
when the polling loop has been started orfalse
when it was already running. -
sortedKeys(obj, key, sortmode){Array.<string>}
luci.js, line 1794 -
Return an array of sorted object keys, optionally sorted by a different key or a different sorting mode.
Name Type Description obj
object The object to extract the keys from. If the given value is not an object, the function will return an empty array.
key
string optional Specifies the key to order by. This is mainly useful for nested objects of objects or objects of arrays when sorting shall not be performed by the primary object keys but by some other key pointing to a value within the nested values.
sortmode
string optional May be either
addr
ornum
to override the natural lexicographic sorting with a sorting suitable for IP/MAC style addresses or numeric values respectively.Returns:
Type Description Array.<string> Returns an array containing the sorted keys of the given object. -
stop(entry){boolean}
luci.js, line 2027 -
Deprecated wrapper around
Poll.remove()
.Name Type Description entry
function The polling function to remove.
- Deprecated
- Yes
Returns:
Type Description boolean Returns true
when the function has been removed orfalse
if it could not be found. -
toArray(val){Array.<*>}
luci.js, line 1839 -
Converts the given value to an array. If the given value is of type array, it is returned as-is, values of type object are returned as one-element array containing the object, empty strings and
null
values are returned as empty array, all other values are converted usingString()
, trimmed, split on white space and returned as array.Name Type Description val
* The value to convert into an array.
Returns:
Type Description Array.<*> Returns the resulting array. -
url(parts){string}
luci.js, line 1710 -
Construct an URL pathrelative to the script path of the server side LuCI application (usually
/cgi-bin/luci
).The resulting URL is guaranteed to only contain the characters
a-z
,A-Z
,0-9
,_
,.
,%
,,
,;
, and-
as well as/
for the path separator.Name Type Description parts
Array.<string> optional An array of parts to join into an URL path. Parts may contain slashes and any of the other characters mentioned above.
Returns:
Type Description string Returns the resulting URL path.
Type Definitions
-
LuCI.requestCallbackFn(xhr, data, duration)
luci.js, line 1877 -
The request callback function is invoked whenever an HTTP reply to a request made using the
L.get()
,L.post()
orL.poll()
function is timed out or received successfully.Name Type Description xhr
XMLHTTPRequest The XMLHTTPRequest instance used to make the request.
data
* The response JSON if the response could be parsed as such, else
null
.duration
number The total duration of the request in milliseconds.