11/*!
2- * angularjs-color-picker v2.4.7
2+ * angularjs-color-picker v2.4.8
33 * https://github.com/ruhley/angular-color-picker/
44 *
55 * Copyright 2016 ruhley
66 *
7- * 2016-09-20 08:25:47
7+ * 2016-09-26 08:41:56
88 *
99 */
1010
@@ -714,7 +714,9 @@ var AngularColorPickerController = function () {
714714 event . preventDefault ( ) ;
715715
716716 var el = this . find ( '.color-picker-hue' ) ;
717- this . hue = ( 1 - ( event . pageY - this . offset ( el ) . top ) / el . prop ( 'offsetHeight' ) ) * 360 ;
717+ var eventPos = this . getEventPos ( event ) ;
718+
719+ this . hue = ( 1 - ( eventPos . pageY - this . offset ( el ) . top ) / el . prop ( 'offsetHeight' ) ) * 360 ;
718720
719721 if ( this . hue > 360 ) {
720722 this . hue = 360 ;
@@ -768,7 +770,9 @@ var AngularColorPickerController = function () {
768770 event . preventDefault ( ) ;
769771
770772 var el = this . find ( '.color-picker-opacity' ) ;
771- this . opacity = ( 1 - ( event . pageY - this . offset ( el ) . top ) / el . prop ( 'offsetHeight' ) ) * 100 ;
773+ var eventPos = this . getEventPos ( event ) ;
774+
775+ this . opacity = ( 1 - ( eventPos . pageY - this . offset ( el ) . top ) / el . prop ( 'offsetHeight' ) ) * 100 ;
772776
773777 if ( this . opacity > 100 ) {
774778 this . opacity = 100 ;
@@ -820,11 +824,12 @@ var AngularColorPickerController = function () {
820824 event . preventDefault ( ) ;
821825
822826 var el = this . find ( '.color-picker-grid-inner' ) ;
827+ var eventPos = this . getEventPos ( event ) ;
823828 var offset = this . offset ( el ) ;
824829
825830 if ( this . options . round ) {
826- var dx = ( event . pageX - offset . left ) * 2.0 / el . prop ( 'offsetWidth' ) - 1.0 ;
827- var dy = - ( ( event . pageY - offset . top ) * 2.0 / el . prop ( 'offsetHeight' ) ) + 1.0 ;
831+ var dx = ( eventPos . pageX - offset . left ) * 2.0 / el . prop ( 'offsetWidth' ) - 1.0 ;
832+ var dy = - ( ( eventPos . pageY - offset . top ) * 2.0 / el . prop ( 'offsetHeight' ) ) + 1.0 ;
828833
829834 var tmpSaturation = Math . sqrt ( dx * dx + dy * dy ) ;
830835 var tmpHue = Math . atan2 ( dy , dx ) ;
@@ -837,8 +842,8 @@ var AngularColorPickerController = function () {
837842 this . hue = degHue ;
838843 this . lightness = 100 ;
839844 } else {
840- this . saturation = ( event . pageX - offset . left ) / el . prop ( 'offsetWidth' ) * 100 ;
841- this . lightness = ( 1 - ( event . pageY - offset . top ) / el . prop ( 'offsetHeight' ) ) * 100 ;
845+ this . saturation = ( eventPos . pageX - offset . left ) / el . prop ( 'offsetWidth' ) * 100 ;
846+ this . lightness = ( 1 - ( eventPos . pageY - offset . top ) / el . prop ( 'offsetHeight' ) ) * 100 ;
842847
843848 if ( this . saturation > 100 ) {
844849 this . saturation = 100 ;
@@ -914,6 +919,11 @@ var AngularColorPickerController = function () {
914919 // helper functions
915920 //---------------------------
916921
922+ } , {
923+ key : 'getEventPos' ,
924+ value : function getEventPos ( event ) {
925+ return event . type . search ( 'touch' ) === 0 ? event . changedTouches [ 0 ] : event ;
926+ }
917927 } , {
918928 key : 'eventApiDispatch' ,
919929 value : function eventApiDispatch ( name , args ) {
0 commit comments