Unified · Split
| @@ -20,13 +20,15 @@ class app.views.Resizer extends app.View · 19 unmodified lines | |||
| 20 | MIN = 250 | 20 | MIN = 250 |
| 21 | MAX = 600 | 21 | MAX = 600 |
| 22 | 22 | ||
| 23 | resize: (newSize) -> | 23 | resize: (value, save) -> |
| 24 | return unless newSize > 0 | 24 | 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 = newSize | 28 | @size = newSize |
| 29 | if save | ||
| 30 | app.settings.setSize(value) | ||
| 31 | app.appCache?.updateInBackground() | ||
| 30 | return | 32 | 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() - 50 | 41 | return if @lastDrag and @lastDrag > Date.now() - 50 |
| 40 | @lastDrag = Date.now() | 42 | @lastDrag = Date.now() |
| 41 | @resize event.clientX | 43 | @resize(event.clientX, false) |
| 42 | return | 44 | return |
| 43 | 45 | ||
| 44 | onDragEnd: (event) => | 46 | onDragEnd: (event) => |
| 45 | @resize event.screenX - window.screenX | 47 | @resize(event.screenX - window.screenX, true) |
| 46 | return | 48 | return |
| @@ -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 | end | 83 | 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 | end | 95 | end |
| 85 | 96 | ||
| 86 | describe "/[doc]" do | 97 | describe "/[doc]" do |
| @@ -1,5 +1,5 @@ | |||
| 1 | CACHE MANIFEST | 1 | CACHE MANIFEST |
| 2 | # <%= cookies[:dark].nil? ? 'light' : 'dark' %> | 2 | # <%= cookies[:dark].nil? ? 'light' : 'dark' %> <%= size %> |
| 3 | 3 | ||
| 4 | CACHE: | 4 | CACHE: |
| 5 | / | 5 | / |