# @cjsx React.DOM @Header = React.createClass( propTypes: site: React.PropTypes.object.isRequired getInitialState: -> { loading: false } handleSync: -> return if @state.loading @setState(loading: true) $.postq("default", "/api/syncs").always(@handleResponse).done(@handleSyncSuccess).fail(@handleError) handleDeploy: -> return if @state.loading @setState(loading: true) $.postq("default", "/api/deploys").always(@handleResponse).done(@handleDeploySuccess).fail(@handleError) handleResponse: -> @setState(loading: false) handleSyncSuccess: (response) -> $.growl(response.syncs.join("\n").replace(/\n/g, "
"), growlSuccess) $(document).trigger("fetchPosts") handleDeploySuccess: (response) -> $.growl(response.deploys.join("\n"), growlSuccess) $(document).trigger("fetchPosts") handleError: (error) -> $.growl(error.responseJSON?.errors.join("\n").replace(/\n/g, "
") || error.statusText, growlError) render: ->
)