www/project/icla/views/main.js.rb (30 lines of code) (raw):

# # Main class, nearly all scaffolding for demo purposes # class Main < Vue def initialize @view = Invite end def render _main do _h1 'Demo: Discuss, Vote, and Invite' Vue.createElement(@view) end end # save data on first load def created() # @@data is set up by app.html.rb Server.data = @@data end def mounted() # @@view is set up by app.html.rb # set view based on properties if @@view == 'interview' @view = Interview elsif @@view == 'discuss' @view = Discuss elsif @@view == 'vote' @view = Vote else @view = Invite end # export navigation method on the client Main.navigate = self.navigate end # Another navigation means in support of the demo def navigate(view) @view = view window.scrollTo(0, 0) end end