Skip to content

Commit

Permalink
Merge branch 'release-0.10.0' of https://github.com/CometVisu/CometVisu
Browse files Browse the repository at this point in the history
… into release-0.10.0
  • Loading branch information
ChristianMayer committed Feb 23, 2017
2 parents 1740084 + 988acf4 commit 7c4fb70
Show file tree
Hide file tree
Showing 6 changed files with 122 additions and 11 deletions.
15 changes: 14 additions & 1 deletion Gruntfile.js
Expand Up @@ -82,6 +82,7 @@ module.exports = function(grunt) {
'!release/icon/knx-uf-iconset/knx-uf-iconset/**',
'release/lib/**',
'release/plugins/**',
'release/transforms/**',
'release/upgrade/**',
'release/*',
'!release/build.txt'
Expand Down Expand Up @@ -210,6 +211,7 @@ module.exports = function(grunt) {
'visu_config.xsd',
'dependencies/require-2.1.15.min.js',
'icon/*.{png,svg}',
'!icon/knx-uf-iconset.svg', // don't include the big icon file as it might be too big and prevent the caching of the other files
'designs/**/*.{js,css,png,ttf,svg}',
'plugins/**/*.{js,css,png,ttf,svg}',
'!plugins/diagram/dep/flot/*.js', // alreay mangled in the plugin
Expand Down Expand Up @@ -601,6 +603,17 @@ module.exports = function(grunt) {
// 'git add external/knx-uf-iconset',
//'git commit -m "icons updated"'
].join('&&')
},
// additional build step - TODO include into requirejs when known how to do it...
// Copy the required files for the 2D demo - and all other files by the
// user which try to achive similiar effects
postbuild: {
command: [
'cp src/dependencies/jquery.js release/dependencies/',
'cp src/lib/CometVisuClient.js release/lib/',
'mkdir release/transforms',
'cp src/transforms/Transform*.js release/transforms/'
].join('&&')
}
},

Expand Down Expand Up @@ -700,7 +713,7 @@ module.exports = function(grunt) {
// Default task runs all code checks, updates the banner and builds the release
grunt.registerTask('buildicons', ['clean:iconcache', 'svgmin', 'svgstore', 'handle-kuf-svg']);
//grunt.registerTask('default', [ 'jshint', 'jscs', 'usebanner', 'requirejs', 'manifest', 'compress:tar', 'compress:zip' ]);
grunt.registerTask('build', [ 'updateicons', 'jscs', 'clean', 'file-creator', 'buildicons', 'requirejs', 'manifest', 'update-demo-config', 'chmod', 'compress:tar', 'compress:zip' ]);
grunt.registerTask('build', [ 'updateicons', 'jscs', 'clean', 'file-creator', 'buildicons', 'requirejs', 'shell:postbuild', 'manifest', 'update-demo-config', 'chmod', 'compress:tar', 'compress:zip' ]);
grunt.registerTask('lint', [ 'jshint', 'jscs' ]);

grunt.registerTask('release', [ 'prompt', 'build', 'github-release' ]);
Expand Down
10 changes: 10 additions & 0 deletions doc/manual/de/config/mapping.rst
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
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
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
@@ -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
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 7c4fb70

Please sign in to comment.