hooch 0.11.0 → 0.12.0
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 +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.
|