Skip to content

Commit

Permalink
[dagit] Fix right Asset Graph panel missing if saved "explorer" state…
Browse files Browse the repository at this point in the history
… is absent (#7013)
  • Loading branch information
bengotow committed Mar 11, 2022
1 parent 07ce468 commit 16b7b4d
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import faker from 'faker';
import * as React from 'react';

import {StorybookProvider} from '../testing/StorybookProvider';
import {generateRunMocks} from '../testing/generateRunMocks';
import {RunStatus} from '../types/globalTypes';

import {RunStatusPez, RunStatusPezList} from './RunStatusPez';
import {generateRuns} from './RunTimeline.stories';
import {RunTimeFragment} from './types/RunTimeFragment';

// eslint-disable-next-line import/no-default-export
Expand Down Expand Up @@ -65,12 +65,12 @@ export const List = () => {
<RunStatusPezList
repoAddress={fakeRepo}
fade
runs={wrapToFragment(generateRuns(10, [tenDaysAgo, now]))}
runs={wrapToFragment(generateRunMocks(10, [tenDaysAgo, now]))}
/>
<RunStatusPezList
repoAddress={fakeRepo}
fade
runs={wrapToFragment(generateRuns(9, [tenDaysAgo, now])).map((f) => ({
runs={wrapToFragment(generateRunMocks(9, [tenDaysAgo, now])).map((f) => ({
...f,
status: RunStatus.STARTED,
}))}
Expand All @@ -79,7 +79,7 @@ export const List = () => {
repoAddress={fakeRepo}
fade
runs={[
...wrapToFragment(generateRuns(7, [tenDaysAgo, now])),
...wrapToFragment(generateRunMocks(7, [tenDaysAgo, now])),
...[...new Array(3)]
.map((_, idx) => {
const id = fakeId();
Expand Down
33 changes: 9 additions & 24 deletions js_modules/dagit/packages/core/src/runs/RunTimeline.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import faker from 'faker';
import * as React from 'react';

import {RunTimeline} from '../runs/RunTimeline';
import {generateRunMocks} from '../testing/generateRunMocks';
import {RunStatus} from '../types/globalTypes';

// eslint-disable-next-line import/no-default-export
Expand All @@ -11,35 +12,19 @@ export default {
component: RunTimeline,
} as Meta;

export const generateRuns = (runCount: number, range: [number, number]) => {
const [start, end] = range;
const now = Date.now();
return [...new Array(6)]
.map(() => faker.date.between(new Date(start), new Date(end)))
.map((startDate) => {
const endTime = Math.min(startDate.getTime() + faker.datatype.number() * 10, now);
const status =
endTime === now
? RunStatus.STARTED
: faker.random.arrayElement([RunStatus.SUCCESS, RunStatus.FAILURE]);

return {
id: faker.datatype.uuid(),
status,
startTime: startDate.getTime(),
endTime,
};
});
};

export const OneRow = () => {
const twoHoursAgo = React.useMemo(() => Date.now() - 6 * 60 * 60 * 1000, []);
const now = React.useMemo(() => Date.now(), []);

const jobs = React.useMemo(() => {
const jobKey = faker.random.words(2).split(' ').join('-').toLowerCase();
return [
{key: jobKey, jobName: jobKey, path: `/${jobKey}`, runs: generateRuns(6, [twoHoursAgo, now])},
{
key: jobKey,
jobName: jobKey,
path: `/${jobKey}`,
runs: generateRunMocks(6, [twoHoursAgo, now]),
},
];
}, [twoHoursAgo, now]);

Expand All @@ -52,7 +37,7 @@ export const RowWithOverlappingRuns = () => {

const jobs = React.useMemo(() => {
const jobKey = faker.random.words(2).split(' ').join('-').toLowerCase();
const [first, second, third] = generateRuns(3, [twoHoursAgo, now]);
const [first, second, third] = generateRunMocks(3, [twoHoursAgo, now]);
return [
{
key: jobKey,
Expand All @@ -79,7 +64,7 @@ export const ManyRows = () => {
key: jobKey,
jobName: jobKey,
path: `/${jobKey}`,
runs: generateRuns(6, [twoHoursAgo, now]),
runs: generateRunMocks(6, [twoHoursAgo, now]),
},
];
}, []);
Expand Down
24 changes: 24 additions & 0 deletions js_modules/dagit/packages/core/src/testing/generateRunMocks.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import faker from 'faker';

import {RunStatus} from '../types/globalTypes';

export const generateRunMocks = (runCount: number, range: [number, number]) => {
const [start, end] = range;
const now = Date.now();
return [...new Array(6)]
.map(() => faker.date.between(new Date(start), new Date(end)))
.map((startDate) => {
const endTime = Math.min(startDate.getTime() + faker.datatype.number() * 10, now);
const status =
endTime === now
? RunStatus.STARTED
: faker.random.arrayElement([RunStatus.SUCCESS, RunStatus.FAILURE]);

return {
id: faker.datatype.uuid(),
status,
startTime: startDate.getTime(),
endTime,
};
});
};
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {gql, useQuery} from '@apollo/client';
import {Box, Checkbox, NonIdealState, SplitPanelContainer} from '@dagster-io/ui';
import _, {flatMap, uniq, uniqBy, without} from 'lodash';
import React, {useRef} from 'react';
import React from 'react';
import {useHistory} from 'react-router-dom';
import styled from 'styled-components/macro';

Expand Down Expand Up @@ -213,7 +213,6 @@ const AssetGraphExplorerWithData: React.FC<
} = props;

const history = useHistory();
const splitpanelRef = useRef<SplitPanelContainer>(null);
const findAssetInWorkspace = useFindAssetInWorkspace();

const selectedAssetValues = explorerPath.opNames[explorerPath.opNames.length - 1].split(',');
Expand Down Expand Up @@ -295,9 +294,8 @@ const AssetGraphExplorerWithData: React.FC<
return (
<SplitPanelContainer
identifier="explorer"
ref={splitpanelRef}
firstInitialPercent={100}
firstMinSize={600}
firstInitialPercent={70}
firstMinSize={400}
first={
<>
{graphQueryItems.length === 0 ? (
Expand Down

0 comments on commit 16b7b4d

Please sign in to comment.