5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/inkcite/view/developer_scripts.rb', line 5
def self.install! view
email = view.email
version = view.version
versions = email.versions
version_count = versions.count - 1
version_index = versions.index(version)
next_index = version_index + 1
next_index = 0 if next_index > version_count
prev_index = version_index - 1
prev_index = version_count if prev_index < 0
images_off = view.images_off?
script = []
script << 'document.addEventListener("keypress", (event) => {'
script << ' window.console.log(event);'
script << " var newVersion = '#{version}';"
script << " var imagesOff = #{images_off};"
script << ' if (event.keyCode === 37) {' script << " newVersion = '#{versions[prev_index]}';"
script << ' } else if (event.keyCode === 39) {' script << " newVersion = '#{versions[next_index]}';"
script << ' } else if (event.charCode === 105) {' script << ' imagesOff = !imagesOff;'
script << ' } else {'
script << ' return true;' script << ' }'
script << ' var newSearch = "?v=" + newVersion;'
script << ' if (imagesOff) {'
script << ' newSearch += "&images-off";'
script << ' }'
script << ' window.location.search = newSearch;'
script << ' event.preventDefault();'
script << ' return false;'
script << '});'
view.scripts << script.join("\n")
end
|