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
20 MIN = 25020 MIN = 250
21 MAX = 60021 MAX = 600
22 22
23 resize: (newSize) ->23 resize: (value, save) ->
24 return unless newSize > 024 return unless value > 0
25 newSize = Math.min(Math.max(Math.round(newSize), MIN), MAX)25 value = Math.min(Math.max(Math.round(value), MIN), MAX)
26 app.settings.setSize(newSize)26 newSize = "#{value}px"
27 newSize = "#{newSize}px"
28 @style.innerHTML = @style.innerHTML.replace(new RegExp(@size, 'g'), newSize)27 @style.innerHTML = @style.innerHTML.replace(new RegExp(@size, 'g'), newSize)
29 @size = newSize28 @size = newSize
29 if save
30 app.settings.setSize(value)
31 app.appCache?.updateInBackground()
30 return32 return
31 33
32 onDragStart: (event) =>34 onDragStart: (event) =>
@@ -38,9 +40,9 @@ class app.views.Resizer extends app.View · 5 unmodified lines
38 onDrag: (event) =>40 onDrag: (event) =>
39 return if @lastDrag and @lastDrag > Date.now() - 5041 return if @lastDrag and @lastDrag > Date.now() - 50
40 @lastDrag = Date.now()42 @lastDrag = Date.now()
41 @resize event.clientX43 @resize(event.clientX, false)
42 return44 return
43 45
44 onDragEnd: (event) =>46 onDragEnd: (event) =>
45 @resize event.screenX - window.screenX47 @resize(event.screenX - window.screenX, true)
46 return48 return
test/app_test.rb+11−0
@@ -81,6 +81,17 @@ class AppTest < MiniTest::Spec · 80 unmodified lines
81 assert_includes last_response.body, '# dark'81 assert_includes last_response.body, '# dark'
82 refute_includes last_response.body, '# light'82 refute_includes last_response.body, '# light'
83 end83 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
84 end95 end
85 96
86 describe "/[doc]" do97 describe "/[doc]" do
views/manifest.erb+1−1
@@ -1,5 +1,5 @@
1CACHE MANIFEST1CACHE MANIFEST
2# <%= cookies[:dark].nil? ? 'light' : 'dark' %>2# <%= cookies[:dark].nil? ? 'light' : 'dark' %> <%= size %>
3 3
4CACHE:4CACHE:
5/5/