fix(dashboard): changing the chart title, except not (#10527)

* changing slice names in dashboard should not change chart title

* comprehensions > loops
This commit is contained in:
David Aaron Suddjian 2020-08-07 18:06:58 -07:00 committed by GitHub
parent 3b0676f991
commit 7f84927504
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 24 deletions

View File

@ -156,7 +156,7 @@ class ChartHolder extends React.Component {
...component,
meta: {
...component.meta,
sliceName: nextName,
sliceNameOverride: nextName,
},
},
});
@ -255,7 +255,11 @@ class ChartHolder extends React.Component {
dashboardId={dashboardId}
width={chartWidth}
height={chartHeight}
sliceName={component.meta.sliceName || ''}
sliceName={
component.meta.sliceNameOverride ||
component.meta.sliceName ||
''
}
updateSliceName={this.handleUpdateSliceName}
isComponentVisible={isComponentVisible}
handleToggleFullSize={this.handleToggleFullSize}

View File

@ -88,34 +88,17 @@ class DashboardDAO(BaseDAO):
) -> None:
positions = data["positions"]
# find slices in the position data
slice_ids = []
slice_id_to_name = {}
for value in positions.values():
if isinstance(value, dict):
try:
slice_id = value["meta"]["chartId"]
slice_ids.append(slice_id)
slice_id_to_name[slice_id] = value["meta"]["sliceName"]
except KeyError:
pass
slice_ids = [
value.get("meta", {}).get("chartId")
for value in positions.values()
if isinstance(value, dict)
]
session = db.session()
current_slices = session.query(Slice).filter(Slice.id.in_(slice_ids)).all()
dashboard.slices = current_slices
# update slice names. this assumes user has permissions to update the slice
# we allow user set slice name be empty string
for slc in dashboard.slices:
try:
new_name = slice_id_to_name[slc.id]
if slc.slice_name != new_name:
slc.slice_name = new_name
session.merge(slc)
session.flush()
except KeyError:
pass
# remove leading and trailing white spaces in the dumped json
dashboard.position_json = json.dumps(
positions, indent=None, separators=(",", ":"), sort_keys=True