diff --git a/superset/assets/spec/javascripts/datasource/DatasourceEditor_spec.jsx b/superset/assets/spec/javascripts/datasource/DatasourceEditor_spec.jsx index 61d2f667b81d..c23ff43dbe07 100644 --- a/superset/assets/spec/javascripts/datasource/DatasourceEditor_spec.jsx +++ b/superset/assets/spec/javascripts/datasource/DatasourceEditor_spec.jsx @@ -91,6 +91,7 @@ describe('DatasourceEditor', () => { }); it('renders isSqla fields', () => { + wrapper.setState({ activeTabKey: 4 }); expect(wrapper.state('isSqla')).toBe(true); expect(wrapper.find(Field).find({ fieldKey: 'fetch_values_predicate' }).exists()).toBe(true); }); diff --git a/superset/assets/src/datasource/DatasourceEditor.jsx b/superset/assets/src/datasource/DatasourceEditor.jsx index 10a08618b850..71fa9af49bd0 100644 --- a/superset/assets/src/datasource/DatasourceEditor.jsx +++ b/superset/assets/src/datasource/DatasourceEditor.jsx @@ -565,30 +565,20 @@ export class DatasourceEditor extends React.PureComponent { } render() { - const datasource = this.state.datasource; + const { datasource, activeTabKey } = this.state; return (
{this.renderErrors()} - - {this.state.activeTabKey === 1 && -
- - - {this.renderSettingsFieldset()} - - - - - {this.renderAdvancedFieldset()} - - -
- } + } + eventKey={1} + > + {activeTabKey === 1 && this.renderMetricCollection()} - {this.state.activeTabKey === 2 && + {activeTabKey === 2 &&
} eventKey={3} > - {this.state.activeTabKey === 3 && + {activeTabKey === 3 && this.setColumns({ calculatedColumns })} @@ -641,11 +631,25 @@ export class DatasourceEditor extends React.PureComponent { /> } - } - eventKey={4} - > - {this.state.activeTabKey === 4 && this.renderMetricCollection()} + + {activeTabKey === 4 && +
+
+ {t('Be careful.')} + {t('Changing these settings will affect all charts using this datasource, including charts owned by other people.')} +
+ + + {this.renderSettingsFieldset()} + + + + + {this.renderAdvancedFieldset()} + + +
+ }
diff --git a/superset/assets/src/datasource/main.css b/superset/assets/src/datasource/main.css index f551f7be96f7..608143377a95 100644 --- a/superset/assets/src/datasource/main.css +++ b/superset/assets/src/datasource/main.css @@ -20,3 +20,12 @@ height: 600px; overflow: auto; } + +.Datasource .change-warning { + margin: 16px 10px 0; + color: #FE4A49; +} + +.Datasource .change-warning .bold { + font-weight: bold; +} diff --git a/superset/assets/src/explore/components/controls/DatasourceControl.jsx b/superset/assets/src/explore/components/controls/DatasourceControl.jsx index 910a5fdef6ef..fc04ee978df8 100644 --- a/superset/assets/src/explore/components/controls/DatasourceControl.jsx +++ b/superset/assets/src/explore/components/controls/DatasourceControl.jsx @@ -124,11 +124,11 @@ class DatasourceControl extends React.PureComponent { {t('Click to edit the datasource')} + {t('Click to change the datasource')} } >
-
@@ -145,9 +145,9 @@ class DatasourceControl extends React.PureComponent { > - {t('Edit Datasource')} + {t('Change Datasource')} {datasource.type === 'table' && } - {t('Change Datasource')} + {t('Edit Datasource')}