mirror of
https://github.com/freeCodeCamp/devdocs
synced 2024-11-16 19:48:10 +01:00
Added a checkbox to enable scroll by space
This commit is contained in:
parent
3d5ff7d5fa
commit
7932a457af
4 changed files with 16 additions and 1 deletions
|
@ -13,6 +13,7 @@ class app.Settings
|
|||
'size'
|
||||
'tips'
|
||||
'autoInstall'
|
||||
'spaceScroll'
|
||||
]
|
||||
|
||||
INTERNAL_KEYS = [
|
||||
|
@ -33,6 +34,7 @@ class app.Settings
|
|||
schema: 1
|
||||
analyticsConsent: false
|
||||
theme: 'auto'
|
||||
spaceScroll: 0
|
||||
|
||||
constructor: ->
|
||||
@store = new CookiesStore
|
||||
|
|
|
@ -18,6 +18,9 @@ class app.Shortcuts
|
|||
swapArrowKeysBehavior: ->
|
||||
app.settings.get('arrowScroll')
|
||||
|
||||
spaceScroll: ->
|
||||
app.settings.get('spaceScroll')
|
||||
|
||||
showTip: ->
|
||||
app.showTip('KeyNav')
|
||||
@showTip = null
|
||||
|
@ -59,7 +62,7 @@ class app.Shortcuts
|
|||
@trigger 'escape'
|
||||
false
|
||||
when 32
|
||||
if event.target.type is 'search' and (not @lastKeypress or @lastKeypress < Date.now() - 3000)
|
||||
if event.target.type is 'search' and @spaceScroll() and (not @lastKeypress or @lastKeypress < Date.now() - 1000)
|
||||
@trigger 'pageDown'
|
||||
false
|
||||
when 33
|
||||
|
|
|
@ -56,6 +56,9 @@ app.templates.settingsPage = (settings) -> """
|
|||
<input type="checkbox" form="settings" name="arrowScroll" value="1"#{if settings.arrowScroll then ' checked' else ''}>Use arrow keys to scroll the main content area
|
||||
<small>With this checked, use <code class="_label">shift</code> + <code class="_label">↑</code><code class="_label">↓</code><code class="_label">←</code><code class="_label">→</code> to navigate the sidebar.</small>
|
||||
</label>
|
||||
<label class="_settings-label">
|
||||
<input type="checkbox" form="settings" name="spaceScroll" value="1"#{if settings.spaceScroll then ' checked' else ''}>Use spacebar to scroll during search
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ class app.views.SettingsPage extends app.View
|
|||
settings.arrowScroll = app.settings.get('arrowScroll')
|
||||
settings.autoInstall = app.settings.get('autoInstall')
|
||||
settings.analyticsConsent = app.settings.get('analyticsConsent')
|
||||
settings.spaceScroll = app.settings.get('spaceScroll')
|
||||
settings.autoSupported = app.settings.autoSupported
|
||||
settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.LAYOUTS
|
||||
settings
|
||||
|
@ -40,6 +41,10 @@ class app.views.SettingsPage extends app.View
|
|||
resetAnalytics() unless enable
|
||||
return
|
||||
|
||||
toggleSpaceScroll: (enable) ->
|
||||
app.settings.set('spaceScroll', if enable then 1 else 0)
|
||||
return
|
||||
|
||||
toggle: (name, enable) ->
|
||||
app.settings.set(name, enable)
|
||||
return
|
||||
|
@ -85,6 +90,8 @@ class app.views.SettingsPage extends app.View
|
|||
@import input.files[0], input
|
||||
when 'analyticsConsent'
|
||||
@toggleAnalyticsConsent input.checked
|
||||
when 'spaceScroll'
|
||||
@toggleSpaceScroll input.checked
|
||||
else
|
||||
@toggle input.name, input.checked
|
||||
return
|
||||
|
|
Loading…
Reference in a new issue