hooch 0.14.2 → 0.14.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/hooch.js +63 -8
- data/lib/hooch/hooch_helper.rb +4 -2
- data/lib/hooch/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2924f0bcf7ff855e4749842f37e39af41c1d926e
|
4
|
+
data.tar.gz: 75313abc2f94bbc3960fec44fc1bbc2734b0ad7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bac4eb1a8b7bc60bfa9cb45dd5ceca87acca11b54f170b64642737f41775d33969689f599c44854c2cc5b628e96273be3e90e1c5f71ab304205593c896816a30
|
7
|
+
data.tar.gz: 910647fd4c0a510d2212236986b3fb37c4ff508181b81dbfe7ecb28458a313ebbbdb8ce89401d36a9796e530ec325f9f879d93b9241fc131b41075195fc8bcc7
|
@@ -829,7 +829,7 @@ var initHooch = function(){
|
|
829
829
|
FakeCheckbox: Class.extend({
|
830
830
|
init: function($fake_checkbox){
|
831
831
|
this.$fake_checkbox = $fake_checkbox
|
832
|
-
this.$form =
|
832
|
+
this.$form = this.getForm()
|
833
833
|
this.$field = this.getField()
|
834
834
|
var fake_checkbox = this
|
835
835
|
this.$fake_checkbox.click(function(){ fake_checkbox.change() })
|
@@ -837,31 +837,86 @@ var initHooch = function(){
|
|
837
837
|
change: function(){
|
838
838
|
if(this.$fake_checkbox.hasClass('checked')){
|
839
839
|
this.$fake_checkbox.removeClass('checked')
|
840
|
-
this.
|
840
|
+
this.removeCheckedFromForm()
|
841
|
+
this.removeValue()
|
841
842
|
} else {
|
842
843
|
this.$fake_checkbox.addClass('checked')
|
843
|
-
this.
|
844
|
+
this.addCheckedToForm()
|
845
|
+
this.addValue()
|
844
846
|
}
|
845
847
|
},
|
846
848
|
getField: function(){
|
847
849
|
this.field_name = this.$fake_checkbox.data('field-name')
|
848
850
|
this.value = this.$fake_checkbox.data('field-value')
|
849
|
-
|
851
|
+
this.field_selector = '[name="' + this.field_name +'"][value="' + this.value + '"]'
|
850
852
|
var $field
|
851
|
-
if(this.$form.find(field_selector).length > 0){
|
852
|
-
$field = this.$form.find(field_selector)
|
853
|
-
this.$fake_checkbox.addClass('checked')
|
853
|
+
if(this.$form.find(this.field_selector).length > 0){
|
854
|
+
$field = this.$form.find(this.field_selector)
|
855
|
+
this.$fake_checkbox.addClass('checked')
|
856
|
+
this.addCheckedToForm()
|
854
857
|
} else {
|
855
858
|
$field = $('<input type="hidden" name="' + this.field_name + '" value="' + this.value + '">')
|
856
859
|
}
|
857
860
|
return $field
|
858
861
|
},
|
862
|
+
getForm: function(){
|
863
|
+
var form_selector = this.$fake_checkbox.data('form-selector')
|
864
|
+
var $form = $(form_selector)
|
865
|
+
if($form.length == 0){
|
866
|
+
console.log("WARNING: hooch.FakeCheckbox could not find the form with the selector '" + form_selector + "'")
|
867
|
+
}
|
868
|
+
var toggleable_selector = this.$fake_checkbox.data('toggle-form')
|
869
|
+
if(toggleable_selector == true || toggleable_selector == 'true'){
|
870
|
+
this.$toggle_form = $form
|
871
|
+
} else {
|
872
|
+
var $toggleable = $(toggleable_selector)
|
873
|
+
if($toggleable.length > 0){
|
874
|
+
this.$toggle_form = $toggleable
|
875
|
+
} else {
|
876
|
+
this.$toggle_form = false
|
877
|
+
}
|
878
|
+
}
|
879
|
+
return $form
|
880
|
+
},
|
859
881
|
addValue: function(){
|
860
|
-
console.log(this.$field)
|
861
882
|
this.$form.append(this.$field)
|
883
|
+
this.possiblyShowForm()
|
862
884
|
},
|
863
885
|
removeValue: function(){
|
864
886
|
this.$field.detach()
|
887
|
+
this.possiblyHideForm()
|
888
|
+
},
|
889
|
+
possiblyShowForm: function(){
|
890
|
+
if(this.$toggle_form && this.$toggle_form.is(':hidden')){
|
891
|
+
this.$toggle_form.show()
|
892
|
+
}
|
893
|
+
},
|
894
|
+
possiblyHideForm: function(){
|
895
|
+
if(this.$toggle_form && this.$toggle_form.is(':visible') && this.formNoCheckedBoxes()){
|
896
|
+
this.$toggle_form.hide()
|
897
|
+
}
|
898
|
+
},
|
899
|
+
addCheckedToForm: function(){
|
900
|
+
if(this.$toggle_form){
|
901
|
+
var form_checkbox_list = this.$form.data('checked_fake_checkboxes')
|
902
|
+
if(form_checkbox_list){
|
903
|
+
form_checkbox_list.push(this.field_selector)
|
904
|
+
this.$form.data('checked_fake_checkboxes',form_checkbox_list)
|
905
|
+
} else {
|
906
|
+
this.$form.data('checked_fake_checkboxes',[this.field_selector])
|
907
|
+
}
|
908
|
+
}
|
909
|
+
},
|
910
|
+
removeCheckedFromForm: function(){
|
911
|
+
if(this.$toggle_form){
|
912
|
+
var form_checkbox_list = this.$form.data('checked_fake_checkboxes')
|
913
|
+
var fake_checkbox = this
|
914
|
+
var new_list = $.grep(form_checkbox_list, function(fs){return fs != fake_checkbox.field_selector})
|
915
|
+
this.$form.data('checked_fake_checkboxes',new_list)
|
916
|
+
}
|
917
|
+
},
|
918
|
+
formNoCheckedBoxes: function(){
|
919
|
+
return (!this.$form.data('checked_fake_checkboxes') || this.$form.data('checked_fake_checkboxes').length == 0)
|
865
920
|
}
|
866
921
|
}),
|
867
922
|
FakeSelect: Class.extend({
|
data/lib/hooch/hooch_helper.rb
CHANGED
@@ -154,21 +154,23 @@ module Hooch
|
|
154
154
|
end
|
155
155
|
end
|
156
156
|
|
157
|
-
def fake_checkbox_attrs(form_selector, field_name, field_value)
|
157
|
+
def fake_checkbox_attrs(form_selector, field_name, field_value, toggle_form: false)
|
158
158
|
''.tap do |attrs|
|
159
159
|
attrs.concat 'data-fake-checkbox=true'
|
160
160
|
attrs.concat " data-form-selector=#{form_selector}"
|
161
161
|
attrs.concat " data-field-name=\"#{field_name}\""
|
162
162
|
attrs.concat " data-field-value=\"#{field_value}\""
|
163
|
+
attrs.concat " data-toggle-form=\"#{toggle_form}\"" if toggle_form
|
163
164
|
end.html_safe
|
164
165
|
end
|
165
166
|
|
166
|
-
def fake_checkbox(form_selector, field_name, field_value)
|
167
|
+
def fake_checkbox(form_selector, field_name, field_value, toggle_form: false)
|
167
168
|
{}.tap do |params|
|
168
169
|
params['data-fake-checkbox'] = true
|
169
170
|
params['data-form-selector'] = form_selector
|
170
171
|
params['data-field-name'] = field_name
|
171
172
|
params['data-field-value'] = field_value
|
173
|
+
params['data-toggle-form'] = toggle_form if toggle_form
|
172
174
|
end
|
173
175
|
end
|
174
176
|
|
data/lib/hooch/version.rb
CHANGED
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.
|
4
|
+
version: 0.14.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Draut
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|