Fixed sync between record value context selector and record store (#5517)
This PR introduces many improvements over the new profiling story feature, with new tests and some refactor with main : - Added use-context-selector for getting value faster in display fields and created useRecordFieldValue() hook and RecordValueSetterEffect to synchronize states - Added performance test command in CI - Refactored ExpandableList drill-downs with FieldFocusContext - Refactored field button icon logic into getFieldButtonIcon util - Added RelationFieldDisplay perf story - Added RecordTableCell perf story - First split test of useField.. hook with useRelationFieldDisplay() - Fixed problem with set cell soft focus - Isolated logic between display / soft focus and edit mode in the related components to optimize performances for display mode. - Added warmupRound config for performance story decorator - Added variance in test reporting
This commit is contained in:
@ -4,7 +4,7 @@ import { useRecoilState } from 'recoil';
|
||||
import { ProfilerWrapper } from '~/testing/profiling/components/ProfilerWrapper';
|
||||
import { ProfilingQueueEffect } from '~/testing/profiling/components/ProfilingQueueEffect';
|
||||
import { ProfilingReporter } from '~/testing/profiling/components/ProfilingReporter';
|
||||
import { currentProfilingRunIndexState } from '~/testing/profiling/states/currentProfilingRunState';
|
||||
import { currentProfilingRunIndexState } from '~/testing/profiling/states/currentProfilingRunIndexState';
|
||||
import { profilingSessionRunsState } from '~/testing/profiling/states/profilingSessionRunsState';
|
||||
import { profilingSessionStatusState } from '~/testing/profiling/states/profilingSessionStatusState';
|
||||
import { getTestArray } from '~/testing/profiling/utils/getTestArray';
|
||||
@ -12,6 +12,7 @@ import { getTestArray } from '~/testing/profiling/utils/getTestArray';
|
||||
export const ProfilerDecorator: Decorator = (Story, { id, parameters }) => {
|
||||
const numberOfTests = parameters.numberOfTests ?? 2;
|
||||
const numberOfRuns = parameters.numberOfRuns ?? 2;
|
||||
const warmUpRounds = parameters.warmUpRounds ?? 5;
|
||||
|
||||
const [currentProfilingRunIndex] = useRecoilState(
|
||||
currentProfilingRunIndexState,
|
||||
@ -31,6 +32,7 @@ export const ProfilerDecorator: Decorator = (Story, { id, parameters }) => {
|
||||
<ProfilingQueueEffect
|
||||
numberOfRuns={numberOfRuns}
|
||||
numberOfTestsPerRun={numberOfTests}
|
||||
warmUpRounds={warmUpRounds}
|
||||
profilingId={id}
|
||||
/>
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user