app/assets/javascripts/components/header.js.cjsx in octodmin-0.1.0 vs app/assets/javascripts/components/header.js.cjsx in octodmin-0.2.0

- old
+ new

@@ -3,11 +3,11 @@ @Header = React.createClass( propTypes: site: React.PropTypes.object.isRequired getInitialState: -> - { alert: null, success: null, loading: false } + { loading: false } handleSync: -> return if @state.loading @setState(loading: true) $.post("/api/syncs").always(@handleResponse).done(@handleSyncSuccess).fail(@handleError) @@ -19,51 +19,41 @@ handleResponse: -> @setState(loading: false) handleSyncSuccess: (response) -> - @setState(success: response.syncs.join("\n").replace(/\n/g, "<br>")) - setTimeout(@removeSuccess, 5000) + $.growl(response.syncs.join("\n").replace(/\n/g, "<br>"), growlSuccess) $(document).trigger("fetchPosts") handleDeploySuccess: (response) -> - @setState(success: response.deploys.join("\n")) - setTimeout(@removeSuccess, 5000) + $.growl(response.deploys.join("\n"), growlSuccess) $(document).trigger("fetchPosts") handleError: (error) -> - @setState(alert: error.responseJSON?.errors.join("\n").replace(/\n/g, "<br>")) + $.growl(error.responseJSON?.errors.join("\n").replace(/\n/g, "<br>"), growlError) - removeSuccess: -> - @setState(success: null) if @isMounted() - - handleBlur: -> - @setState(alert: null, success: null) if @isMounted() - render: -> <div> <nav className="navbar navbar-default"> <div className="container-fluid"> <div className="navbar-header"> <Link to="app" className="navbar-brand"><i className="fa fa-fw fa-cog"></i> {@props.site.title}</Link> </div> <div className="navbar-right"> - <button className="btn btn-primary navbar-btn #{'disabled' if @state.loading}" onClick={@handleSync} onBlur={@handleBlur}> + <button className="btn btn-primary navbar-btn #{'disabled' if @state.loading}" onClick={@handleSync}> <i className="fa fa-fw fa-refresh"></i> Sync </button> {if @props.site.octodmin.deploys deploy = @props.site.octodmin.deploys[0] - <button className="btn btn-primary navbar-btn #{'disabled' if @state.loading}" onClick={@handleDeploy} onBlur={@handleBlur}> + <button className="btn btn-primary navbar-btn #{'disabled' if @state.loading}" onClick={@handleDeploy}> <i className="fa fa-fw fa-ship"></i> Deploy </button> } <a href={@props.site.url} target="_blank" className="btn btn-primary navbar-btn"> <i className="fa fa-fw fa-external-link"></i> Site </a> </div> </div> </nav> - {<div className="alert alert-danger"><span dangerouslySetInnerHTML={{__html: @state.alert }}></span></div> if @state.alert} - {<div className="alert alert-success"><span dangerouslySetInnerHTML={{__html: @state.success }}></span></div> if @state.success} </div> )