Skip to content

Commit

Permalink
Merge pull request #3 from Bushido/style_fix
Browse files Browse the repository at this point in the history
Adds fix for pastie, relative timestamps
  • Loading branch information
sgrove committed Apr 12, 2012
2 parents 868b4fb + c185893 commit 13520aa
Show file tree
Hide file tree
Showing 32 changed files with 393 additions and 281 deletions.
7 changes: 0 additions & 7 deletions app/assets/javascripts/application.js
Expand Up @@ -19,10 +19,3 @@
//= require backbone/kandan
//= require_tree .

$(function(){
$('.user_menu_link').click(function(e){
e.preventDefault();
$('.user_menu').toggle();
return false;
});
});
24 changes: 12 additions & 12 deletions app/assets/javascripts/backbone/broadcasters/faye.js.coffee
@@ -1,8 +1,8 @@
class Kandan.Broadcasters.FayeBroadcaster

constructor: ()->
@faye_client = new Faye.Client("/remote/faye")
@faye_client.disable('websocket')
@fayeClient = new Faye.Client("/remote/faye")
@fayeClient.disable('websocket')
authExtension = {
outgoing: (message, callback)->
if message.channel == "/meta/subscribe"
Expand All @@ -11,27 +11,27 @@ class Kandan.Broadcasters.FayeBroadcaster
}
callback(message)
}
@faye_client.addExtension(authExtension)
@fayeClient.addExtension(authExtension)

@faye_client.bind "transport:down", ()->
@fayeClient.bind "transport:down", ()->
console.log "Comm link to Cybertron is down!"

@faye_client.bind "transport:up", ()->
@fayeClient.bind "transport:up", ()->
console.log "Comm link is up!"

@faye_client.subscribe "/app/activities", (data)=>
@fayeClient.subscribe "/app/activities", (data)=>
[entityName, eventName] = data.event.split("#")
@processEventsForUser(eventName, data) if entityName == "user"
@processEventsForChannel(eventName, data) if entityName == "channel"
@processEventsForUser(eventName, data) if entityName == "user"
@processEventsForChannel(eventName, data) if entityName == "channel"
@processEventsForAttachments(eventName, data) if entityName == "attachments"

processEventsForAttachments: (eventName, data)->
Kandan.Helpers.Channels.add_activity(data.entity, Kandan.Helpers.Activities.ACTIVE_STATE)
Kandan.Helpers.Channels.addActivity(data.entity, Kandan.Helpers.Activities.ACTIVE_STATE)
Kandan.Data.Attachments.runCallbacks("change", data)

processEventsForUser: (eventName, data)->
if eventName.match(/connect/)
$(document).data('active_users', data.extra.active_users)
$(document).data('active-users', data.extra.active_users)
Kandan.Data.ActiveUsers.runCallbacks("change", data)

processEventsForChannel: (eventName, data)->
Expand All @@ -42,8 +42,8 @@ class Kandan.Broadcasters.FayeBroadcaster


