We now have a global OctoPrintClient, which is the class from which
all clients are derived, and a global OctoPrint, which is a single
instance already setup and ready to use in case we only need one.
It would be cleaner to have clients create that singular instance
themselves, but we need to maintain backward compatibility for now
with how we established the client to work with the 1.3.0 release.
New clients can be create with
client = new OctoPrintClient({ /* options */ });
Alternatively the options can be left out and set at a later point:
client = new OctoPrintClient();
/* ... */
client.options = { /* options */ };
Individual client components register themselves with OctoPrintClient
via OctoPrintClient.registerComponent(name, component) from the
component JS files. Just like before their instances are then
available in the individual client instances under "<client>.<name>",
e.g. "OctoPrint.files".
Plugin components register themselves with OctoPrintClient via
OctoPrintClient.registerPluginComponent(name, component) from the
component JS files. Just like before their instances are then
available in the individual client instances under "<client>.plugins
.<name>", e.g. "OctoPrint.plugins.softwareupdate".
This should make it possible to create dashboard pages utilizing the
JS client that monitor the status of multiple OctoPrint instances,
without workarounds such as having to swap out the options globally
before each request.
See #1681 for the corresponding discussion.
40 lines
1.4 KiB
ReStructuredText
40 lines
1.4 KiB
ReStructuredText
.. _sec-jsclientlib-browser:
|
|
|
|
:mod:`OctoPrintClient.browser`
|
|
------------------------------
|
|
|
|
.. js:function:: OctoPrintClient.browser.login(username, password, remember, opts)
|
|
|
|
Logs the browser into OctoPrint, using the provided ``username`` and
|
|
``password`` as credentials. If ``remember`` is set to ``true``, the session
|
|
will also persist across browser restarts.
|
|
|
|
**Example:**
|
|
|
|
.. code-block:: javascript
|
|
|
|
OctoPrint.browser.login("myusername", "mypassword", true)
|
|
.done(function(response) {
|
|
// do something with the response
|
|
});
|
|
|
|
:param string username: Username to log in with
|
|
:param string password: Password to log in with
|
|
:param bool remember: "Remember me"
|
|
:param object opts: Additional request options
|
|
:returns Promise: A `jQuery Promise <http://api.jquery.com/Types/#Promise>`_ for the request's response
|
|
|
|
.. js:function:: OctoPrintClient.browser.passiveLogin(opts)
|
|
|
|
Tries to perform a passive login into OctoPrint, using existing session data
|
|
stored in the browser's cookies.
|
|
|
|
:param object opts: Additional request options
|
|
:returns Promise: A `jQuery Promise <http://api.jquery.com/Types/#Promise>`_ for the request's response
|
|
|
|
.. js:function:: OctoPrintClient.browser.logout(opts)
|
|
|
|
Logs the browser out of OctoPrint.
|
|
|
|
:param object opts: Additional request options
|
|
:returns Promise: A `jQuery Promise <http://api.jquery.com/Types/#Promise>`_ for the request's response
|