@@ -4,7 +4,6 @@ class app.Settings
44 DARK_KEY = ' dark'
55 LAYOUT_KEY = ' layout'
66 SIZE_KEY = ' size'
7- SIDEBAR_KEY = ' sidebar'
87
98 @defaults :
109 count : 0
@@ -63,10 +62,18 @@ class app.Settings
6362 catch
6463 return
6564
66- setLayout : (value ) ->
65+ setLayout : (name , enable ) ->
6766 try
68- if value
69- Cookies .set LAYOUT_KEY, value, path : ' /' , expires : 1e8
67+ layout = (Cookies .get (LAYOUT_KEY) || ' ' ).split (' ' )
68+ $ .arrayDelete (layout, ' ' )
69+
70+ if enable
71+ layout .push (name) if layout .indexOf (name) is - 1
72+ else
73+ $ .arrayDelete (layout, name)
74+
75+ if layout .length > 0
76+ Cookies .set LAYOUT_KEY, layout .join (' ' ), path : ' /' , expires : 1e8
7077 else
7178 Cookies .expire LAYOUT_KEY
7279 catch
@@ -78,17 +85,10 @@ class app.Settings
7885 catch
7986 return
8087
81- setSidebar : (value ) ->
82- try
83- Cookies .set SIDEBAR_KEY, value, path : ' /' , expires : 1e8
84- catch
85- return
86-
8788 reset : ->
8889 try Cookies .expire DOCS_KEY
8990 try Cookies .expire DARK_KEY
9091 try Cookies .expire LAYOUT_KEY
9192 try Cookies .expire SIZE_KEY
92- try Cookies .expire SIDEBAR_KEY
9393 try @store .del (SETTINGS_KEY)
9494 return
0 commit comments