Removed not longer needed files.
This commit is contained in:
parent
af944eea2f
commit
14f1ec7a01
3 changed files with 0 additions and 232 deletions
|
@ -1,217 +0,0 @@
|
||||||
class Widget extends App.ControllerWidgetPermanent
|
|
||||||
events:
|
|
||||||
'submit #chat_form': 'submitMessage'
|
|
||||||
'focusin [name=chat_message]': 'focusIn'
|
|
||||||
'focusout [name=chat_message]': 'focusOut'
|
|
||||||
'click .close': 'toggle'
|
|
||||||
|
|
||||||
constructor: ->
|
|
||||||
super
|
|
||||||
|
|
||||||
@messageLog = []
|
|
||||||
|
|
||||||
# rebuild chat widget
|
|
||||||
@bind 'auth', (user) =>
|
|
||||||
if !user
|
|
||||||
@messageLog = []
|
|
||||||
@el.html('')
|
|
||||||
else
|
|
||||||
if !@access()
|
|
||||||
@messageLog = []
|
|
||||||
@el.html('')
|
|
||||||
return
|
|
||||||
@start()
|
|
||||||
|
|
||||||
if @access()
|
|
||||||
@start()
|
|
||||||
|
|
||||||
access: ->
|
|
||||||
return false if !@Session.get()
|
|
||||||
return true if @isRole('Agent')
|
|
||||||
return true if @isRole('Admin')
|
|
||||||
return false
|
|
||||||
|
|
||||||
start: =>
|
|
||||||
@focus = false
|
|
||||||
@isShown = false
|
|
||||||
@newMessage = false
|
|
||||||
|
|
||||||
@render()
|
|
||||||
@hide()
|
|
||||||
|
|
||||||
@bind(
|
|
||||||
'chat:message'
|
|
||||||
(e) =>
|
|
||||||
|
|
||||||
# show new message info
|
|
||||||
@newMessage = true
|
|
||||||
|
|
||||||
# remember messages
|
|
||||||
@messageLog.push e
|
|
||||||
|
|
||||||
# chump max message count
|
|
||||||
max = 10
|
|
||||||
length = @messageLog.length
|
|
||||||
if length > 10
|
|
||||||
@messageLog = @messageLog.slice( length - max, length )
|
|
||||||
@render()
|
|
||||||
|
|
||||||
if !e.spool
|
|
||||||
@notifyDesktop(
|
|
||||||
msg: 'Chat'
|
|
||||||
body: "#{e.nick}: #{e.message}"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
@bind(
|
|
||||||
'chat:window_toggle'
|
|
||||||
(e) =>
|
|
||||||
if e.show
|
|
||||||
@show()
|
|
||||||
else
|
|
||||||
@hide()
|
|
||||||
)
|
|
||||||
|
|
||||||
@bind(
|
|
||||||
'chat:message_new'
|
|
||||||
(e) =>
|
|
||||||
|
|
||||||
# show new message info
|
|
||||||
@newMessage = false
|
|
||||||
@el.find('div.well').removeClass('alert-success')
|
|
||||||
)
|
|
||||||
|
|
||||||
toggle: (e) =>
|
|
||||||
e.preventDefault()
|
|
||||||
if !@el.find('#chat_content').is(':visible')
|
|
||||||
@show()
|
|
||||||
App.Event.trigger(
|
|
||||||
'ws:send'
|
|
||||||
action: 'broadcast'
|
|
||||||
event: 'chat:window_toggle'
|
|
||||||
recipient:
|
|
||||||
user_id: [ @Session.get('id') ]
|
|
||||||
data:
|
|
||||||
show: true
|
|
||||||
)
|
|
||||||
else
|
|
||||||
@hide()
|
|
||||||
App.Event.trigger(
|
|
||||||
'ws:send'
|
|
||||||
action: 'broadcast'
|
|
||||||
event: 'chat:window_toggle'
|
|
||||||
recipient:
|
|
||||||
user_id: [ @Session.get('id') ]
|
|
||||||
data:
|
|
||||||
show: false
|
|
||||||
)
|
|
||||||
@newMessage = false
|
|
||||||
|
|
||||||
show: =>
|
|
||||||
@isShown = true
|
|
||||||
@el.find('#chat_toogle').html('×')
|
|
||||||
if @newMessage
|
|
||||||
@el.find('div.well').addClass('alert-success')
|
|
||||||
@delay( =>
|
|
||||||
@el.find('div.well').removeClass('alert-success')
|
|
||||||
|
|
||||||
App.Event.trigger(
|
|
||||||
'ws:send'
|
|
||||||
action: 'broadcast'
|
|
||||||
recipient:
|
|
||||||
user_id: [ @Session.get('id') ]
|
|
||||||
event: 'chat:message_new'
|
|
||||||
spool: true
|
|
||||||
data:
|
|
||||||
show: true
|
|
||||||
)
|
|
||||||
|
|
||||||
2000
|
|
||||||
'chat-message-new'
|
|
||||||
)
|
|
||||||
@el.find('#chat_content').show(100)
|
|
||||||
@el.find('#chat_content').removeClass('hide')
|
|
||||||
@newMessage = false
|
|
||||||
|
|
||||||
# hide
|
|
||||||
@delay( =>
|
|
||||||
@hide()
|
|
||||||
60000
|
|
||||||
'chat-window-hide'
|
|
||||||
)
|
|
||||||
|
|
||||||
hide: =>
|
|
||||||
@isShown = false
|
|
||||||
@el.find('#chat_content').hide(100)
|
|
||||||
@el.find('#chat_content').addClass('hide')
|
|
||||||
@el.find('#chat_toogle').html('♦')
|
|
||||||
|
|
||||||
focusIn: =>
|
|
||||||
@focus = true
|
|
||||||
@clearDelay 'chat-message-focusout'
|
|
||||||
@clearDelay 'chat-window-hide'
|
|
||||||
|
|
||||||
focusOut: =>
|
|
||||||
a = =>
|
|
||||||
@focus = false
|
|
||||||
@delay a, 200, 'chat-message-focusout'
|
|
||||||
|
|
||||||
# hide
|
|
||||||
@delay( =>
|
|
||||||
@hide()
|
|
||||||
60000
|
|
||||||
'chat-window-hide'
|
|
||||||
)
|
|
||||||
|
|
||||||
render: ->
|
|
||||||
|
|
||||||
for message in @messageLog
|
|
||||||
if message.nick is @Session.get('login')
|
|
||||||
message.nick = 'me'
|
|
||||||
|
|
||||||
# insert data
|
|
||||||
shown = false
|
|
||||||
if @isShown
|
|
||||||
shown = true
|
|
||||||
@html App.view('widget/chat')(
|
|
||||||
messages: @messageLog
|
|
||||||
isShown: shown
|
|
||||||
)
|
|
||||||
|
|
||||||
if document.getElementById('chat_log_container')
|
|
||||||
document.getElementById('chat_log_container').scrollTop = 10000
|
|
||||||
|
|
||||||
# focus in input box
|
|
||||||
if @focus
|
|
||||||
@el.find('[name=chat_message]').focus()
|
|
||||||
|
|
||||||
# show or not show window
|
|
||||||
if @isShown
|
|
||||||
@show()
|
|
||||||
else
|
|
||||||
@hide()
|
|
||||||
if @newMessage
|
|
||||||
@el.find('div.well').addClass('alert-success')
|
|
||||||
|
|
||||||
submitMessage: (e) ->
|
|
||||||
e.preventDefault()
|
|
||||||
message = $(e.target).find('[name=chat_message]').val()
|
|
||||||
if message
|
|
||||||
msg =
|
|
||||||
message: message
|
|
||||||
user_id: @Session.get( 'id' )
|
|
||||||
nick: @Session.get( 'login' )
|
|
||||||
@messageLog.push msg
|
|
||||||
|
|
||||||
$(e.target).find('[name=chat_message]').val('')
|
|
||||||
|
|
||||||
App.Event.trigger(
|
|
||||||
'ws:send'
|
|
||||||
action: 'broadcast'
|
|
||||||
event: 'chat:message'
|
|
||||||
spool: true
|
|
||||||
data: msg
|
|
||||||
)
|
|
||||||
@render()
|
|
||||||
|
|
||||||
App.Config.set( 'chat', Widget, 'Widgets' )
|
|
|
@ -1,13 +0,0 @@
|
||||||
<div class="well chat">
|
|
||||||
<h5><%- @T('Chat') %><a href="#" id="chat_toogle" class="close">×</a></h5>
|
|
||||||
<div id="chat_content" <% if !@isShown: %>class="hide"<% end %>>
|
|
||||||
<div id="chat_log_container" class="max-size-scroll">
|
|
||||||
<% for message in @messages: %>
|
|
||||||
<div><%= message.nick %>: <%- @L( message.message ) %></div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<form id="chat_form">
|
|
||||||
<input name="chat_message" type="text" value="" class="form-control input-small"/>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
|
@ -1,2 +0,0 @@
|
||||||
class Chat::Topic < ApplicationModel
|
|
||||||
end
|
|
Loading…
Reference in a new issue