effective_bootstrap 0.1.7 → 0.1.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0c4cc9bb8d5533bc1807d040baf108b8edc4d1be
4
- data.tar.gz: 9a398f27371dc2fe8b2b71d2037d0822f67f2608
3
+ metadata.gz: bff1d75dba9d0ae47c87581ebabc1b30ba624bbc
4
+ data.tar.gz: 4aca09fc196381f53b7f415a8265e7d98a012a05
5
5
  SHA512:
6
- metadata.gz: a4679a2e6593d5ae5c3d698bb99da104e72ca89dfac4da1fb3536e33500cc514bfeac67b02dfee12767d7716c8a87a08a0f4d8aa9e18e43a6c36e7beab270aff
7
- data.tar.gz: e0d6a2697f01fd98e22514077bb510a8a43f2a2ff9445627ef44b315dfd7cae297e3a635e323604384cc997cbddb689b2d18225c26d8a99946da60388f5333d4
6
+ metadata.gz: a950fc1c9b922679bbc1316b4f17b081c9a522eb6de3682264dd38f014f05769040ce31495b576e14c67a7abba43601059108073ca314c34902aaa8556bff65a
7
+ data.tar.gz: 70efe8b067991772b672f6b151301d454b23acf605181a4967f1d6149670d80bffadf0f8f1bef2174727b691ceac0ca6c848fed52b70701408808658b91c79a4
data/README.md CHANGED
@@ -209,7 +209,7 @@ Bootstrap 3 Datepicker (https://github.com/Eonasdan/bootstrap-datetimepicker)
209
209
  The default options used to initialize this form input are as follows:
210
210
 
211
211
  ```ruby
212
- input_js: { showTodayButton: true, showClear: true, useCurrent: 'hour' }
212
+ am_pm: true, input_js: { showTodayButton: false, showClear: false, useCurrent: 'hour' }
213
213
  ```
214
214
 
215
215
  For a full list of options, please refer to:
@@ -5,22 +5,30 @@ module Effective
5
5
  def input_html_options
6
6
  {
7
7
  class: ['form-control', 'effective_date_time_picker', 'effective_date', ('not-date-linked' if not_date_linked?)].compact.join(' '),
8
- pattern: '\d{4}(-\d{2})?(-\d{2})?'
8
+ pattern: pattern
9
9
  }
10
10
  end
11
11
 
12
12
  def input_js_options
13
- { format: 'YYYY-MM-DD', showTodayButton: true, showClear: true, useCurrent: 'hour', disabledDates: disabled_dates.presence }.compact
13
+ { format: format, showTodayButton: false, showClear: false, useCurrent: 'hour', disabledDates: disabled_dates.presence }.compact
14
14
  end
15
15
 
16
16
  def input_group_options
17
17
  { input_group: { class: 'input-group effective_date_time_picker_input_group' }, prepend: content_tag(:span, icon('calendar'), class: 'input-group-text') }
18
18
  end
19
19
 
20
- def datetime_to_s
20
+ def datetime_to_s # ruby
21
21
  value&.strftime('%F')
22
22
  end
23
23
 
24
+ def pattern # html
25
+ '\d{4}(-\d{2})?(-\d{2})?'
26
+ end
27
+
28
+ def format # moment.js
29
+ 'YYYY-MM-DD'
30
+ end
31
+
24
32
  end
25
33
  end
26
34
  end
@@ -5,12 +5,12 @@ module Effective
5
5
  def input_html_options
6
6
  {
7
7
  class: ['form-control', 'effective_date_time_picker', 'effective_datetime', ('not-date-linked' if not_date_linked?)].compact.join(' '),
8
- pattern: '\d{4}(-\d{2})?-(\d{2})?( \d+)?(:\d{2})?'
8
+ pattern: pattern
9
9
  }
10
10
  end
11
11
 
12
12
  def input_js_options
13
- { format: 'YYYY-MM-DD HH:mm', sideBySide: true, showTodayButton: true, showClear: true, useCurrent: 'hour', disabledDates: disabled_dates.presence }.compact
13
+ { format: format, sideBySide: true, showTodayButton: false, showClear: false, useCurrent: 'hour', disabledDates: disabled_dates.presence }.compact
14
14
  end
15
15
 
16
16
  def input_group_options
@@ -21,8 +21,16 @@ module Effective
21
21
  @builder.super_text_field(name, options[:input].merge(value: datetime_to_s))
22
22
  end
23
23
 
24
- def datetime_to_s
25
- value&.strftime('%F %H:%M')
24
+ def datetime_to_s # ruby
25
+ value&.strftime(am_pm? ? '%F %I:%M %p' : '%F %H:%M')
26
+ end
27
+
28
+ def pattern # html
29
+ am_pm? ? '\d{4}(-\d{2})?(-\d{2})?( \d{1,2})?(:\d{2} \[aApPmM]{2})?' : '\d{4}(\-d{2})?(-\d{2})?( \d{2})?(:\d{2})?'
30
+ end
31
+
32
+ def format # moment.js
33
+ am_pm? ? 'YYYY-MM-DD LT' : 'YYYY-MM-DD HH:mm'
26
34
  end
27
35
 
28
36
  private
@@ -52,6 +60,11 @@ module Effective
52
60
  @not_date_linked = (options.delete(:date_linked) == false)
53
61
  end
54
62
 
63
+ def am_pm?
64
+ return @am_pm unless @am_pm.nil?
65
+ @am_pm = options.key?(:am_pm) ? options.delete(:am_pm) : true
66
+ end
67
+
55
68
  end
56
69
  end
57
70
  end
@@ -5,20 +5,28 @@ module Effective
5
5
  def input_html_options
6
6
  {
7
7
  class: ['form-control', 'effective_date_time_picker', 'effective_time', ('not-date-linked' if not_date_linked?)].compact.join(' '),
8
- pattern: '\d{2}:\d{2}'
8
+ pattern: pattern
9
9
  }
10
10
  end
11
11
 
12
12
  def input_js_options
13
- { format: 'HH:mm', showTodayButton: true, showClear: true, useCurrent: 'hour', disabledDates: disabled_dates.presence }.compact
13
+ { format: format, showTodayButton: false, showClear: false, useCurrent: 'hour', disabledDates: disabled_dates.presence }.compact
14
14
  end
15
15
 
16
16
  def input_group_options
17
17
  { input_group: { class: 'input-group effective_date_time_picker_input_group' }, prepend: content_tag(:span, icon('clock'), class: 'input-group-text') }
18
18
  end
19
19
 
20
- def datetime_to_s
21
- value&.strftime('%H:%M')
20
+ def datetime_to_s # ruby
21
+ value&.strftime(am_pm? ? '%I:%M %p' : '%H:%M')
22
+ end
23
+
24
+ def pattern # html
25
+ am_pm? ? '\d{1,2}(:\d{2} \[aApPmM]{2})?' : '\d{2}(:\d{2})?'
26
+ end
27
+
28
+ def format # moment.js
29
+ am_pm? ? 'LT' : 'HH:mm'
22
30
  end
23
31
 
24
32
  end
@@ -1,3 +1,3 @@
1
1
  module EffectiveBootstrap
2
- VERSION = '0.1.7'.freeze
2
+ VERSION = '0.1.8'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-14 00:00:00.000000000 Z
11
+ date: 2018-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -481,7 +481,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
481
481
  version: '0'
482
482
  requirements: []
483
483
  rubyforge_project:
484
- rubygems_version: 2.4.5.1
484
+ rubygems_version: 2.5.2.3
485
485
  signing_key:
486
486
  specification_version: 4
487
487
  summary: Everything you need to get set up with bootstrap 4.