MrDraw/docs/jsclientlib/index.rst
2016-10-18 11:26:17 +02:00

63 lines
2.1 KiB
ReStructuredText

.. _sec-jsclientlib:
#########################
JavaScript Client Library
#########################
The JS Client Library provides an interface to all of OctoPrint's API, including the SockJS based socket to send
push messages from the server to connected clients. It is available as packed web asset file at ``/static/webassets/packed_client.js`` or as individual
component files at ``/static/js/app/client/<component>.js`` relative to your
OctoPrint instance's base URL (e.g. ``http://octopi.local/static/webassets/packed_client.js``).
If you are using it from a web page hosted on OctoPrint as a Jinja2 template, you should use one of the following
methods to embed it instead of manually entering the URL, in order to have OctoPrint take care of setting the
correct URL prefix:
.. code-block:: html
<!--
full client library or all individual files, depending
on the server mode - should be the preferred variant
-->
{% assets "js_client" %}<script type="text/javascript" src="{{ ASSET_URL }}"></script>{% endassets %}
<!--
full client library
-->
<script type="text/javascript" src="{{ url_for("static", filename="webassets/packed_client.js") }}"></script>
<!--
individual components
-->
<script type="text/javascript" src="{{ url_for("static", filename="js/app/client/<component>.js") }}"></script>
Note that all components depend on the ``base`` component to be present, so if you are only including a select
number of components, make sure to at the very least include that one to be able to utilize the client.
.. seealso::
`OctoPrint-ForceLogin <https://github.com/OctoPrint/OctoPrint-ForceLogin>`_
A plugin that disables anonymous access to the regular OctoPrint UI by implementing a custom UI. Utilizes the
client library's :ref:`browser component <sec-jsclientlib-browser>` to login the user.
.. toctree::
:maxdepth: 3
base.rst
browser.rst
connection.rst
control.rst
files.rst
job.rst
languages.rst
logs.rst
printer.rst
printerprofiles.rst
settings.rst
slicing.rst
socket.rst
system.rst
timelapse.rst
users.rst
util.rst
wizard.rst