jscolor-rails 1.4.0.1 → 1.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  module Jscolor
2
2
  module Rails
3
- VERSION = "1.4.0.1"
3
+ VERSION = "1.4.2"
4
4
  end
5
5
  end
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * jscolor, JavaScript Color Picker
3
3
  *
4
- * @version 1.4.0
4
+ * @version 1.4.2
5
5
  * @license GNU Lesser General Public License, http://www.gnu.org/copyleft/lesser.html
6
6
  * @author Jan Odvarko, http://odvarko.cz
7
7
  * @created 2008-06-15
8
- * @updated 2012-07-06
8
+ * @updated 2013-11-25
9
9
  * @link http://jscolor.com
10
10
  */
11
11
 
@@ -318,10 +318,10 @@ var jscolor = {
318
318
  },
319
319
 
320
320
 
321
- /*
322
- * Usage example:
323
- * var myColor = new jscolor.color(myInputElement)
324
- */
321
+ //
322
+ // Usage example:
323
+ // var myColor = new jscolor.color(myInputElement)
324
+ //
325
325
 
326
326
  color : function(target, prop) {
327
327
 
@@ -627,6 +627,23 @@ var jscolor = {
627
627
  dispatchImmediateChange();
628
628
  }
629
629
  };
630
+ if('ontouchstart' in window) { // if touch device
631
+ var handle_touchmove = function(e) {
632
+ var event={
633
+ 'offsetX': e.touches[0].pageX-touchOffset.X,
634
+ 'offsetY': e.touches[0].pageY-touchOffset.Y
635
+ };
636
+ if (holdPad || holdSld) {
637
+ holdPad && setPad(event);
638
+ holdSld && setSld(event);
639
+ dispatchImmediateChange();
640
+ }
641
+ e.stopPropagation(); // prevent move "view" on broswer
642
+ e.preventDefault(); // prevent Default - Android Fix (else android generated only 1-2 touchmove events)
643
+ };
644
+ p.box.removeEventListener('touchmove', handle_touchmove, false)
645
+ p.box.addEventListener('touchmove', handle_touchmove, false)
646
+ }
630
647
  p.padM.onmouseup =
631
648
  p.padM.onmouseout = function() { if(holdPad) { holdPad=false; jscolor.fireEvent(valueElement,'change'); } };
632
649
  p.padM.onmousedown = function(e) {
@@ -635,17 +652,43 @@ var jscolor = {
635
652
  case 0: if (THIS.hsv[2] === 0) { THIS.fromHSV(null, null, 1.0); }; break;
636
653
  case 1: if (THIS.hsv[1] === 0) { THIS.fromHSV(null, 1.0, null); }; break;
637
654
  }
655
+ holdSld=false;
638
656
  holdPad=true;
639
657
  setPad(e);
640
658
  dispatchImmediateChange();
641
659
  };
660
+ if('ontouchstart' in window) {
661
+ p.padM.addEventListener('touchstart', function(e) {
662
+ touchOffset={
663
+ 'X': e.target.offsetParent.offsetLeft,
664
+ 'Y': e.target.offsetParent.offsetTop
665
+ };
666
+ this.onmousedown({
667
+ 'offsetX':e.touches[0].pageX-touchOffset.X,
668
+ 'offsetY':e.touches[0].pageY-touchOffset.Y
669
+ });
670
+ });
671
+ }
642
672
  p.sldM.onmouseup =
643
673
  p.sldM.onmouseout = function() { if(holdSld) { holdSld=false; jscolor.fireEvent(valueElement,'change'); } };
644
674
  p.sldM.onmousedown = function(e) {
675
+ holdPad=false;
645
676
  holdSld=true;
646
677
  setSld(e);
647
678
  dispatchImmediateChange();
648
679
  };
680
+ if('ontouchstart' in window) {
681
+ p.sldM.addEventListener('touchstart', function(e) {
682
+ touchOffset={
683
+ 'X': e.target.offsetParent.offsetLeft,
684
+ 'Y': e.target.offsetParent.offsetTop
685
+ };
686
+ this.onmousedown({
687
+ 'offsetX':e.touches[0].pageX-touchOffset.X,
688
+ 'offsetY':e.touches[0].pageY-touchOffset.Y
689
+ });
690
+ });
691
+ }
649
692
 
650
693
  // picker
651
694
  var dims = getPickerDims(THIS);
@@ -896,7 +939,8 @@ var jscolor = {
896
939
  styleElement = jscolor.fetchElement(this.styleElement);
897
940
  var
898
941
  holdPad = false,
899
- holdSld = false;
942
+ holdSld = false,
943
+ touchOffset = {};
900
944
  var
901
945
  leaveValue = 1<<0,
902
946
  leaveStyle = 1<<1,
metadata CHANGED
@@ -1,34 +1,23 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: jscolor-rails
3
- version: !ruby/object:Gem::Version
4
- hash: 125
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.4.2
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 4
9
- - 0
10
- - 1
11
- version: 1.4.0.1
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - Moandji Ezana
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2013-01-21 00:00:00 Z
12
+ date: 2013-12-17 00:00:00.000000000 Z
20
13
  dependencies: []
21
-
22
14
  description:
23
- email:
15
+ email:
24
16
  - mwanji@gmail.com
25
17
  executables: []
26
-
27
18
  extensions: []
28
-
29
19
  extra_rdoc_files: []
30
-
31
- files:
20
+ files:
32
21
  - lib/jscolor-rails.rb
33
22
  - lib/jscolor-rails/version.rb
34
23
  - vendor/assets/images/arrow.gif
@@ -38,36 +27,26 @@ files:
38
27
  - vendor/assets/javascripts/jscolor.js
39
28
  homepage: https://github.com/mwanji/jscolor-rails
40
29
  licenses: []
41
-
42
30
  post_install_message:
43
31
  rdoc_options: []
44
-
45
- require_paths:
32
+ require_paths:
46
33
  - lib
47
- required_ruby_version: !ruby/object:Gem::Requirement
34
+ required_ruby_version: !ruby/object:Gem::Requirement
48
35
  none: false
49
- requirements:
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- hash: 3
53
- segments:
54
- - 0
55
- version: "0"
56
- required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
41
  none: false
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- hash: 3
62
- segments:
63
- - 0
64
- version: "0"
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
65
46
  requirements: []
66
-
67
47
  rubyforge_project:
68
- rubygems_version: 1.8.15
48
+ rubygems_version: 1.8.25
69
49
  signing_key:
70
50
  specification_version: 3
71
51
  summary: Integrates JSColor with Rails's asset pipeline
72
52
  test_files: []
73
-