aboutsummaryrefslogtreecommitdiffstats
path: root/view/theme/diabook/js
diff options
context:
space:
mode:
authortommy tomson <thomas.bierey@gmx.de>2012-05-07 02:24:43 +0200
committertommy tomson <thomas.bierey@gmx.de>2012-05-07 02:24:43 +0200
commit3d0a0b6abfcb2e2fcb28a0b415d026c25de260d5 (patch)
tree22dd9c4d561363372f2e9a9de2298cecb1e4b4f9 /view/theme/diabook/js
parent66b9b607929c6c406fc814a16f5dcfecb219500c (diff)
downloadvolse-hubzilla-3d0a0b6abfcb2e2fcb28a0b415d026c25de260d5.tar.gz
volse-hubzilla-3d0a0b6abfcb2e2fcb28a0b415d026c25de260d5.tar.bz2
volse-hubzilla-3d0a0b6abfcb2e2fcb28a0b415d026c25de260d5.zip
diabook-theme: add "Earth Layers"-box at right_side
Diffstat (limited to 'view/theme/diabook/js')
-rw-r--r--view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js85
-rw-r--r--view/theme/diabook/js/jquery.mousewheel.js84
2 files changed, 169 insertions, 0 deletions
diff --git a/view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js b/view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js
new file mode 100644
index 000000000..ebdce3bf3
--- /dev/null
+++ b/view/theme/diabook/js/jquery.mapquery.mqZoomSlider.js
@@ -0,0 +1,85 @@
+/* Copyright (c) 2011 by MapQuery Contributors (see AUTHORS for
+ * full list of contributors). Published under the MIT license.
+ * See https://github.com/mapquery/mapquery/blob/master/LICENSE for the
+ * full text of the license. */
+
+
+/**
+#jquery.mapquery.mqZoomSlider.js
+The file containing the mqZoomSlider Widget
+
+### *$('selector')*.`mqZoomSlider([options])`
+_version added 0.1_
+####**Description**: create a widget to show a zoom slider
+
+ + **options**:
+ - **map**: the mapquery instance
+
+>Returns: widget
+
+
+The mqZoomSlider widget allows us to display a vertical zoom slider.
+
+
+ $('#zoomslider').mqZoomSlider({
+ map: '#map'
+ });
+
+ */
+(function($) {
+$.template('mqZoomSlider',
+ '<div class="mq-zoomslider ui-widget ui-helper-clearfix ">'+
+ '<div class="mq-zoomslider-slider"></div>'+
+ '</div>');
+
+$.widget("mapQuery.mqZoomSlider", {
+ options: {
+ // The MapQuery instance
+ map: undefined
+
+ },
+ _create: function() {
+ var map;
+ var zoom;
+ var numzoomlevels;
+ var self = this;
+ var element = this.element;
+
+ //get the mapquery object
+ map = $(this.options.map).data('mapQuery');
+
+ $.tmpl('mqZoomSlider').appendTo(element);
+
+ numzoomlevels = map.options.numZoomLevels;
+ $(".mq-zoomslider-slider", element).slider({
+ max: numzoomlevels,
+ min:2,
+ orientation: 'vertical',
+ step: 1,
+ value: numzoomlevels - map.center().zoom,
+ slide: function(event, ui) {
+ map.center({zoom:numzoomlevels-ui.value});
+ },
+ change: function(event, ui) {
+ map.center({zoom:numzoomlevels-ui.value});
+ }
+ });
+ map.bind("zoomend",
+ {widget:self,map:map,control:element},
+ self._onZoomEnd);
+
+ },
+ _destroy: function() {
+ this.element.removeClass(' ui-widget ui-helper-clearfix ' +
+ 'ui-corner-all')
+ .empty();
+ },
+ _zoomEnd: function (element,map) {
+ var slider = element.find('.mq-zoomslider-slider');
+ slider.slider('value',map.options.numZoomLevels-map.center().zoom);
+ },
+ _onZoomEnd: function(evt) {
+ evt.data.widget._zoomEnd(evt.data.control,evt.data.map);
+ }
+});
+})(jQuery); \ No newline at end of file
diff --git a/view/theme/diabook/js/jquery.mousewheel.js b/view/theme/diabook/js/jquery.mousewheel.js
new file mode 100644
index 000000000..f1d5f72fd
--- /dev/null
+++ b/view/theme/diabook/js/jquery.mousewheel.js
@@ -0,0 +1,84 @@
+/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
+ * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
+ * Thanks to: Seamus Leahy for adding deltaX and deltaY
+ *
+ * Version: 3.0.6
+ *
+ * Requires: 1.2.2+
+ */
+
+(function($) {
+
+var types = ['DOMMouseScroll', 'mousewheel'];
+
+if ($.event.fixHooks) {
+ for ( var i=types.length; i; ) {
+ $.event.fixHooks[ types[--i] ] = $.event.mouseHooks;
+ }
+}
+
+$.event.special.mousewheel = {
+ setup: function() {
+ if ( this.addEventListener ) {
+ for ( var i=types.length; i; ) {
+ this.addEventListener( types[--i], handler, false );
+ }
+ } else {
+ this.onmousewheel = handler;
+ }
+ },
+
+ teardown: function() {
+ if ( this.removeEventListener ) {
+ for ( var i=types.length; i; ) {
+ this.removeEventListener( types[--i], handler, false );
+ }
+ } else {
+ this.onmousewheel = null;
+ }
+ }
+};
+
+$.fn.extend({
+ mousewheel: function(fn) {
+ return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
+ },
+
+ unmousewheel: function(fn) {
+ return this.unbind("mousewheel", fn);
+ }
+});
+
+
+function handler(event) {
+ var orgEvent = event || window.event, args = [].slice.call( arguments, 1 ), delta = 0, returnValue = true, deltaX = 0, deltaY = 0;
+ event = $.event.fix(orgEvent);
+ event.type = "mousewheel";
+
+ // Old school scrollwheel delta
+ if ( orgEvent.wheelDelta ) { delta = orgEvent.wheelDelta/120; }
+ if ( orgEvent.detail ) { delta = -orgEvent.detail/3; }
+
+ // New school multidimensional scroll (touchpads) deltas
+ deltaY = delta;
+
+ // Gecko
+ if ( orgEvent.axis !== undefined && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) {
+ deltaY = 0;
+ deltaX = -1*delta;
+ }
+
+ // Webkit
+ if ( orgEvent.wheelDeltaY !== undefined ) { deltaY = orgEvent.wheelDeltaY/120; }
+ if ( orgEvent.wheelDeltaX !== undefined ) { deltaX = -1*orgEvent.wheelDeltaX/120; }
+
+ // Add event and delta to the front of the arguments
+ args.unshift(event, delta, deltaX, deltaY);
+
+ return ($.event.dispatch || $.event.handle).apply(this, args);
+}
+
+})(jQuery); \ No newline at end of file