define( ["js/models/active_video_upload", "js/views/baseview"], function(ActiveVideoUpload, BaseView) { "use strict"; var STATUS_CLASSES = [ {status: ActiveVideoUpload.STATUS_QUEUED, cls: "queued"}, {status: ActiveVideoUpload.STATUS_COMPLETED, cls: "success"}, {status: ActiveVideoUpload.STATUS_FAILED, cls: "error"} ]; var ActiveVideoUploadView = BaseView.extend({ tagName: "li", className: "active-video-upload", initialize: function() { this.template = this.loadTemplate("active-video-upload"); this.listenTo(this.model, "change", this.render); }, render: function() { var $el = this.$el; $el.html(this.template(this.model.attributes)); var status = this.model.get("status"); _.each( STATUS_CLASSES, function(statusClass) { $el.toggleClass(statusClass.cls, status == statusClass.status); } ); return this; }, }); return ActiveVideoUploadView; } );