Sha256: de450db9f7da01b4fd072c73ac0e059bcdbf2876af3200f6e6ff847c979c7b86
Contents?: true
Size: 772 Bytes
Versions: 1
Compression:
Stored size: 772 Bytes
Contents
require 'models/message' # display a single message class DisplayMessage < Hyperloop::Component param :message, type: Message after_mount :scroll_to_bottom after_update :scroll_to_bottom render(DIV, class: 'row alternating message') do DIV(class: 'col-sm-2') { params.message[:from] } FormattedDiv class: 'col-sm-8', markdown: params.message[:message] DIV(class: 'col-sm-2') { formatted_time } end def scroll_to_bottom Element['html, body'].animate({ scrollTop: Element[Document].height }, :slow) end def formatted_time time = params.message[:time] if Time.now < time + 1.day time.strftime '%I:%M %p' elsif Time.now < time + 7.days time.strftime '%A' else time.strftime '%D %I:%M %p' end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hyper-model-0.6.0 | examples/chat-app/app/hyperloop/components/message.rb |