Skip to content

Commit

Permalink
Auto-size columns when tab is (re-)entered
Browse files Browse the repository at this point in the history
  • Loading branch information
JanCBrammer committed Jan 31, 2025
1 parent f7f00ae commit f72fa0a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ import ElementActions from 'src/stores/alt/actions/ElementActions';
import DetailActions from 'src/stores/alt/actions/DetailActions';
import LoadingActions from 'src/stores/alt/actions/LoadingActions';
import ReactionVariations from 'src/apps/mydb/elements/details/reactions/variationsTab/ReactionVariations';
import {
REACTION_VARIATIONS_TAB_KEY
} from 'src/apps/mydb/elements/details/reactions/variationsTab/ReactionVariationsUtils';
import DetailsTabLiteratures from 'src/apps/mydb/elements/details/literature/DetailsTabLiteratures';
import ReactionDetailsContainers from 'src/apps/mydb/elements/details/reactions/analysesTab/ReactionDetailsContainers';
import SampleDetailsContainers from 'src/apps/mydb/elements/details/samples/analysesTab/SampleDetailsContainers';
Expand Down Expand Up @@ -585,10 +588,16 @@ export default class ReactionDetails extends Component {
</Tab>
),
variations: (
<Tab eventKey="variations" title="Variations" key={`variations_${reaction.id}`} unmountOnExit={false}>
<Tab
eventKey={REACTION_VARIATIONS_TAB_KEY}
title="Variations"
key={`variations_${reaction.id}`}
unmountOnExit={false}
>
<ReactionVariations
reaction={reaction}
onReactionChange={this.handleReactionChange}
isActive={activeTab === REACTION_VARIATIONS_TAB_KEY}
/>
</Tab>
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* eslint-disable react/display-name */
import { AgGridReact } from 'ag-grid-react';
import React, {
useRef, useState, useCallback, useReducer
useRef, useState, useCallback, useReducer, useEffect
} from 'react';
import {
Button, OverlayTrigger, Tooltip, Alert,
Expand Down Expand Up @@ -33,7 +33,7 @@ import {
} from 'src/apps/mydb/elements/details/reactions/variationsTab/ReactionVariationsReducers';
import GasPhaseReactionStore from 'src/stores/alt/stores/GasPhaseReactionStore';

export default function ReactionVariations({ reaction, onReactionChange }) {
export default function ReactionVariations({ reaction, onReactionChange, isActive }) {
const gridRef = useRef(null);
const reactionVariations = reaction.variations;
const reactionHasPolymers = reaction.hasPolymers();
Expand Down Expand Up @@ -154,6 +154,13 @@ export default function ReactionVariations({ reaction, onReactionChange }) {
resizable: false,
};

useEffect(() => {
// Auto-size columns when the parent tab is (re-)entered.
if (isActive && gridRef.current?.api) {
gridRef.current.api.autoSizeAllColumns();
}
}, [isActive]);

const setReactionVariations = (updatedReactionVariations) => {
reaction.variations = updatedReactionVariations;
onReactionChange(reaction);
Expand Down Expand Up @@ -421,7 +428,6 @@ export default function ReactionVariations({ reaction, onReactionChange }) {
*/
readOnlyEdit
onCellEditRequest={updateRow}
onFirstDataRendered={() => gridRef.current.api.autoSizeAllColumns()}
onCellValueChanged={(event) => fitColumnToContent(event)}
onColumnHeaderClicked={(event) => fitColumnToContent(event)}
/>
Expand All @@ -433,4 +439,5 @@ export default function ReactionVariations({ reaction, onReactionChange }) {
ReactionVariations.propTypes = {
reaction: PropTypes.instanceOf(Reaction).isRequired,
onReactionChange: PropTypes.func.isRequired,
isActive: PropTypes.bool.isRequired,
};
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
updateVariationsRowOnReferenceMaterialChange, getMaterialData
} from 'src/apps/mydb/elements/details/reactions/variationsTab/ReactionVariationsMaterials';

const REACTION_VARIATIONS_TAB_KEY = 'reactionVariationsTab';
const temperatureUnits = ['°C', 'K', '°F'];
const durationUnits = ['Second(s)', 'Minute(s)', 'Hour(s)', 'Day(s)', 'Week(s)'];
const massUnits = ['g', 'mg', 'μg'];
Expand Down Expand Up @@ -247,4 +248,5 @@ export {
getCellDataType,
getUserFacingUnit,
getStandardValue,
REACTION_VARIATIONS_TAB_KEY
};

0 comments on commit f72fa0a

Please sign in to comment.