Merge pull request #4379 from influxdata/fix/table-update
Properly update tablegraph when in editorpull/4381/head
commit
456eb08c3a
|
@ -76,11 +76,12 @@ class RefreshingGraph extends PureComponent<Props> {
|
||||||
|
|
||||||
private timeSeries: React.RefObject<TimeSeries> = React.createRef()
|
private timeSeries: React.RefObject<TimeSeries> = React.createRef()
|
||||||
|
|
||||||
public componentDidUpdate() {
|
public componentDidUpdate(prevProps) {
|
||||||
if (!this.timeSeries.current) {
|
if (!this.timeSeries.current) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.props.editorLocation) {
|
|
||||||
|
if (this.props.editorLocation && this.haveVisOptionsChanged(prevProps)) {
|
||||||
this.timeSeries.current.forceUpdate()
|
this.timeSeries.current.forceUpdate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -145,6 +146,21 @@ class RefreshingGraph extends PureComponent<Props> {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private haveVisOptionsChanged(prevProps: Props): boolean {
|
||||||
|
const visProps: string[] = [
|
||||||
|
'axes',
|
||||||
|
'colors',
|
||||||
|
'tableOptions',
|
||||||
|
'fieldOptions',
|
||||||
|
'decimalPlaces',
|
||||||
|
'timeFormat',
|
||||||
|
]
|
||||||
|
|
||||||
|
const prevVisValues = _.pick(prevProps, visProps)
|
||||||
|
const curVisValues = _.pick(this.props, visProps)
|
||||||
|
return !_.isEqual(prevVisValues, curVisValues)
|
||||||
|
}
|
||||||
|
|
||||||
private singleStat = (data): JSX.Element => {
|
private singleStat = (data): JSX.Element => {
|
||||||
const {colors, cellHeight, decimalPlaces, manualRefresh} = this.props
|
const {colors, cellHeight, decimalPlaces, manualRefresh} = this.props
|
||||||
|
|
||||||
|
|
|
@ -248,7 +248,8 @@ class TableGraph extends Component<Props, State> {
|
||||||
const {sort} = this.state
|
const {sort} = this.state
|
||||||
|
|
||||||
let result = {}
|
let result = {}
|
||||||
if (this.hasDataChanged(nextProps.data)) {
|
const hasDataChanged = this.hasDataChanged(nextProps.data)
|
||||||
|
if (hasDataChanged) {
|
||||||
result = await timeSeriesToTableGraph(nextProps.data)
|
result = await timeSeriesToTableGraph(nextProps.data)
|
||||||
}
|
}
|
||||||
const data = _.get(result, 'data', this.state.data)
|
const data = _.get(result, 'data', this.state.data)
|
||||||
|
@ -265,7 +266,7 @@ class TableGraph extends Component<Props, State> {
|
||||||
const sortedLabels = _.get(result, 'sortedLabels', this.state.sortedLabels)
|
const sortedLabels = _.get(result, 'sortedLabels', this.state.sortedLabels)
|
||||||
const computedFieldOptions = computeFieldOptions(fieldOptions, sortedLabels)
|
const computedFieldOptions = computeFieldOptions(fieldOptions, sortedLabels)
|
||||||
|
|
||||||
if (this.hasDataChanged(nextProps.data)) {
|
if (hasDataChanged) {
|
||||||
this.handleUpdateFieldOptions(computedFieldOptions)
|
this.handleUpdateFieldOptions(computedFieldOptions)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,7 +280,7 @@ class TableGraph extends Component<Props, State> {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.hasDataChanged(nextProps.data) ||
|
hasDataChanged ||
|
||||||
_.includes(updatedProps, 'tableOptions') ||
|
_.includes(updatedProps, 'tableOptions') ||
|
||||||
_.includes(updatedProps, 'fieldOptions') ||
|
_.includes(updatedProps, 'fieldOptions') ||
|
||||||
_.includes(updatedProps, 'timeFormat')
|
_.includes(updatedProps, 'timeFormat')
|
||||||
|
@ -338,7 +339,7 @@ class TableGraph extends Component<Props, State> {
|
||||||
const newUUID = _.get(data, '0.response.uuid', null)
|
const newUUID = _.get(data, '0.response.uuid', null)
|
||||||
const oldUUID = _.get(this.props.data, '0.response.uuid', null)
|
const oldUUID = _.get(this.props.data, '0.response.uuid', null)
|
||||||
|
|
||||||
return newUUID !== oldUUID
|
return newUUID !== oldUUID || !!this.props.editorLocation
|
||||||
}
|
}
|
||||||
|
|
||||||
private get fixFirstColumn(): boolean {
|
private get fixFirstColumn(): boolean {
|
||||||
|
|
Loading…
Reference in New Issue