clockpunch 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  // Generated by CoffeeScript 1.4.0
2
2
 
3
3
  /*
4
- Clockpunch 1.1
4
+ Clockpunch 0.1.1
5
5
  https://github.com/tablexi/clockpunch
6
6
  */
7
7
 
@@ -9,17 +9,40 @@ https://github.com/tablexi/clockpunch
9
9
  (function() {
10
10
  var $, TimeParsingInput;
11
11
 
12
+ if (typeof jQuery !== "undefined" && jQuery !== null) {
13
+ $ = jQuery;
14
+ $.fn.extend({
15
+ timeinput: function(options) {
16
+ if (options == null) {
17
+ options = {};
18
+ }
19
+ return this.each(function(input_field) {
20
+ return new TimeParsingInput(this, options['format']);
21
+ });
22
+ }
23
+ });
24
+ }
25
+
12
26
  TimeParsingInput = (function() {
13
27
 
14
28
  function TimeParsingInput(elem, format) {
15
- var self;
16
29
  if (format == null) {
17
30
  format = null;
18
31
  }
19
- self = this;
32
+ console.debug('format');
20
33
  this.$elem = $(elem);
21
34
  this.$elem.data('timeparser', this);
22
- this.parser = new TimeParser();
35
+ this.parser = new TimeParser(format);
36
+ if (this.$elem.is('input')) {
37
+ this.configure_input(format);
38
+ } else {
39
+ this.$elem.text(this.parser.transform(this.$elem.text()));
40
+ }
41
+ }
42
+
43
+ TimeParsingInput.prototype.configure_input = function(format) {
44
+ var self;
45
+ self = this;
23
46
  this.create_hidden_field(format);
24
47
  this.$elem.change(function() {
25
48
  var $this, minutes;
@@ -29,8 +52,8 @@ https://github.com/tablexi/clockpunch
29
52
  return $this.val(self.parser.from_minutes(minutes));
30
53
  });
31
54
  this.$elem.trigger('change');
32
- this.create_tooltip();
33
- }
55
+ return this.create_tooltip();
56
+ };
34
57
 
35
58
  TimeParsingInput.prototype.create_hidden_field = function() {
36
59
  var field_name;
@@ -41,7 +64,8 @@ https://github.com/tablexi/clockpunch
41
64
  };
42
65
 
43
66
  TimeParsingInput.prototype.create_tooltip = function() {
44
- var $wrapper;
67
+ var $wrapper, self;
68
+ self = this;
45
69
  $wrapper = $('<div/>').css('position', 'relative').css('display', 'inline-block');
46
70
  this.$elem.wrap($wrapper);
47
71
  this.$tooltip = $('<span/>').addClass('clockpunch-tooltip').hide();
@@ -51,7 +75,7 @@ https://github.com/tablexi/clockpunch
51
75
  this.$elem.bind('keyup', function() {
52
76
  var val;
53
77
  val = $(this).val() || 0;
54
- return $(this).data('tooltip').text(TimeParser.clean(val));
78
+ return $(this).data('tooltip').text(self.parser.transform(val));
55
79
  });
56
80
  this.$elem.bind('focus', function() {
57
81
  return $(this).data('tooltip').fadeIn('fast');
@@ -65,21 +89,11 @@ https://github.com/tablexi/clockpunch
65
89
 
66
90
  })();
67
91
 
68
- if (typeof jQuery !== "undefined" && jQuery !== null) {
69
- $ = jQuery;
70
- $.fn.extend({
71
- timeinput: function(options) {
72
- return this.each(function(input_field) {
73
- return new TimeParsingInput(this);
74
- });
75
- }
76
- });
77
- }
78
-
79
92
  window.TimeParser = (function() {
80
93
 
81
94
  function TimeParser(time_format) {
82
- this.time_format = time_format != null ? time_format : "{HOURS}:{MINUTES}";
95
+ this.time_format = time_format != null ? time_format : null;
96
+ this.time_format || (this.time_format = "{HOURS}:{MINUTES}");
83
97
  }
84
98
 
85
99
  /*
@@ -99,12 +113,6 @@ https://github.com/tablexi/clockpunch
99
113
  return parser.from_minutes(minutes);
100
114
  };
101
115
 
102
- TimeParser.clean = function(string) {
103
- var minutes;
104
- minutes = TimeParser.to_minutes(string);
105
- return TimeParser.from_minutes(minutes);
106
- };
107
-
108
116
  TimeParser.pad = function(str, max) {
109
117
  if (max == null) {
110
118
  max = 2;
@@ -151,6 +159,10 @@ https://github.com/tablexi/clockpunch
151
159
  return this.time_format.replace('{HOURS}', hours).replace('{MINUTES}', TimeParser.pad(minutes.toString()));
152
160
  };
153
161
 
162
+ TimeParser.prototype.transform = function(string) {
163
+ return this.from_minutes(this.to_minutes(string));
164
+ };
165
+
154
166
  /*
155
167
  # PRIVATE
156
168
  */
@@ -1,3 +1,3 @@
1
1
  module Clockpunch
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clockpunch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: