History

Applied seconds input settings patch

Shashank Jain committed 5 years ago

Commit a2a17331 parent 98fa6a94 files · +17 −2Browse files

Showing the changes to assets/javascripts (4 of 4 files). Show all

Unified · Split

4 files
  1. assets/javascripts/app/settings.coffee +2 −0
  2. assets/javascripts/app/shortcuts.coffee +5 −2
  3. assets/javascripts/templates/pages/settings_tmpl.coffee +4 −0
  4. assets/javascripts/views/content/settings_page.coffee +6 −0
assets/javascripts/app/settings.coffee+2−0
@@ -14,6 +14,7 @@ class app.Settings · 13 unmodified lines
1414 'tips'
1515 'autoInstall'
1616 'spaceScroll'
17+ 'spaceTimeout'
1718 ]
1819
1920 INTERNAL_KEYS = [
@@ -35,6 +36,7 @@ class app.Settings · 15 unmodified lines
3536 analyticsConsent: false
3637 theme: 'auto'
3738 spaceScroll: 1
39+ spaceTimeout: 0.5
3840
3941 constructor: ->
4042 @store = new CookiesStore
assets/javascripts/app/shortcuts.coffee+5−2
@@ -20,11 +20,14 @@ class app.Shortcuts · 19 unmodified lines
2020
2121 spaceScroll: ->
2222 app.settings.get('spaceScroll')
23−
23+
2424 showTip: ->
2525 app.showTip('KeyNav')
2626 @showTip = null
2727
28+ spaceTimeout: ->
29+ app.settings.get('spaceTimeout')
30+
2831 onKeydown: (event) =>
2932 return if @buggyEvent(event)
3033 result = if event.ctrlKey or event.metaKey
@@ -62,7 +65,7 @@ class app.Shortcuts · 31 unmodified lines
6265 @trigger 'escape'
6366 false
6467 when 32
65− if event.target.type is 'search' and @spaceScroll() and (not @lastKeypress or @lastKeypress < Date.now() - 500)
68+ if event.target.type is 'search' and @spaceScroll() and (not @lastKeypress or @lastKeypress < Date.now() - (@spaceTimeout() * 1000))
6669 @trigger 'pageDown'
6770 false
6871 when 33
assets/javascripts/templates/pages/settings_tmpl.coffee+4−0
@@ -59,6 +59,10 @@ app.templates.settingsPage = (settings) -> """ · 58 unmodified lines
5959 <label class="_settings-label">
6060 <input type="checkbox" form="settings" name="spaceScroll" value="1"#{if settings.spaceScroll then ' checked' else ''}>Use spacebar to scroll during search
6161 </label>
62+ <label class="_settings-label">
63+ <input type="number" form="settings" name="spaceTimeout" min="0" max="5" value="#{settings.spaceTimeout}"> Delay until you can scroll by pressing space
64+ <small>Time in seconds</small>
65+ </label>
6266 </div>
6367 </div>
6468
assets/javascripts/views/content/settings_page.coffee+6−0
@@ -17,6 +17,7 @@ class app.views.SettingsPage extends app.View · 16 unmodified lines
1717 settings.autoInstall = app.settings.get('autoInstall')
1818 settings.analyticsConsent = app.settings.get('analyticsConsent')
1919 settings.spaceScroll = app.settings.get('spaceScroll')
20+ settings.spaceTimeout = app.settings.get('spaceTimeout')
2021 settings.autoSupported = app.settings.autoSupported
2122 settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.LAYOUTS
2223 settings
@@ -45,6 +46,9 @@ class app.views.SettingsPage extends app.View · 22 unmodified lines
4546 app.settings.set('spaceScroll', if enable then 1 else 0)
4647 return
4748
49+ setScrollTimeout: (value) ->
50+ app.settings.set('spaceTimeout', value)
51+
4852 toggle: (name, enable) ->
4953 app.settings.set(name, enable)
5054 return
@@ -92,6 +96,8 @@ class app.views.SettingsPage extends app.View · 41 unmodified lines
9296 @toggleAnalyticsConsent input.checked
9397 when 'spaceScroll'
9498 @toggleSpaceScroll input.checked
99+ when 'spaceTimeout'
100+ @setScrollTimeout input.value
95101 else
96102 @toggle input.name, input.checked
97103 return