mirror of https://github.com/apache/superset.git
[fix] Enforcing main dttm column (#5584)
This commit is contained in:
parent
50981dbc69
commit
2685ab4f1f
|
@ -832,22 +832,23 @@ export const controls = {
|
|||
'column in the table. Also note that the ' +
|
||||
'filter below is applied against this column or ' +
|
||||
'expression'),
|
||||
default: (c) => {
|
||||
if (c.options && c.options.length > 0) {
|
||||
return c.options[0].column_name;
|
||||
}
|
||||
return null;
|
||||
},
|
||||
default: control => control.default,
|
||||
clearable: false,
|
||||
optionRenderer: c => <ColumnOption column={c} showType />,
|
||||
valueRenderer: c => <ColumnOption column={c} />,
|
||||
valueKey: 'column_name',
|
||||
mapStateToProps: (state) => {
|
||||
const newState = {};
|
||||
const props = {};
|
||||
if (state.datasource) {
|
||||
newState.options = state.datasource.columns.filter(c => c.is_dttm);
|
||||
props.options = state.datasource.columns.filter(c => c.is_dttm);
|
||||
props.default = null;
|
||||
if (state.datasource.main_dttm_col) {
|
||||
props.default = state.datasource.main_dttm_col;
|
||||
} else if (props.options && props.options.length > 0) {
|
||||
props.default = props.options[0].column_name;
|
||||
}
|
||||
}
|
||||
return newState;
|
||||
return props;
|
||||
},
|
||||
},
|
||||
|
||||
|
|
|
@ -410,6 +410,7 @@ class SqlaTable(Model, BaseDatasource):
|
|||
grains = [(g.duration, g.name) for g in grains]
|
||||
d['granularity_sqla'] = utils.choicify(self.dttm_cols)
|
||||
d['time_grain_sqla'] = grains
|
||||
d['main_dttm_col'] = self.main_dttm_col
|
||||
return d
|
||||
|
||||
def values_for_column(self, column_name, limit=10000):
|
||||
|
|
Loading…
Reference in New Issue