 
     @tab_id = @komp =>
       "#node#{@index}"
+
+  # adds a new ActionLog
+  addLog: (json) =>
+    @logs.push(new ActionLog(json.log))
+
+  # adds output to an existing ActionLog
+  appendLog: (json) =>
+    @logs[json.log_index].appendLog(json)
 
 
 

      "<span class='#{o.type}'>#{@htmlEscape(o.message)}</span>"
    x.join ""



class Node extends Base

    else
      @build_num

  pusherChannelName: () =>
    "private-#{@project_name()}/#{@build_num}"

  update: (json) =>
    @status(json.status)

  updateNode: (json) =>
    switch json.type
      when "add" then @nodes[json.index].addLog(json)
      when "update" then @nodes[json.index].updateLog(json)


class Project extends HasUrl
