hooch 0.14.7 → 0.15.0

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: e796b59257a37fb263c448e9ee2ad8727f0a2876
4
- data.tar.gz: 54caf3505ce63a22068c91a960d743a46a922715
3
+ metadata.gz: 230ed67a149ea37899dd8a89764b3007121ca1b9
4
+ data.tar.gz: 11b0cff64e48340b953966e505177e8b4b71e64c
5
5
  SHA512:
6
- metadata.gz: c0c55ada1df470d60fe21b45d4be586f8c45ccc69850bb2bb954e7fdaa57097581340a6e6a8812d706e605044bc386000b7cf2f5064360c95880d58acf633677
7
- data.tar.gz: 339dee853aedd515838d1421cecc933ca223512077d533d7f9aacf233a078e13ff7c0f2893a51fae8b4e2493324d87a10fe4ffa213b33abc4d41050d99599b6c
6
+ metadata.gz: a238a84393f6d90a38f8f4dc065102f59546ce347493d27cdd9b99a6a796b75fb1c9978cd33019a92315af088053e28bebff27810a370ec6bae0b1ce4c008dc0
7
+ data.tar.gz: f3b39a65b6b428cb6a8a19a940ab9d15ec76b6be853cadb75d5d231c44301dbd815d27f298c6057e9e833f7b50bef958fee3371990dae9bd8b9d4339acfb3b2e
@@ -113,7 +113,7 @@ var initHooch = function(){
113
113
  this.$modal_content = $($modal_trigger.data('content-target'))
114
114
  var modal_trigger = this
115
115
  $modal_trigger.on('click', function(){
116
- new hooch.Modal(modal_trigger.$modal_content.html())
116
+ new hooch.Modal(modal_trigger.$modal_content)
117
117
  })
118
118
  }
119
119
  }),
