Skip to content

Commit

Permalink
fix issue with charts layout and reset charts button
Browse files Browse the repository at this point in the history
  • Loading branch information
Bryan Lai committed Apr 26, 2024
1 parent 8151ed5 commit 9a21ff7
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
16 changes: 14 additions & 2 deletions src/pages/studyView/StudyViewPageStore.ts
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,7 @@ export class StudyViewPageStore
this.reactionDisposers.push(
reaction(
() => [
this.visibleAttributes,
this.visibleAttributesForSummary,
this.columns,
_.fromPairs(this.chartsDimension.toJSON()),
_.fromPairs(this.chartsType.toJSON()),
Expand Down Expand Up @@ -2435,7 +2435,7 @@ export class StudyViewPageStore
@action.bound
private updateLayout(): void {
this.currentGridLayout = calculateLayout(
this.visibleAttributes,
this.visibleAttributesForSummary,
this.columns,
_.fromPairs(this.chartsDimension.toJSON()),
this.currentGridLayout,
Expand Down Expand Up @@ -6829,6 +6829,7 @@ export class StudyViewPageStore
if (this.isSavingUserPreferencePossible) {
chartSettingsMap = getChartSettingsMap(
this.visibleAttributes,
this.visibleAttributesForSummary,
this.columns,
_.fromPairs(this.chartsDimension.toJSON()),
_.fromPairs(this.chartsType.toJSON()),
Expand Down Expand Up @@ -7035,8 +7036,19 @@ export class StudyViewPageStore
},
[] as ChartMeta[]
);
const visibleAttributesForSummary = _.reduce(
this._defaultVisibleChartIds,
(acc, chartUniqueKey) => {
if (this.chartMetaSetForSummary[chartUniqueKey]) {
acc.push(this.chartMetaSetForSummary[chartUniqueKey]);
}
return acc;
},
[] as ChartMeta[]
);
return getChartSettingsMap(
visibleAttributes,
visibleAttributesForSummary,
this.columns,
_.fromPairs(this._defaultChartsDimension.toJSON()),
_.fromPairs(this._defaultChartsType.toJSON()),
Expand Down
16 changes: 14 additions & 2 deletions src/pages/studyView/StudyViewUtils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2811,6 +2811,7 @@ export function isSpecialChart(chartMeta: ChartMeta) {

export function getChartSettingsMap(
visibleAttributes: ChartMeta[],
visibleAttributesForSummary: ChartMeta[],
columns: number,
chartDimensionSet: { [uniqueId: string]: ChartDimension },
chartTypeSet: { [uniqueId: string]: ChartType },
Expand All @@ -2828,7 +2829,7 @@ export function getChartSettingsMap(
) {
if (!gridLayout) {
gridLayout = calculateLayout(
visibleAttributes,
visibleAttributesForSummary,
columns,
chartDimensionSet,
[]
Expand Down Expand Up @@ -2899,9 +2900,19 @@ export function getChartSettingsMap(
}
chartSettingsMap[id] = chartSetting;
});
// attributes disabled on the summary tab (used in Clinical Data tab but not Summary tab like most survival attributes)
const disabledAttributes = _.differenceWith(
visibleAttributes,
visibleAttributesForSummary,
_.isEqual
);
// add layout for each chart
gridLayout.forEach(layout => {
if (layout.i && chartSettingsMap[layout.i]) {
if (
layout.i &&
chartSettingsMap[layout.i] &&
!disabledAttributes.find(a => a.uniqueKey === layout.i)
) {
chartSettingsMap[layout.i].layout = {
x: layout.x,
y: layout.y,
Expand Down Expand Up @@ -4627,6 +4638,7 @@ export async function getMutationTypesDownloadData(
});
return data.join('\n');
} else return '';
}

export function getChartMetaSetForClinicalAttributes(
customCharts: ObservableMap<string, ChartMeta>,
Expand Down

0 comments on commit 9a21ff7

Please sign in to comment.