subscribe: (channel)->
subscription = @faye_client.subscribe channel, (data)=>
Kandan.Helpers.Channels.add_activity(data)
subscription = @fayeClient.subscribe channel, (data)=>
Kandan.Helpers.Channels.addActivity(data)
subscription.errback((data)->
console.log "error", data
alert "Oops! could not connect to the server"
Expand Down
@@ -1,11 +1,11 @@
class Kandan.Collections.Activities extends Backbone.Collection

url: ()->
"channels/#{@channel_id}/activities"
"channels/#{@channelId}/activities"

initialize: (models, options)->
@channel_id = options.channel_id
@channelId = options.channel_id

parse: (response)->
@more_activities = response.more_activities
@moreActivities = response.more_activities
response.activities
@@ -1,6 +1,6 @@
class Kandan.Collections.Attachments extends Backbone.Collection
url: ()->
"/channels/#{@channel_id}/attachments"
"/channels/#{@channelId}/attachments"

initialize: (models, options)->
@channel_id = options.channel_id
@channelId = options.channelId
2 changes: 1 addition & 1 deletion app/assets/javascripts/backbone/data/attachments.js.coffee
Expand Up @@ -3,7 +3,7 @@ class Kandan.Data.Attachments

@all: (callback)->
attachments = new Kandan.Collections.Attachments([], {
channel_id: Kandan.Data.Channels.activeChannelId()
channelId: Kandan.Data.Channels.activeChannelId()
})
attachments.fetch({ success: callback })

Expand Down
@@ -1,10 +1,10 @@
class Kandan.Helpers.ActiveUsers

@all: (options)->
$(document).data("active_users")
$(document).data("active-users")

@setFromCollection: (collection)->
$(document).data("active_users", collection.toJSON())
$(document).data("active-users", collection.toJSON())

@collectionHasCurrentUser: (collection)->
currentUser = Kandan.Helpers.Users.currentUser()
Expand Down
4 changes: 2 additions & 2 deletions app/assets/javascripts/backbone/helpers/activities.js.coffee
Expand Up @@ -4,8 +4,8 @@ class Kandan.Helpers.Activities
@ACTIVE_STATE: "ACTIVE"
@HISTORY_STATE: "HISTORY"

@build_from_base_template: (activity)->
@buildFromBaseTemplate: (activity)->
JST['activity_base']({activity: activity})

@build_from_message_template: (activity)->
@buildFromMessageTemplate: (activity)->
JST['message']({activity: activity})
Expand Up @@ -2,7 +2,7 @@ class Kandan.Helpers.Channels

@options:
autoScrollThreshold: 0.90
maxActivities: <%= Kandan::Config.options[:per_page] %>
maxActivities: Kandan.options.perPage

@pastAutoScrollThreshold: (channelId)->
currentPosition = @currentScrollPosition channelId
Expand All @@ -18,22 +18,22 @@ class Kandan.Helpers.Channels
console.log("current scroll position")
$(document).scrollTop()

@channel_activities_el: (channelId)->
@channelActivitiesEl: (channelId)->
$("#channel-activities-#{channelId}")

@channel_pagination_el: (channelId)->
@channelPaginationEl: (channelId)->
$("#channels-#{channelId} .pagination")

@selected_tab: ()->
$('#kandan').tabs('option', 'selected')
@selectedTab: ()->
$("#kandan").tabs("option", "selected")

@getActiveChannelId: ()->
if $(document).data('active_channel_id') == undefined
if $(document).data('active-channel-id') == undefined
return $("#kandan .ui-tabs-panel")
.eq(@selected_tab())
.data('channel_id')
.eq(@selectedTab())
.data("channel-id")
else
return $(document).data('active_channel_id')
return $(document).data("active-channel-id")


@confirmDeletion: ()->
Expand All @@ -44,9 +44,9 @@ class Kandan.Helpers.Channels
$channelActivities = $("#channel-activities-#{channelId}")
if $channelActivities.children().length == @options.maxActivities + 1
$channelActivities.children().first().remove()
oldest = $channelActivities.children().first().data("activity_id")
oldest = $channelActivities.children().first().data("activity-id")
$channelActivities.prev().data("oldest", oldest)
@channel_pagination_el(channelId).show()
@channelPaginationEl(channelId).show()


@confirmAndDeleteChannel: (channel, tabIndex)->
Expand All @@ -59,7 +59,7 @@ class Kandan.Helpers.Channels
@getChannelIdByTabIndex: (tabIndex)->
$("#kandan .ui-tabs-panel")
.eq(tabIndex)
.data('channel_id')
.data("channel-id")

@getTabIndexByChannelId: (channelId)->
$("#channels-#{channelId}").prevAll("div").length
Expand All @@ -73,7 +73,7 @@ class Kandan.Helpers.Channels
# NOTE gotcha, 0 index being passed a natural index from the html views
deleted = deleted || false
channelId = @getChannelIdByTabIndex(tabIndex)
throw "NO CHANNEL ID" if channelId == 'undefined'
throw "NO CHANNEL ID" if channelId == undefined
channel = new Kandan.Models.Channel({id: channelId})
return @confirmAndDeleteChannel(channel, tabIndex) if not deleted

Expand All @@ -86,15 +86,15 @@ class Kandan.Helpers.Channels
@createChannelArea: (channel)->
channelArea = "#channels-#{channel.get('id')}"
totalTabs = $("#kandan").tabs("length")
$createTab = $("#create_channel").parents('li').detach()
$("#kandan").tabs('add', channelArea, "#{channel.get("name")}", totalTabs)
$createTab.appendTo('ul.ui-tabs-nav')
$createTab = $("#create_channel").parents("li").detach()
$("#kandan").tabs("add", channelArea, "#{channel.get("name")}", totalTabs)
$createTab.appendTo("ul.ui-tabs-nav")
view = new Kandan.Views.ChannelPane({channel: channel})
view.render $(channelArea)
$(channelArea).data('channel_id', channel.get('id'))
$(channelArea).data("channel_id", channel.get("id"))


@new_activity_view: (activityAttributes)->
@newActivityView: (activityAttributes)->
activity = new Kandan.Models.Activity(activityAttributes)
activityView = new Kandan.Views.ShowActivity({activity: activity})
return activityView
Expand All @@ -104,46 +104,44 @@ class Kandan.Helpers.Channels
@createChannelArea(new Kandan.Models.Channel(activityAttributes.channel))


@add_activity: (activityAttributes, state)->
@addActivity: (activityAttributes, state)->
@createChannelIfNotExists(activityAttributes)

if activityAttributes.channel_id
@add_message(activityAttributes, state)
@addMessage(activityAttributes, state)
else
@add_notification(activityAttributes)
@addNotification(activityAttributes)

channelId = activityAttributes.channel_id || @getActiveChannelId()
@scrollToLatestMessage(channelId) if @pastAutoScrollThreshold(channelId)



@add_message: (activityAttributes, state)->
@channel_activities_el(activityAttributes.channel_id)
.append(@new_activity_view(activityAttributes).render().el)
@addMessage: (activityAttributes, state)->
@channelActivitiesEl(activityAttributes.channel_id)
.append(@newActivityView(activityAttributes).render().el)
@flushActivities(activityAttributes.channel_id)
Kandan.Helpers.Utils.notifyInTitleIfRequired()
@set_pagination_data(activityAttributes.channel_id)
@setPaginationData(activityAttributes.channel_id)


@add_notification: (activityAttributes)->
@addNotification: (activityAttributes)->
$channelElements = $(".channel-activities")
activityAttributes["created_at"] = new Date()
for el in $channelElements
$(el).append(@new_activity_view(activityAttributes).render().el)
@flushActivities($(el).closest(".ui-widget-content").data("channel_id"))
@set_pagination_data(activityAttributes.channel_id)
$(el).append(@newActivityView(activityAttributes).render().el)
@flushActivities($(el).closest(".ui-widget-content").data("channel-id"))
@setPaginationData(activityAttributes.channel_id)


@set_pagination_state: (channelId, moreActivities, oldest)->
@channel_pagination_el(channelId).data('oldest', oldest)
console.log "pagination element", moreActivities, @channel_pagination_el(channelId)
@setPaginationState: (channelId, moreActivities, oldest)->
@channelPaginationEl(channelId).data("oldest", oldest)
console.log "pagination element", moreActivities, @channelPaginationEl(channelId)
if moreActivities == true
@channel_pagination_el(channelId).show()
@channelPaginationEl(channelId).show()
else
@channel_pagination_el(channelId).hide()
@channelPaginationEl(channelId).hide()


@set_pagination_data: (channel_id)->
$oldest_activity = @channel_activities_el(channel_id).find(".activity").first()
if $oldest_activity.length != 0
@channel_pagination_el(channel_id).data('oldest', $oldest_activity.data('activity_id'))
@setPaginationData: (channelId)->
$oldestActivity = @channelActivitiesEl(channelId).find(".activity").first()
if $oldestActivity.length != 0
@channelPaginationEl(channelId).data("oldest", $oldestActivity.data("activity-id"))
2 changes: 1 addition & 1 deletion app/assets/javascripts/backbone/helpers/users.js.coffee
@@ -1,3 +1,3 @@
class Kandan.Helpers.Users
@currentUser: ()->
$.data(document, 'current_user')
$.data(document, 'current-user')
12 changes: 0 additions & 12 deletions app/assets/javascripts/backbone/helpers/utils.js.coffee
Expand Up @@ -25,15 +25,3 @@ class Kandan.Helpers.Utils

@resetUnreadActivities: () ->
@unreadActivities = 0

@time_to_string: (time) ->
return time if (typeof time != "object")
am = time.getHours() < 12
hours = time.getHours()
ampm = "AM" if am == true
if am != true
ampm = "PM"
hours = hours - 12 if hours != 12
minutes = time.getMinutes().toString()
minutes = "0#{minutes}" if minutes.length == 1
return "#{ time.getDate() }-#{ @months[time.getMonth()].slice(0,3).toUpperCase() }-#{ time.getFullYear().toString().slice(2,4) } #{ hours }:#{ minutes } #{ ampm }"

0 comments on commit 13520aa

Please sign in to comment.