History

Add double click event to toggle the sidebar

cristian.corcoveanu committed 10 years ago

Commit 4cb0d7a1 parent 664711e8 files · +45 −1Browse files

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

Unified · Split

3 files
  1. assets/javascripts/app/app.coffee +8 −0
  2. assets/javascripts/app/settings.coffee +8 −0
  3. assets/javascripts/views/layout/resizer.coffee +5 −0
assets/javascripts/app/app.coffee+8−0
@@ -179,6 +179,14 @@ · 178 unmodified lines
179179 # enabled because it doesn't support caching URLs that use CORS.
180180 @config[if @appCache and @settings.hasDocs() then 'index_path' else 'docs_host']
181181
182+ toggleSidebar: ->
183+ state = @el.getAttribute('data-sidebar')
184+ newState = if state == 'visible' then 'hidden' else 'visible'
185+ @el.setAttribute('data-sidebar', newState)
186+ @settings.setSidebar(newState)
187+ @appCache?.updateInBackground()
188+ return
189+
182190 onBootError: (args...) ->
183191 @trigger 'bootError'
184192 @hideLoading()
assets/javascripts/app/settings.coffee+8−0
@@ -4,6 +4,7 @@ class app.Settings · 3 unmodified lines
44 DARK_KEY = 'dark'
55 LAYOUT_KEY = 'layout'
66 SIZE_KEY = 'size'
7+ SIDEBAR_KEY = 'sidebar'
78
89 @defaults:
910 count: 0
@@ -77,10 +78,17 @@ class app.Settings · 67 unmodified lines
7778 catch
7879 return
7980
81+ setSidebar: (value) ->
82+ try
83+ Cookies.set SIDEBAR_KEY, value, path: '/', expires: 1e8
84+ catch
85+ return
86+
8087 reset: ->
8188 try Cookies.expire DOCS_KEY
8289 try Cookies.expire DARK_KEY
8390 try Cookies.expire LAYOUT_KEY
8491 try Cookies.expire SIZE_KEY
92+ try Cookies.expire SIDEBAR_KEY
8593 try @store.del(SETTINGS_KEY)
8694 return
assets/javascripts/views/layout/resizer.coffee+5−0
@@ -4,6 +4,7 @@ class app.views.Resizer extends app.View · 3 unmodified lines
44 @events:
55 dragstart: 'onDragStart'
66 dragend: 'onDragEnd'
7+ dblclick: 'onDbLClick'
78
89 @isSupported: ->
910 'ondragstart' of document.createElement('div') and !app.isMobile()
@@ -31,6 +32,10 @@ class app.views.Resizer extends app.View · 21 unmodified lines
3132 app.appCache?.updateInBackground()
3233 return
3334
35+ onDbLClick: (event) =>
36+ app.toggleSidebar()
37+ return
38+
3439 onDragStart: (event) =>
3540 @style.removeAttribute('disabled')
3641 event.dataTransfer.effectAllowed = 'link'