Skip to content

Commit

Permalink
fix for iOS touch handling #520
Browse files Browse the repository at this point in the history
Merge branch 'Jens-Me-develop' into HEAD
  • Loading branch information
ChristianMayer committed Feb 23, 2017
2 parents cf35e03 + e514455 commit 988acf4
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 10 deletions.
10 changes: 10 additions & 0 deletions doc/manual/de/config/mapping.rst
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,16 @@ Beispielsweise kann man damit °C in °F umrechnen:
</info>
</group>

Mit diesem Beispiel können fehlerhafte Sensoren in einer Übersichtsseite markiert werden.
Sensoren liefern in der Regel nummerische Werte. Bleiben diesen aus, kann z.B. das expire-Binding
in openHAB einen negativen Wert zurückliefern. Das Mapping würde ein *OK* oder *not OK* liefern:

.. code-block:: xml
<mapping name="SensorAlarm">
<formula>y = (x >= 0) ? "OK" : "not OK";</formula>
</mapping>
Formeln (Advanced)
------------------

Expand Down
13 changes: 9 additions & 4 deletions doc/manual/de/config/widgets/include/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,27 @@ Das Include Widget
Beschreibung
------------

Das Include Widget ist im eigentlichen kein Widget, denn es bewirkt keine sichtbaren Änderungen
Das Include Widget ist im eigentlichen Sinn kein Widget, denn es bewirkt keine sichtbaren Änderungen
in der Visualisierung.

Mit Hilfe des Include-Elements kann man seine visu_config.xml Datei in mehrere Dateien aufteilen.
Das kann bei sehr großen Dateien, hilfreich sein, den Überblick zu bewahren, wenn man den XML-Code direkt
bearbeiten möchte.
bearbeiten möchte. Außerdem können bei mehreren visu_config_<variable>.xml Dateien redundante Abschnitte ausgelagert werden.

.. code-block:: xml
<page>
<include src="Wohnzimmer.xml"/>
<include src="Schlafzimmer.xml"/>
<include src="config/Wohnzimmer.xml"/>
<include src="config/Schlafzimmer.xml"/>
...
</page>
Wie im Beispiel zu sehen, kann man z.B. für jeden Raum eine eigene XML-Datei anlegen und diese dann mittels
``include`` an der gewünschten Stelle in der eigentlichen *visu_config.xml* einbinden.

.. hint::
Der Pfad zu den inkludierten Dateien muss relative zum Wurzelverzeichnis angegeben werden (also das Verzeichnis in dem
die index.html liegt). Wenn die einzubindende Datei im config-Ordner liegt, muss also ``src=config/<dateiname>``
angegeben werden (siehe Beispielcode oben).


2 changes: 2 additions & 0 deletions doc/manual/de/install/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Einfache Installation:
- :doc:`Allgemein <allgemein>`
- :doc:`auf Wiregate <wiregate>`
- :doc:`auf Raspberry Pi <raspberry>`
- :doc:`auf einem Debian System mit openHAB2 <openhab2>`

.. toctree::
:hidden:
Expand All @@ -15,6 +16,7 @@ Einfache Installation:
wiregate
raspberry
install-dev
openhab2

Schwieriger, nur für Fortgeschrittene:

Expand Down
37 changes: 37 additions & 0 deletions doc/manual/de/install/openhab2.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Installation auf einem Debian System mit openHAB2
=================================================

Voraussetzung ist hier, dass openHAB2 per apt-get installiert wurde, ansonsten müssen ggf. die Pfade
angepasst werden.
Die CometVisu kann hier herunter geladen werden: https://github.com/CometVisu/CometVisu/releases.
Das entpackte Paket enthält den Ordner *cometvisu/release*, welches nach /var/www/cometvisu
kopiert werden muss. Außerdem sind die Berechtigungen für den openhab User zu setzen.

.. code-block:: bash
cp -r cometvisu/release /var/www/cometvisu
chown -R openhab:openhab /var/www/cometvisu
mkdir -p /etc/openhab2/cometvisu/config
mkdir -p /etc/openhab2/cometvisu/designs
chown -R openhab:openhab /etc/openhab2/cometvisu
Die zwei Verzeichnisse */etc/openhab2/cometvisu/config* und */etc/openhab2/cometvisu/designs* werden die Konfigurationen
der CometVisu enthalten und sind durch die separate Lokation vor Upgrades geschützt. Nur wenn diese Verzeichnisse nicht
vorhanden sind, wird CometVisu die Konfiguration in */etc/openhab2/html/cometvisu/config* suchen.

Damit openHAB2 mit der CometVisu kommunizieren kann, ist die entsprechende Erweiterung über die PaperUI (http://openhab_adresse:8080)
-> Add-ons -> User Interfaces -> CometVisu zu installieren. Wenn auch noch der CometVisu Editor benutzt werden soll, ist die
Erweiterung *PHP support for CometVisu* zu installieren.
Die openHAB2 Konfigurationsdatei cometvisu.cfg befindet sich, wie alle anderen Konfigurationen der openHAB Erweiterungen,
unter */etc/openhab2/services/* und sollte die Direktive

.. code-block:: ini
webFolder=/var/www/cometvisu/
webAlias=/cometvisu
enthalten.

Die CometVisu ist direkt unter der URL ``http://openhab_adresse:8080/cometvisu/?config=<name>`` im Browser erreichbar,
wobei sich ``<name>`` vom Namen der ``visu_config_<name>.xml`` ableitet.
56 changes: 50 additions & 6 deletions src/plugins/colorchooser/farbtastic/farbtastic.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,8 @@ $._farbtastic = function (container, callback) {
* Mousedown handler
*/
fb.mousedown = function (event) {
// Capture mouse
if (!document.dragging) {
$(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup);
document.dragging = true;
}



// Check which area is being dragged
var pos = fb.widgetCoords(event);
Expand All @@ -129,6 +126,35 @@ $._farbtastic = function (container, callback) {
return false;
};

/**
* TouchConvert: Converts touch co-ordinates to mouse co-ordinates
*/
fb.touchconvert = function (e) {
var e = e.originalEvent.touches.item(0);
return e;
}

/**
* Touchmove handler for iPad, iPhone etc
*/
fb.touchmove = function (e) {
fb.mousemove( fb.touchconvert(e) );
event.preventDefault();
return false;
}

/**
* Touchend handler for iPad, iPhone etc
*/
fb.touchend = function (event) {
$(document).unbind('touchmove', fb.touchmove);
$(document).unbind('touchend', fb.touchend);
document.dragging = false;
event.preventDefault();
return false;
}


/**
* Mousemove handler
*/
Expand Down Expand Up @@ -262,8 +288,26 @@ $._farbtastic = function (container, callback) {
};

// Install mousedown handler (the others are set on the document on-demand)
$('*', e).mousedown(fb.mousedown);
$('*', e).mousedown(function(e){
// Capture mouse
if (!document.dragging) {
$(document).bind('mousemove', fb.mousemove).bind('mouseup', fb.mouseup);
document.dragging = true;
}
fb.mousedown(e);
});

// TouchStart bound, calls conversion of touchpoints to mousepoints
$('*', e).bind("touchstart", function (e) {
// Capture mouse
if (!document.dragging) {
$(document).bind('touchmove', fb.touchmove).bind('touchend', fb.touchend);
document.dragging = true;
}
fb.mousedown( fb.touchconvert(e) );
e.preventDefault();
return false;
});
// Init color
fb.setColor('#000000');

Expand Down

0 comments on commit 988acf4

Please sign in to comment.