History

Bust AppCache on resize

Thibaut committed 11 years ago

Commit 2a559791 parent b858ba53 files · +21 −8Browse files

Unified · Split

3 files
  1. assets/javascripts/views/layout/resizer.coffee +9 −7
  2. test/app_test.rb +11 −0
  3. views/manifest.erb +1 −1
assets/javascripts/views/layout/resizer.coffee+9−7
@@ -20,13 +20,15 @@ class app.views.Resizer extends app.View · 19 unmodified lines
2020 MIN = 250
2121 MAX = 600
2222
23− resize: (newSize) ->
24− return unless newSize > 0
25− newSize = Math.min(Math.max(Math.round(newSize), MIN), MAX)
26− app.settings.setSize(newSize)
27− newSize = "#{newSize}px"
23+ resize: (value, save) ->
24+ return unless value > 0
25+ value = Math.min(Math.max(Math.round(value), MIN), MAX)
26+ newSize = "#{value}px"
2827 @style.innerHTML = @style.innerHTML.replace(new RegExp(@size, 'g'), newSize)
2928 @size = newSize
29+ if save
30+ app.settings.setSize(value)
31+ app.appCache?.updateInBackground()
3032 return
3133
3234 onDragStart: (event) =>
@@ -38,9 +40,9 @@ class app.views.Resizer extends app.View · 5 unmodified lines
3840 onDrag: (event) =>
3941 return if @lastDrag and @lastDrag > Date.now() - 50
4042 @lastDrag = Date.now()
41− @resize event.clientX
43+ @resize(event.clientX, false)
4244 return
4345
4446 onDragEnd: (event) =>
45− @resize event.screenX - window.screenX
47+ @resize(event.screenX - window.screenX, true)
4648 return
test/app_test.rb+11−0
@@ -81,6 +81,17 @@ class AppTest < MiniTest::Spec · 80 unmodified lines
8181 assert_includes last_response.body, '# dark'
8282 refute_includes last_response.body, '# light'
8383 end
84+
85+ it "sets default size" do
86+ get '/manifest.appcache'
87+ assert_includes last_response.body, '18rem'
88+ end
89+
90+ it "sets size from cookie" do
91+ set_cookie('size=42')
92+ get '/manifest.appcache'
93+ assert_includes last_response.body, '42px'
94+ end
8495 end
8596
8697 describe "/[doc]" do
views/manifest.erb+1−1
@@ -1,5 +1,5 @@
11 CACHE MANIFEST
2−# <%= cookies[:dark].nil? ? 'light' : 'dark' %>
2+# <%= cookies[:dark].nil? ? 'light' : 'dark' %> <%= size %>
33
44 CACHE:
55 /