-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTranscriptViewController.rb
65 lines (53 loc) · 1.92 KB
/
TranscriptViewController.rb
1
2
3
4
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
53
54
55
56
57
58
59
60
61
62
63
64
65
#
# TranscriptViewController.rb
# briquette
#
# Created by Dominic Dagradi on 7/31/11.
# Copyright 2011 Bearded. All rights reserved.
#
require 'Message'
class TranscriptViewController < NSViewController
attr_accessor :transcript
attr_accessor :room
attr_accessor :windowController
attr_accessor :term
attr_accessor :upload_messages
def awakeFromNib
view.controller = self
end
def setInfo room_id, date, term, site
@room = site.rooms[room_id]
@date = date
@transcript = Transcript.new(@room, date, self);
@term = term
@transcript.loadTranscript
view.setTerm @term, "#{@room.title} - #{Date.parse(date).strftime('%b %d, %Y')}"
end
def notifications
[@term]
end
def transcriptLoaded messages
@upload_messages ||= {}
transcript_url = "https://#{transcript.room.site.title}.campfirenow.com/room/#{transcript.room.id}/transcript/#{transcript.date.year}/#{transcript.date.month}/#{transcript.date.day}"
transcript_link = Message.new({'type' => Message::META,
'body' => "<a href='#{transcript_url}' target='_blank'>View transcript on Campfire</a>",
'created_at' => Date.parse(@date).to_s,
'user_id' => "null",
'id' => "status-#{Time.now.to_i}"}, nil, self)
view.addMessage transcript_link, {"is_from_join" => true}
messages.each do |m|
_message = Message.new(m, @room, self)
view.addMessage(_message, {"is_from_join" => true}) unless m["type"] == Message::TIME
@upload_messages[_message.id.to_s] = _message
end
transcript_link.classes = "last"
view.addMessage transcript_link, {"is_from_join" => true}
view.ready
end
def leaveTranscript sender
@windowController.unload_transcript
end
def updateMessage message
view.updateMessage @upload_messages.delete(message.id)
end
end