Leaflet platform for LibreOffice On-Line
========================================
This is the client part of LibreOffice On-Line. For the server part, see the
../loolwsd/README, and install it first.
Build dependencies
------------------
First you need to install 'jake'. As root, do:
npm install -g jake
npm install
Alternatively, you can use the provided zip (as a normal user):
unzip node_modules/modules.zip -d node_modules
Building
--------
As a normal user:
jake build
cd plugins/draw-0.2.4
jake build
Running
-------
To see an example:
* run loolwsd, like:
./loolwsd --lopath=<...>/instdir/program
* edit debug/document/document_simple_example.html, and change
/PATH/TO/DOCUMENT to a file reachable by loolwsd
* open debug/document/document_simple_example.html in the browser, like:
firefox debug/document/document_simple_example.html
and you should see the document in the browser. In case anything goes wrong,
check the loolwsd console for the debugging output.
Contributing
------------
Code conventions:
* 'jake lint' should be run before commiting
* files should have unix line terminators (LF)
* tools to convert files: dos2unix or fromdos
Implementation details
----------------------
Loading a document:
The map should have the following options:
- bounds = top left [0, 0] and something larger in the bottom right corner which
will later be updated
- center at [0, 0] this will try to place the [0, 0] point in the middle of the
map, but it will be moved in the top left corner when the maxBounds are set
- zoom = defautl zoom value, zooming in and out will refer to this value
- server address
The layer (actual document) should have the following options:
- doc = path to the document that will be loaded
- useSocket = tells the map the tiles will be received from a websocket
connection. If this parameter is false, an image will be loaded in each tile
How zooming works:
The zoom level goes from 1 to 20 (thoes limits can be changed) and the initial
level is 10, which represents the 100% zoom level. 9 = 90%, 11 = 110% and so on.
Controls are added above the map in a div called "controls" is intended to be used as a toolbar.
There is no leaflet method of adding them in a separte div, so for now this is done in the html
document after the map initialization.