{:uriI"âfile:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/ui/forms/ModelForm/ModelProgressIndicator.js.cjsx?type=application/javascript&pipeline=self&id=47139de2cf277b67cbb118752610ff76c1bf7ec523358c02ce984172f8a6fc84:ET:load_pathI"8/Users/joel/src/revelry_core/app/assets/javascripts;F: filenameI"r/Users/joel/src/revelry_core/app/assets/javascripts/revelry/ui/forms/ModelForm/ModelProgressIndicator.js.cjsx;T: nameI"6revelry/ui/forms/ModelForm/ModelProgressIndicator;T:logical_pathI">revelry/ui/forms/ModelForm/ModelProgressIndicator.self.js;T:content_typeI"application/javascript;T: sourceI"¯(function() { Rev.registerComponent('ModelProgressIndicator', { statics: { Status: { STARTED: 0, REQUESTED: 1, SYNCED: 2, ERRORED: 3 } }, getInitialState: function() { var state; return state = { status: this.constructor.Status.STARTED }; }, render: function() { return React.createElement("span", { "className": this.progressClasses() }, this.childForCurrentStatus()); }, childForCurrentStatus: function() { var i, len, ref, retval, statusName; ref = ['started', 'requested', 'synced', 'errored']; for (i = 0, len = ref.length; i < len; i++) { statusName = ref[i]; if (retval = this.childForStatus(statusName)) { return retval; } } }, childForStatus: function(statusName) { if ((this.props[statusName] != null) && this.state.status === this.constructor.Status[statusName.toUpperCase()]) { return this.props[statusName]; } }, componentDidMount: function() { this.props.model.on('request', this.onRequest); this.props.model.on('sync', this.onSync); return this.props.model.on('error', this.onError); }, componentWillUnmount: function() { this.props.model.off('request', this.onRequest); this.props.model.off('sync', this.onSync); return this.props.model.off('error', this.onError); }, onRequest: function() { return this.setState({ status: this.constructor.Status.REQUESTED }); }, onSync: function() { return this.setState({ status: this.constructor.Status.SYNCED }); }, onError: function() { return this.setState({ status: this.constructor.Status.ERRORED }); }, progressClasses: function() { return this.suitSet('ModelProgressIndicator', { started: this.state.status === this.constructor.Status.STARTED, requested: this.state.status === this.constructor.Status.REQUESTED, synced: this.state.status === this.constructor.Status.SYNCED, errored: this.state.status === this.constructor.Status.ERRORED }); } }); }).call(this); ;T: metadata{ :dependencieso:Set: @hash{ I"environment-version;TTI"environment-paths;TTI"hprocessors:type=application/javascript&file_type=application/javascript&engines=.cjsx&pipeline=self;TTI"{file-digest:///Users/joel/src/revelry_core/app/assets/javascripts/revelry/ui/forms/ModelForm/ModelProgressIndicator.js.cjsx;TT: requiredo;;{: stubbedo;;{: linkso;;{: charsetI" utf-8;F: digest"% {¢ÍæñŒKêŒöoÕÕªfÂ@¥r®_‚…LNŒ: lengthi¯:integrityI"Xni:///sha-256;DXuizebxjEsc6oz2bxfV1aoGZsJApRlyrl-ChRxMTow?ct=application/javascript;T:dependencies_digest"%YLä[~‹¶Z?^¶”Õ6ñ