← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 7286: Add drag and scroll function for event-schedule in entry form.

 

------------------------------------------------------------
revno: 7286
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2012-06-13 16:50:22 +0700
message:
  Add drag and scroll function for event-schedule in entry form.
added:
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/jquery.mousewheel.js
modified:
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataRecordingSelect.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataRecordingSelect.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataRecordingSelect.vm	2012-06-08 07:22:50 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataRecordingSelect.vm	2012-06-13 09:50:22 +0000
@@ -1,3 +1,29 @@
+<script type="text/javascript" src="javascript/jquery.mousewheel.js"></script>
+
+<script>
+ $(document).ready(function () {        
+        $('#programInstanceFlowDiv').mousedown(function (event) {
+            $(this)
+                .data('down', true)
+                .data('x', event.clientX)
+                .data('scrollLeft', this.scrollLeft);
+                
+            return false;
+        }).mouseup(function (event) {
+            $(this).data('down', false);
+        }).mousemove(function (event) {
+            if ($(this).data('down') == true) {
+                this.scrollLeft = $(this).data('scrollLeft') + $(this).data('x') - event.clientX;
+            }
+        }).mousewheel(function (event, delta) {
+            this.scrollLeft -= (delta * 30);
+        }).css({
+            'overflow' : 'hidden',
+            'cursor' : '-moz-grab'
+        });
+	});
+</script>
+
 <form id='dataRecordingSelectForm' name='dataRecordingSelectForm' method='post'>
    	
 <table class="mainPageTable" id='patientInfoDiv'> 
@@ -52,7 +78,7 @@
 </div>
 
 <div id='programInstanceDiv' class='hidden '>
-	<div id='programInstanceFlowDiv' style="width:500px;height:81px;overflow-x:auto;">
+	<div id='programInstanceFlowDiv' style="width:500px;height:70px;overflow-x:auto;">
 		<table>
 			<tr id='programStageIdTR'></tr>
 		</table>

=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/jquery.mousewheel.js'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/jquery.mousewheel.js	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/jquery.mousewheel.js	2012-06-13 09:50:22 +0000
@@ -0,0 +1,85 @@
+/* Copyright (c) 2006 Brandon Aaron (brandon.aaron@xxxxxxxxx || http://brandonaaron.net)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ * 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.
+ *
+ * $LastChangedDate: 2007-12-14 23:57:10 -0600 (Fri, 14 Dec 2007) $
+ * $Rev: 4163 $
+ *
+ * Version: @VERSION
+ * 
+ * Requires: $ 1.2.2+
+ */
+
+(function($) {
+
+$.event.special.mousewheel = {
+	setup: function() {
+		var handler = $.event.special.mousewheel.handler;
+		
+		// Fix pageX, pageY, clientX and clientY for mozilla
+		if ( $.browser.mozilla )
+			$(this).bind('mousemove.mousewheel', function(event) {
+				$.data(this, 'mwcursorposdata', {
+					pageX: event.pageX,
+					pageY: event.pageY,
+					clientX: event.clientX,
+					clientY: event.clientY
+				});
+			});
+	
+		if ( this.addEventListener )
+			this.addEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
+		else
+			this.onmousewheel = handler;
+	},
+	
+	teardown: function() {
+		var handler = $.event.special.mousewheel.handler;
+		
+		$(this).unbind('mousemove.mousewheel');
+		
+		if ( this.removeEventListener )
+			this.removeEventListener( ($.browser.mozilla ? 'DOMMouseScroll' : 'mousewheel'), handler, false);
+		else
+			this.onmousewheel = function(){};
+		
+		$.removeData(this, 'mwcursorposdata');
+	},
+	
+	handler: function(event) {
+		var args = Array.prototype.slice.call( arguments, 1 );
+		
+		event = $.event.fix(event || window.event);
+		// Get correct pageX, pageY, clientX and clientY for mozilla
+		$.extend( event, $.data(this, 'mwcursorposdata') || {} );
+		var delta = 0, returnValue = true;
+		
+		if ( event.wheelDelta ) delta = event.wheelDelta/120;
+		if ( event.detail     ) delta = -event.detail/3;
+		if ( $.browser.opera  ) delta = -event.wheelDelta;
+		
+		event.data  = event.data || {};
+		event.type  = "mousewheel";
+		
+		// Add delta to the front of the arguments
+		args.unshift(delta);
+		// Add event to the front of the arguments
+		args.unshift(event);
+
+		return $.event.handle.apply(this, args);
+	}
+};
+
+$.fn.extend({
+	mousewheel: function(fn) {
+		return fn ? this.bind("mousewheel", fn) : this.trigger("mousewheel");
+	},
+	
+	unmousewheel: function(fn) {
+		return this.unbind("mousewheel", fn);
+	}
+});
+
+})(jQuery);
\ No newline at end of file