hooch 0.11.0 → 0.12.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 +4 -4
- data/app/assets/javascripts/hooch.js +42 -1
- data/lib/hooch/hooch_helper.rb +30 -0
- data/lib/hooch/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4219db2afe00609209fcd143a2ef9c767a4daf56
|
4
|
+
data.tar.gz: 91012962eabd1a8cd051e5d51c24badef49b2e35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b978c49ab05b43b548566ff4fb6eeacca47b5b07b521f2abff36e694b7bc6fd4ea8d770b328eeb846b6221882678286bc0593d7ceffce91edebbcb73280fe096
|
7
|
+
data.tar.gz: b353eab5ce5cbf82b4b9ba6ea3f6c05d73c73061f37b5535f079bcbf045fb382e7da895c4e86bf61601fbcdcb789d93fd38399bec8b1bc4fe15dfe7eb23fa6f1
|
@@ -560,6 +560,47 @@ var initHooch = function(){
|
|
560
560
|
var new_state = {}
|
561
561
|
new_state[key] = value
|
562
562
|
this.state = $.extend(true, this.state, new_state);
|
563
|
+
},
|
564
|
+
addPath: function(new_path){
|
565
|
+
this.new_path = new_path
|
566
|
+
},
|
567
|
+
newPath: function(){
|
568
|
+
return [location.protocol, '//', location.host, this.new_path].join('');
|
569
|
+
},
|
570
|
+
addKeyValue: function(key,value){
|
571
|
+
this.addState(key,value)
|
572
|
+
history['replaceState'](this.state, null, this.toUrl());
|
573
|
+
},
|
574
|
+
replacePath: function(new_path){
|
575
|
+
this.addPath(new_path)
|
576
|
+
history['replaceState']({}, null, this.newPath());
|
577
|
+
}
|
578
|
+
}),
|
579
|
+
HistoryPusher: Class.extend({
|
580
|
+
init: function($history_pusher){
|
581
|
+
this.key = $history_pusher.data('key')
|
582
|
+
this.value = $history_pusher.data('value')
|
583
|
+
var history_pusher = this
|
584
|
+
$history_pusher.on('click', function(){
|
585
|
+
history_pusher.pushIt()
|
586
|
+
})
|
587
|
+
},
|
588
|
+
pushIt: function(){
|
589
|
+
this.current_state = new hooch.IhHistoryState(history.state)
|
590
|
+
this.current_state.addKeyValue(this.key,this.value)
|
591
|
+
}
|
592
|
+
}),
|
593
|
+
HistoryReplacer: Class.extend({
|
594
|
+
init: function($history_replacer){
|
595
|
+
this.new_path = $history_replacer.data('new-path')
|
596
|
+
var history_replacer = this
|
597
|
+
$history_replacer.on('click', function(){
|
598
|
+
history_replacer.replaceIt()
|
599
|
+
})
|
600
|
+
},
|
601
|
+
replaceIt: function(){
|
602
|
+
this.current_state = new hooch.IhHistoryState(history.state)
|
603
|
+
this.current_state.replacePath(this.new_path)
|
563
604
|
}
|
564
605
|
}),
|
565
606
|
GoProxy: Class.extend({
|
@@ -1549,7 +1590,7 @@ var initHooch = function(){
|
|
1549
1590
|
['hover_overflow','hidey_button','submit-proxy','click-proxy','field-filler','revealer',
|
1550
1591
|
'checkbox-hidden-proxy','prevent-double-submit','prevent-double-link-click', 'tab-group',
|
1551
1592
|
'hover-reveal', 'emptier', 'remover', 'checkbox-proxy', 'fake-select', 'select-action-changer',
|
1552
|
-
'sorter','bind-key','modal-trigger'],'hooch');
|
1593
|
+
'sorter','bind-key','modal-trigger','history-pusher', 'history-replacer'],'hooch');
|
1553
1594
|
window.any_time_manager.load();
|
1554
1595
|
};
|
1555
1596
|
hooch.pauseEvent = function(e){
|
data/lib/hooch/hooch_helper.rb
CHANGED
@@ -156,6 +156,36 @@ module Hooch
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
|
+
def history_pusher_attrs(key,value)
|
160
|
+
''.tap do |attrs|
|
161
|
+
attrs.concat 'data-history-pusher=true'
|
162
|
+
attrs.concat " data-key=#{key}"
|
163
|
+
attrs.concat " data-value=\"#{value}\""
|
164
|
+
end.html_safe
|
165
|
+
end
|
166
|
+
|
167
|
+
def history_pusher(key,value)
|
168
|
+
{}.tap do |params|
|
169
|
+
params['data-history-pusher'] = true
|
170
|
+
params['data-key'] = key
|
171
|
+
params['data-value'] = value
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
def history_replacer_attrs(new_path)
|
176
|
+
''.tap do |attrs|
|
177
|
+
attrs.concat 'data-history-replacer=true'
|
178
|
+
attrs.concat " data-new-path=#{new_path}"
|
179
|
+
end.html_safe
|
180
|
+
end
|
181
|
+
|
182
|
+
def history_replacer(new_path)
|
183
|
+
{}.tap do |params|
|
184
|
+
params['data-history-replacer'] = true
|
185
|
+
params['data-new-path'] = new_path
|
186
|
+
end
|
187
|
+
end
|
188
|
+
|
159
189
|
def link
|
160
190
|
"data-link=true"
|
161
191
|
end
|
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.
|
4
|
+
version: 0.12.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: 2016-
|
11
|
+
date: 2016-09-23 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.
|
171
|
+
rubygems_version: 2.5.1
|
172
172
|
signing_key:
|
173
173
|
specification_version: 4
|
174
174
|
summary: Tools for building a browser UI. Get the good stuff.
|