@@ -130,56 +130,38 @@ var initHooch = function(){
130
130
  Modal: Class.extend({
131
131
  init: function($modal_content){
132
132
  this.$modal_content = $modal_content
133
- this.setGeometry()
134
133
  this.getMask()
135
- this.getModal()
136
134
  this.getDismisser()
137
135
  this.getContentWrapper()
138
136
  this.disableScroll()
137
+ this.$modal_content.trigger('modalInitialized')
139
138
  this.$modal_mask.show()
139
+ this.$modal_content.trigger('modalVisible')
140
140
  },
141
- setGeometry: function(){
142
- this.margin = 30;
143
- this.padding = 30;
141
+ getMask: function(){
144
142
  this.mask_top = $(window).scrollTop()
145
143
  this.mask_height = $(window).height()
146
- this.modal_height = this.mask_height - (this.margin*2)
147
- },
148
- getMask: function(){
149
144
  this.$modal_mask = $('#hooch-mask')
150
145
  this.$modal_mask.css({height: this.mask_height + 'px', top: this.mask_top + 'px',
151
146
  position: 'absolute', 'z-index': 100000,
152
- left: 0, right: 0, bottom: 0,
153
- 'background-color': 'rgba(0,0,0,0.5)'
147
+ left: 0, right: 0, bottom: 0
154
148
  })
155
149
  },
156
- getModal: function(){
157
- this.$modal_element = this.$modal_mask.find('#hooch-modal')
158
- this.$modal_element.css({'max-height': this.modal_height,
159
- 'margin-top': this.margin, 'margin-bottom': this.margin,
160
- 'padding-bottom': this.padding, 'padding-left': this.padding, 'padding-right': this.padding,
161
- position: 'relative', float: 'left', 'margin-left': '50%',
162
- '-webkit-transform': 'translateX(-50%)',
163
- '-moz-transform': 'translateX(-50%)',
164
- '-ms-transform': 'translateX(-50%)',
165
- '-o-transform': 'translateX(-50%)',
166
- transform: 'translateX(-50%)'})
167
- },
168
150
  getContentWrapper: function(){
169
- this.$modal_content_wrapper = this.$modal_element.find('#hooch-content')
170
- var content_height = this.modal_height - (this.padding*2)
171
- this.$modal_content_wrapper.css({'overflow-y': 'scroll', 'max-height': content_height, position: 'relative', float: 'left'})
172
- this.$modal_content_wrapper.html(this.$modal_content)
151
+ this.$modal_element = this.$modal_mask.find('#hooch-modal')
152
+ this.$modal_element.append(this.$modal_content)
153
+ this.$modal_content.show()
173
154
  },
174
155
  getDismisser: function(){
175
156
  this.$dismisser = this.$modal_mask.find('#hooch-dismiss')
176
- this.$dismisser.css({position: 'relative', float: 'right', 'font-size': '22px', 'line-height': '30px'})
177
157
  this.dismisser = new hooch.ModalDismisser(this.$dismisser,this)
158
+ this.$modal_content.append(this.$dismisser)
178
159
  },
179
160
  close: function(){
180
161
  this.$modal_mask.hide()
181
- this.$modal_content_wrapper.empty()
162
+ this.$modal_content.hide()
182
163
  this.enableScroll()
164
+ this.$modal_content.trigger('modalClosed')
183
165
  },
184
166
  disableScroll: function(){
185
167
  var modal = this
@@ -921,33 +903,17 @@ var initHooch = function(){
921
903
  }),
922
904
  FakeSelect: Class.extend({
923
905
  init: function($fake_select){
924
- this.all_options = []
925
906
  this.select_display = $fake_select.find('[data-select-display]')
926
907
  this.real_select = $fake_select.find('input')
927
908
  var fake_select = this
928
909
  $fake_select.find('[data-select-value][data-select-name]').each(function(){
929
- fake_select.all_options.push(new hooch.FakeOption($(this), fake_select));
910
+ new hooch.FakeOption($(this),fake_select)
930
911
  })
931
- if(this.real_select.val() != "" && typeof(this.real_select.val()) != "undefined"){
932
- this.initial_select(this.findOptionForValue(this.real_select.val()));
933
- }
934
912
  },
935
- initial_select: function(fake_option){
913
+ select: function(fake_option){
936
914
  this.select_display.html(fake_option.select_name);
937
915
  this.real_select.val(fake_option.select_value);
938
- },
939
- select: function(fake_option){
940
- this.initial_select(fake_option);
941
916
  this.select_display.trigger('click');
942
- },
943
- findOptionForValue: function(value){
944
- var selected_option
945
- $.each(this.all_options, function(i, option){
946
- if(option.select_value == value){
947
- selected_option = option
948
- }
949
- });
950
- return selected_option;
951
917
  }
952
918
  }),
953
919
  FakeOption: Class.extend({
@@ -956,7 +922,7 @@ var initHooch = function(){
956
922
  this.select_name = $fake_option.data('select-name')
957
923
  this.$fake_option = $fake_option
958
924
  var fake_option = this
959
- $fake_option.on('click', function(){
925
+ $fake_option.on('click',function(){
960
926
  $fake_select.select(fake_option)
961
927
  })
962
928
  }
@@ -1623,22 +1589,33 @@ var initHooch = function(){
1623
1589
  });
1624
1590
  hooch.FakeSelectRevealer = hooch.Revealer.extend({
1625
1591
  init: function($fake_select){
1626
- this.fake_select = new hooch.FakeSelect($fake_select)
1592
+ this.select_display = $fake_select.find('[data-select-display]')
1593
+ this.real_select = $fake_select.find('input')
1594
+ var fake_select = this
1595
+ this.select_options = []
1596
+ $fake_select.find('[data-select-value][data-select-name]').each(function(){
1597
+ fake_select.select_options.push(new hooch.FakeOption($(this), fake_select));
1598
+ })
1627
1599
  this.children_id = $fake_select.data('revealer-children-id');
1628
1600
  this.highlander = $fake_select.data('revealer-highlander');
1629
1601
  this.$revelation_target = $('[data-revealer-target="' + this.children_id + '"]');
1630
1602
  this._super($fake_select);
1631
1603
  },
1604
+ select: function(fake_option){
1605
+ this.select_display.html(fake_option.select_name);
1606
+ this.real_select.val(fake_option.select_value);
1607
+ this.select_display.trigger('click');
1608
+ },
1632
1609
  bindEvent: function(){
1633
1610
  var revealer = this;
1634
- $.each(this.fake_select.all_options, function(){
1611
+ $.each(this.select_options, function(){
1635
1612
  this.$fake_option.bind('click', function(){
1636
1613
  revealer.reveal();
1637
1614
  })
1638
1615
  })
1639
1616
  },
1640
1617
  reveal: function(){
1641
- var sanitized_value = this.fake_select.real_select.val()
1618
+ var sanitized_value = this.real_select.val()
1642
1619
  if('true' == sanitized_value){ sanitized_value = true }
1643
1620
  if('false' == sanitized_value){ sanitized_value = false }
1644
1621
  this.$children = [];
@@ -1664,9 +1641,6 @@ var initHooch = function(){
1664
1641
  this.hideChildren();
1665
1642
  this.revealChosenOnes();
1666
1643
  },
1667
- getSanitizedValue: function(){
1668
- return this.real_select.val();
1669
- },
1670
1644
  hideChildren: function(){
1671
1645
  this._super();
1672
1646
  if (this.highlander){
@@ -25,8 +25,8 @@ module Hooch
25
25
  end
26
26
 
27
27
  def modal_trigger(target)
28
- attrs = 'data-modal-trigger="true"'
29
- attrs += " data-content-target=\"#{target}\""
28
+ attrs = 'data-modal-trigger=true'
29
+ attrs += " data-content-target=#{target}"
30
30
  end
31
31
 
32
32
  def hide_show(target, any_click_closes: false)
data/lib/hooch/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hooch
2
- VERSION = "0.14.7"
2
+ VERSION = "0.15.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hooch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.7
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Draut
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-28 00:00:00.000000000 Z
11
+ date: 2017-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  requirements: []
170
170
  rubyforge_project:
171
- rubygems_version: 2.5.1
171
+ rubygems_version: 2.6.11
172
172
  signing_key:
173
173
  specification_version: 4
174
174
  summary: Tools for building a browser UI. Get the good stuff.