 
     onRowChange: (from, to) ->
       @logger.debug "Switching from row #{from?.id} to row #{to?.id}"
+      if not do @isLogging
+        return
       time = new Date()
       if @currentRow and @currentRow.id != to?.id
         @onRowPeriod { start: @currentRow.time, stop: time, id: @currentRow.id, row: from }

      @logger = @api.logger
      @logger.info "Loading time tracking"
      @api.cursor.on 'rowChange', (@onRowChange.bind @)
      @onRowChange undefined, @api.cursor.row # Initial setup
      @api.view.on 'renderLine', (@onRenderLine.bind @)
      @api.view.data.on 'afterDescendantRemoved', (@onDescendantRemoved.bind @)
      @api.view.data.on 'afterDescendantAdded', (@onDescendantAdded.bind @)
      @rowChanges = []
      @currentRow = null
      @displayTime = true
      @api.view.on 'exit', () =>
        @onRowChange @currentRow, null

    getRowData: (id, keytype) ->
      key = "#{id}:#{keytype}"

        "#{seconds}s"

    onRenderLine: (row, renderArray, options) ->
      if do @shouldDisplayTime
        time = @rowTime row
        if time > 1000
          @logger.info "Rendering time for row #{row.id} as #{time}"
