Explorar el Código

Merge pull request #59 from porter-dev/frontend-integration

Frontend integration
abelanger5 hace 5 años
padre
commit
ce85c634ef

+ 1 - 1
dashboard/src/main/home/Home.tsx

@@ -41,7 +41,7 @@ export default class Home extends Component<PropsType, StateType> {
       return <Loading />
       return <Loading />
     }
     }
 
 
-    return <DashboardWrapper><Dashboard /></DashboardWrapper>
+    return <DashboardWrapper><Dashboard currentCluster={currentCluster} /></DashboardWrapper>
   }
   }
 
 
   render() {
   render() {

+ 11 - 2
dashboard/src/main/home/dashboard/Dashboard.tsx

@@ -11,6 +11,7 @@ import NamespaceSelector from './NamespaceSelector';
 import ExpandedChart from './expanded-chart/ExpandedChart';
 import ExpandedChart from './expanded-chart/ExpandedChart';
 
 
 type PropsType = {
 type PropsType = {
+  currentCluster: string
 };
 };
 
 
 type StateType = {
 type StateType = {
@@ -24,9 +25,17 @@ export default class Dashboard extends Component<PropsType, StateType> {
     currentChart: null as (ChartType | null)
     currentChart: null as (ChartType | null)
   }
   }
 
 
+  componentDidUpdate(prevProps: PropsType) {
+
+    // Reset namespace filter and close expanded chart on cluster change
+    if (prevProps.currentCluster !== this.props.currentCluster) {
+      this.setState({ namespace: '', currentChart: null });
+    }
+  }
+
   // Allows rollback to update the top-level chart
   // Allows rollback to update the top-level chart
   refreshChart = () => {
   refreshChart = () => {
-    let { currentCluster } = this.context;
+    let { currentCluster } = this.props;
     api.getChart('<token>', {
     api.getChart('<token>', {
       namespace: this.state.namespace,
       namespace: this.state.namespace,
       context: currentCluster,
       context: currentCluster,
@@ -41,7 +50,7 @@ export default class Dashboard extends Component<PropsType, StateType> {
   }
   }
 
 
   renderContents = () => {
   renderContents = () => {
-    let { currentCluster } = this.context;
+    let { currentCluster } = this.props;
 
 
     if (this.state.currentChart) {
     if (this.state.currentChart) {
       return (
       return (

+ 5 - 2
dashboard/src/main/home/dashboard/expanded-chart/RevisionSection.tsx

@@ -62,19 +62,22 @@ export default class RevisionSection extends Component<PropsType, StateType> {
   }
   }
 
 
   handleRollback = () => {
   handleRollback = () => {
+    let { setCurrentError, currentCluster } = this.context;
+
     let revisionNumber = this.state.rollbackRevision;
     let revisionNumber = this.state.rollbackRevision;
     this.setState({ loading: true, rollbackRevision: null });
     this.setState({ loading: true, rollbackRevision: null });
 
 
     api.rollbackChart('<token>', {
     api.rollbackChart('<token>', {
       namespace: this.props.chart.namespace,
       namespace: this.props.chart.namespace,
-      context: this.context.currentCluster,
+      context: currentCluster,
       storage: 'secret',
       storage: 'secret',
       revision: revisionNumber
       revision: revisionNumber
     }, {
     }, {
       name: this.props.chart.name
       name: this.props.chart.name
     }, (err: any, res: any) => {
     }, (err: any, res: any) => {
       if (err) {
       if (err) {
-        console.log(err)
+        setCurrentError(err.response.data.errors[0]);
+        this.setState({ loading: false });
       } else {
       } else {
         this.setState({ loading: false });
         this.setState({ loading: false });
         this.props.refreshChart();
         this.props.refreshChart();

+ 2 - 2
dashboard/src/main/home/dashboard/expanded-chart/ValuesYaml.tsx

@@ -41,7 +41,7 @@ export default class ValuesYaml extends Component<PropsType, StateType> {
   }
   }
 
 
   handleSaveValues = () => {
   handleSaveValues = () => {
-    let { currentCluster } = this.context;
+    let { currentCluster, setCurrentError } = this.context;
     this.setState({ saveValuesStatus: 'loading' });
     this.setState({ saveValuesStatus: 'loading' });
 
 
     api.upgradeChartValues('<token>', {
     api.upgradeChartValues('<token>', {
@@ -51,7 +51,7 @@ export default class ValuesYaml extends Component<PropsType, StateType> {
       values: this.state.values
       values: this.state.values
     }, { name: this.props.currentChart.name }, (err: any, res: any) => {
     }, { name: this.props.currentChart.name }, (err: any, res: any) => {
       if (err) {
       if (err) {
-        console.log(err)
+        setCurrentError(err.response.data.errors[0]);
         this.setState({ saveValuesStatus: 'error ' });
         this.setState({ saveValuesStatus: 'error ' });
       } else {
       } else {
         this.setState({ saveValuesStatus: 'successful' });
         this.setState({ saveValuesStatus: 'successful' });