History

Add alt+s shortcut for searching on Stack Overflow

Closes #174.

Thibaut committed 11 years ago

Commit aa3de221 parent ced2b4f4 files · +22 −3Browse files

Unified · Split

4 files
  1. assets/javascripts/app/shortcuts.coffee +3 −0
  2. assets/javascripts/templates/pages/help_tmpl.coffee +3 −0
  3. assets/javascripts/views/search/search.coffee +13 −3
  4. assets/javascripts/views/search/search_scope.coffee +3 −0
assets/javascripts/app/shortcuts.coffee+3−0
@@ -123,6 +123,9 @@ class app.Shortcuts · 122 unmodified lines
123123 when 82
124124 @trigger 'altR'
125125 false
126+ when 83
127+ @trigger 'altS'
128+ false
126129
127130 handleKeypressEvent: (event) ->
128131 if event.which is 63 and not event.target.value
assets/javascripts/templates/pages/help_tmpl.coffee+3−0
@@ -87,6 +87,9 @@ app.templates.helpPage = """ · 86 unmodified lines
8787 <dt class="_shortcuts-dt">
8888 <code class="_shortcut-code">alt + g</code>
8989 <dd class="_shortcuts-dd">Search on Google
90+ <dt class="_shortcuts-dt">
91+ <code class="_shortcut-code">alt + s</code>
92+ <dd class="_shortcuts-dd">Search on Stack Overflow
9093 <dt class="_shortcuts-dt">
9194 <code class="_shortcut-code">escape</code>
9295 <dd class="_shortcuts-dd">Reset<br>(press twice in single doc mode)
assets/javascripts/views/search/search.coffee+13−3
@@ -16,6 +16,7 @@ class app.views.Search extends app.View · 15 unmodified lines
1616 @shortcuts:
1717 typing: 'autoFocus'
1818 altG: 'google'
19+ altS: 'stackoverflow'
1920
2021 @routes:
2122 root: 'onRoot'
@@ -86,12 +87,21 @@ class app.views.Search extends app.View · 64 unmodified lines
8687 @removeClass @constructor.activeClass
8788 @trigger 'clear'
8889
89− google: =>
90− if @value
91− $.popup "https://www.google.com/search?q=#{encodeURIComponent @value}"
90+ externalSearch: (url) ->
91+ if value = @value
92+ value = "#{@scope.name()} #{value}" if @scope.name()
93+ $.popup "#{url}#{encodeURIComponent value}"
9294 @reset()
9395 return
9496
97+ google: =>
98+ @externalSearch "https://www.google.com/search?q="
99+ return
100+
101+ stackoverflow: =>
102+ @externalSearch "https://stackoverflow.com/search?q="
103+ return
104+
95105 onResults: (results) =>
96106 @hasResults = true if results.length
97107 @trigger 'results', results, @flags
assets/javascripts/views/search/search_scope.coffee+3−0
@@ -26,6 +26,9 @@ class app.views.SearchScope extends app.View · 25 unmodified lines
2626 getScope: ->
2727 @doc or app
2828
29+ name: ->
30+ @doc?.name
31+
2932 search: (value) ->
3033 unless @doc
3134 @searcher.find app.docs.all(), 'text', value