class @Workflow
constructor: (@data) -> @template = $("#workflow-template").html() @view = new View(@template, @templateData(), @partialsData()) render: -> @view.setPartialsData(@partialsData()) @view.render() templateData: -> if @data.started_at @data.started_at = moment(@data.started_at * 1000).format("DD/MM/YYYY HH:mm") if @data.finished_at @data.finished_at = moment(@data.finished_at * 1000).format("DD/MM/YYYY HH:mm") @data partialsData: -> {progress: @calculateProgress(), status: @data.status, action: @actionData()} calculateProgress: -> progress = (@data.finished*100) / @data.total; @markAsCompleted() if progress == 100 progress updateProgress: -> @data.finished += 1 @view.updateProgress(@calculateProgress()) changeStatus: (status) -> @data.status = status @view.updateStatus(status) if @view updateDates: (data) -> @data.started_at = data.started_at @data.finished_at = data.finished_at @templateData() @view.updateDates(@data) if @view markAsCompleted: -> @changeStatus("Finished") markAsFailed: -> @changeStatus("Failed") actionData: -> {workflow_id: @data.id, status: @data.status};