diff --git a/app/assets/javascripts/backbone/helpers/channels.js.coffee b/app/assets/javascripts/backbone/helpers/channels.js.coffee
index 66210c67..2f4d35f9 100644
--- a/app/assets/javascripts/backbone/helpers/channels.js.coffee
+++ b/app/assets/javascripts/backbone/helpers/channels.js.coffee
@@ -6,9 +6,8 @@ class Kandan.Helpers.Channels
@replaceCreateButton: ()->
$tabNav = $(".create_channel").parent().parent()
- $createButton = $(".create_channel").parent().html()
$tabNav.find(".create_channel").parent().remove()
- $tabNav.append("
"+$createButton+"")
+ $tabNav.append JST['create_channel']()
@pastAutoScrollThreshold: (channelId)->
currentPosition = @currentScrollPosition channelId
@@ -33,11 +32,11 @@ class Kandan.Helpers.Channels
$("#channels-#{channelId} .pagination")
@selected_tab: ()->
- $('#channels').tabs('option', 'selected')
+ $('#kandan').tabs('option', 'selected')
@getActiveChannelId: ()->
if $(document).data('active_channel_id') == undefined
- return $("#channels .ui-tabs-panel")
+ return $("#kandan .ui-tabs-panel")
.eq(@selected_tab())
.data('channel_id')
else
@@ -60,12 +59,12 @@ class Kandan.Helpers.Channels
@confirmAndDeleteChannel: (channel, tabIndex)->
return false if @confirmDeletion() == false
channel.destroy({success: ()=>
- $("#channels").tabs("remove", tabIndex)
+ $("#kandan").tabs("remove", tabIndex)
})
@getChannelIdByTabIndex: (tabIndex)->
- $("#channels .ui-tabs-panel")
+ $("#kandan .ui-tabs-panel")
.eq(tabIndex)
.data('channel_id')
@@ -85,7 +84,7 @@ class Kandan.Helpers.Channels
channel = new Kandan.Models.Channel({id: channelId})
return @confirmAndDeleteChannel(channel, tabIndex) if not deleted
console.log "TAB INDEX", tabIndex
- $("#channels").tabs("remove", tabIndex)
+ $("#kandan").tabs("remove", tabIndex)
@channelExists: (channelId)->
@@ -95,9 +94,9 @@ class Kandan.Helpers.Channels
@createChannelArea: (channel)->
channelArea = "#channels-#{channel.get('id')}"
- totalTabs = $("#channels").tabs("length")
+ totalTabs = $("#kandan").tabs("length")
- $("#channels").tabs('add', channelArea, "#{channel.get("name")}", totalTabs)
+ $("#kandan").tabs('add', channelArea, "#{channel.get("name")}", totalTabs)
Kandan.Helpers.Channels.replaceCreateButton()
view = new Kandan.Views.ChannelPane({channel: channel})
view.render $(channelArea)
diff --git a/app/assets/javascripts/backbone/kandan.js.coffee b/app/assets/javascripts/backbone/kandan.js.coffee
index 1b375c1c..f7ff6f00 100644
--- a/app/assets/javascripts/backbone/kandan.js.coffee
+++ b/app/assets/javascripts/backbone/kandan.js.coffee
@@ -58,7 +58,7 @@ window.Kandan =
#{label}
- x
+ x
'''
diff --git a/app/assets/javascripts/backbone/views/channel_tabs.js.coffee b/app/assets/javascripts/backbone/views/channel_tabs.js.coffee
new file mode 100644
index 00000000..808f9824
--- /dev/null
+++ b/app/assets/javascripts/backbone/views/channel_tabs.js.coffee
@@ -0,0 +1,29 @@
+class Kandan.Views.ChannelTabs extends Backbone.View
+ template: JST['chatarea']
+ tagName: 'ul'
+
+ events:
+ "click .close_channel" : "deleteChannel"
+ "click .create_channel": "createChannel"
+
+
+ render: ()->
+ $(@el).html @template({channels: @options.channels})
+ @
+
+ createChannel: (event)->
+ channelName = prompt("What's the channel name?", "New channel")
+ channelName = channelName.replace(/^\s+|\s+$/g, '')
+ if channelName
+ channel = new Kandan.Models.Channel({name: channelName})
+ channel.save({}, {
+ success: (model)->
+ Kandan.Helpers.Channels.createChannelArea(model)
+ })
+ console.log "create channel: #{channelName}"
+
+ deleteChannel: (event)->
+ console.log "deleteChannel"
+ channelIndex = $(event.target).parent().prevAll().length
+ console.log "request for deletion", channelIndex
+ Kandan.Helpers.Channels.deleteChannelByTabIndex(channelIndex) if channelIndex != 0
diff --git a/app/assets/javascripts/backbone/views/chatarea.js.coffee b/app/assets/javascripts/backbone/views/chatarea.js.coffee
index a1992e92..99fbed7f 100644
--- a/app/assets/javascripts/backbone/views/chatarea.js.coffee
+++ b/app/assets/javascripts/backbone/views/chatarea.js.coffee
@@ -1,32 +1,11 @@
class Kandan.Views.ChatArea extends Backbone.View
- template: JST['chatarea']
- # className: 'channels'
+ render: ()->
+ tabView = new Kandan.Views.ChannelTabs({channels: @options.channels})
+ $('.header .logo').after(tabView.render().el)
- events:
- "click .close_channel" : "deleteChannel"
- "click .create_channel": "createChannel"
-
- render: ->
- $('.header .logo').after(@template({channels: @options.channels}))
for channel in @options.channels.models
view = new Kandan.Views.ChannelPane({channel: channel})
$(@el).append(view.render().el)
$(@el).attr('id', 'channels')
@
-
- createChannel: (event)->
- channelName = prompt("What's the channel name?", "New channel")
- channelName = channelName.replace(/^\s+|\s+$/g, '')
- if channelName
- channel = new Kandan.Models.Channel({name: channelName})
- channel.save({}, {
- success: (model)->
- Kandan.Helpers.Channels.createChannelArea(model)
- })
- console.log "create channel: #{channelName}"
-
- deleteChannel: (event)->
- channelIndex = $(event.target).parent().prevAll().length
- console.log "request for deletion", channelIndex
- Kandan.Helpers.Channels.deleteChannelByTabIndex(channelIndex) if channelIndex != 0
diff --git a/app/assets/templates/chatarea.jst.eco b/app/assets/templates/chatarea.jst.eco
index 289b90a2..40db865a 100644
--- a/app/assets/templates/chatarea.jst.eco
+++ b/app/assets/templates/chatarea.jst.eco
@@ -1,16 +1,11 @@
-
-
+
+
+
+ "><%= channel.get('name') %>
+ x
+
+
+<% end %>
+<%- JST['create_channel']() %>
diff --git a/app/assets/templates/create_channel.jst.eco b/app/assets/templates/create_channel.jst.eco
new file mode 100644
index 00000000..6475cdf8
--- /dev/null
+++ b/app/assets/templates/create_channel.jst.eco
@@ -0,0 +1,3 @@
+
+ +
+
\ No newline at end of file