=====
Usage
=====
This guide contains Javascript usage, see :ref:`Markup Guide` and :ref:`Themes` for Html and CSS usage.
In html file there are two nested div elements with class name *.rs-container* and *.rs-pt3d* which serve as the base container.
.. code-block:: html
:linenos:
To bootstrap the app in javascript, query *.rs-pt3d* element and pass it as an input argument to PhotoWheel constructor:
.. code-block:: javascript
:linenos:
var el = document.querySelector('.rs-pt3d');
var pt3d = new PhotoTile(el);
A second object argument filled with :ref:`configuration options` can be passed to the constructor:
.. code-block:: javascript
:linenos:
var pt3d = new PhotoTile(el, {
columns:25,
rows:4,
doubleItemCount:8,
flipItemCount:10,
categoryMenu:{
horizontal:true
}
});
API Methods
-----------
* **target(index)**
Target an item, bring it to center front and show its title and description.
*index*: The item index
* **next**
Target the next item in current category
* **prev**
Target the previous item in current category
Dispatched Events
-----------------
* **cload**
Fire when a category is beginning to load
* **cloadcomplete**
Fire when a category is finished loading
* **target**
Fire when an item is being targeted
Examples
--------
Assign pt3d to window context then call its API methods:
.. code-block:: javascript
:linenos:
window.pt3d = pt3d;
// Target item with id: 1
pt3d.target(1);
// ...
// Target next item
pt3d.next();
// ...
// Target previous item
pt3d.prev();
Add event listeners:
.. code-block:: javascript
:linenos:
// Trigger every time an item is targeted
pt3d.addEventListener('target', function(e) {
console.log(e.detail);
});
// Trigger when a category begins to load
pt3d.addEventListener('cload', function(e) {
console.log(e.detail);
});
// Trigger when a category finished loading
pt3d.addEventListener('cloadcomplete', function(e) {
console.log(e.detail);
});