class Inkcite::View::DeveloperScripts
Public Class Methods
install!(view)
click to toggle source
# File lib/inkcite/view/developer_scripts.rb, line 5 def self.install! view email = view.email # Determine the index of the version is currently being displayed version = view.version versions = email.versions version_count = versions.count - 1 version_index = versions.index(version) # Determine the next version next_index = version_index + 1 next_index = 0 if next_index > version_count # Determine the previous version prev_index = version_index - 1 prev_index = version_count if prev_index < 0 # True if images are disabled 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) {' # left arrow (previous version) script << " newVersion = '#{versions[prev_index]}';" script << ' } else if (event.keyCode === 39) {' # right arrow (next version) script << " newVersion = '#{versions[next_index]}';" script << ' } else if (event.charCode === 105) {' # i key (toggle images) script << ' imagesOff = !imagesOff;' script << ' } else {' script << ' return true;' # invalid keystroke 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