diff --git a/js_modules/dagit/packages/core/src/app/FallthroughRoot.tsx b/js_modules/dagit/packages/core/src/app/FallthroughRoot.tsx index fe5baef959948..4f93dfd7741fb 100644 --- a/js_modules/dagit/packages/core/src/app/FallthroughRoot.tsx +++ b/js_modules/dagit/packages/core/src/app/FallthroughRoot.tsx @@ -2,7 +2,7 @@ import {Box, ExternalAnchorButton, Colors, NonIdealState, Spinner} from '@dagste import * as React from 'react'; import {Redirect, Route, Switch, useLocation} from 'react-router-dom'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {WorkspaceContext} from '../workspace/WorkspaceContext'; import {workspacePipelinePath} from '../workspace/workspacePath'; @@ -53,7 +53,9 @@ const FinalRedirectOrLoadingRoot = () => { // If every loaded repo only contains asset jobs, route to the asset catalog if ( - reposWithAJob.every(({repository}) => repository.pipelines.every((p) => isAssetGroup(p.name))) + reposWithAJob.every(({repository}) => + repository.pipelines.every((p) => isHiddenAssetGroupJob(p.name)), + ) ) { return ; } diff --git a/js_modules/dagit/packages/core/src/asset-graph/Utils.tsx b/js_modules/dagit/packages/core/src/asset-graph/Utils.tsx index f9ed0297b984e..2c85d92dd1c46 100644 --- a/js_modules/dagit/packages/core/src/asset-graph/Utils.tsx +++ b/js_modules/dagit/packages/core/src/asset-graph/Utils.tsx @@ -18,7 +18,7 @@ type AssetKey = AssetGraphQuery_assetNodes_assetKey; export const __ASSET_GROUP_PREFIX = '__ASSET_GROUP'; -export function isAssetGroup(jobName: string) { +export function isHiddenAssetGroupJob(jobName: string) { return jobName.startsWith(__ASSET_GROUP_PREFIX); } diff --git a/js_modules/dagit/packages/core/src/asset-graph/useFindJobForAsset.tsx b/js_modules/dagit/packages/core/src/asset-graph/useFindJobForAsset.tsx index df70da717ff21..d6061df63c735 100644 --- a/js_modules/dagit/packages/core/src/asset-graph/useFindJobForAsset.tsx +++ b/js_modules/dagit/packages/core/src/asset-graph/useFindJobForAsset.tsx @@ -3,7 +3,7 @@ import React from 'react'; import {AssetKeyInput} from '../types/globalTypes'; -import {isAssetGroup} from './Utils'; +import {isHiddenAssetGroupJob} from './Utils'; import { AssetForNavigationQuery, AssetForNavigationQueryVariables, @@ -22,7 +22,7 @@ export function useFindJobForAsset() { const def = data.assetOrError.definition; return { opNames: def.opNames, - jobName: def.jobNames.find((jobName) => !isAssetGroup(jobName)) || null, + jobName: def.jobNames.find((jobName) => !isHiddenAssetGroupJob(jobName)) || null, }; } return {opNames: [], jobName: null}; diff --git a/js_modules/dagit/packages/core/src/assets/AssetEventsTable.tsx b/js_modules/dagit/packages/core/src/assets/AssetEventsTable.tsx index d5dc42d50bb2b..84d013d2022ee 100644 --- a/js_modules/dagit/packages/core/src/assets/AssetEventsTable.tsx +++ b/js_modules/dagit/packages/core/src/assets/AssetEventsTable.tsx @@ -17,7 +17,7 @@ import {Link} from 'react-router-dom'; import styled from 'styled-components/macro'; import {Timestamp} from '../app/time/Timestamp'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {MetadataEntry} from '../metadata/MetadataEntry'; import {PipelineReference} from '../pipelines/PipelineReference'; import {RunStatusWithStats} from '../runs/RunStatusDots'; @@ -230,7 +230,7 @@ const EventGroupRow: React.FC<{ - {!isAssetGroup(run.pipelineName) && ( + {!isHiddenAssetGroupJob(run.pipelineName) && ( = ({assetNode, repoAddress}) => ( {assetNode.jobNames - .filter((jobName) => !isAssetGroup(jobName)) + .filter((jobName) => !isHiddenAssetGroupJob(jobName)) .map((jobName) => ( {titleForRun({runId: latestEvent.runId})} - {!isAssetGroup(latestRun.pipelineName) && ( + {!isHiddenAssetGroupJob(latestRun.pipelineName) && ( <> { r.repositoryLocation.name === repoAddress.location, ) && job.name.toLocaleLowerCase().includes(searchToLower) && - !isAssetGroup(job.name); + !isHiddenAssetGroupJob(job.name); const {failed, inProgress, queued, succeeded, neverRan} = bucketed; return { diff --git a/js_modules/dagit/packages/core/src/nav/FlatContentList.tsx b/js_modules/dagit/packages/core/src/nav/FlatContentList.tsx index a3cefe538b3a1..f49e5ae4da022 100644 --- a/js_modules/dagit/packages/core/src/nav/FlatContentList.tsx +++ b/js_modules/dagit/packages/core/src/nav/FlatContentList.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import {Link} from 'react-router-dom'; import styled from 'styled-components/macro'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {LegacyPipelineTag} from '../pipelines/LegacyPipelineTag'; import {humanCronString} from '../schedules/humanCronString'; import {InstigationStatus} from '../types/globalTypes'; @@ -97,7 +97,7 @@ export const getJobItemsForOption = (option: DagsterRepoOption) => { const {schedules, sensors} = repository; for (const pipeline of repository.pipelines) { - if (isAssetGroup(pipeline.name)) { + if (isHiddenAssetGroupJob(pipeline.name)) { continue; } diff --git a/js_modules/dagit/packages/core/src/pipelines/SidebarOpDefinition.tsx b/js_modules/dagit/packages/core/src/pipelines/SidebarOpDefinition.tsx index b7404678eaf33..0570e5ba7826a 100644 --- a/js_modules/dagit/packages/core/src/pipelines/SidebarOpDefinition.tsx +++ b/js_modules/dagit/packages/core/src/pipelines/SidebarOpDefinition.tsx @@ -5,7 +5,7 @@ import {Link} from 'react-router-dom'; import styled from 'styled-components/macro'; import {breakOnUnderscores} from '../app/Util'; -import {displayNameForAssetKey, isAssetGroup} from '../asset-graph/Utils'; +import {displayNameForAssetKey, isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {OpTypeSignature, OP_TYPE_SIGNATURE_FRAGMENT} from '../ops/OpTypeSignature'; import {pluginForMetadata} from '../plugins'; import {ConfigTypeSchema, CONFIG_TYPE_SCHEMA_FRAGMENT} from '../typeexplorer/ConfigTypeSchema'; @@ -258,7 +258,7 @@ const InvocationList: React.FC<{ onClickInvocation: (arg: SidebarOpInvocationInfo) => void; }> = ({invocations, onClickInvocation}) => { const [showAll, setShowAll] = React.useState(false); - const visible = invocations.filter((i) => !isAssetGroup(i.pipelineName || '')); + const visible = invocations.filter((i) => !isHiddenAssetGroupJob(i.pipelineName || '')); const clipped = showAll ? visible : visible.slice(0, DEFAULT_INVOCATIONS_SHOWN); return ( diff --git a/js_modules/dagit/packages/core/src/runs/Run.tsx b/js_modules/dagit/packages/core/src/runs/Run.tsx index 19ca17e80b348..3f65dc6a31959 100644 --- a/js_modules/dagit/packages/core/src/runs/Run.tsx +++ b/js_modules/dagit/packages/core/src/runs/Run.tsx @@ -5,7 +5,7 @@ import styled from 'styled-components/macro'; import {showCustomAlert} from '../app/CustomAlertProvider'; import {filterByQuery} from '../app/GraphQueryImpl'; import {PythonErrorInfo} from '../app/PythonErrorInfo'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {GanttChart, GanttChartLoadingState, GanttChartMode, QueuedState} from '../gantt/GanttChart'; import {toGraphQueryItems} from '../gantt/toGraphQueryItems'; import {useDocumentTitle} from '../hooks/useDocumentTitle'; @@ -57,9 +57,10 @@ export const Run: React.FC = (props) => { useFavicon(run ? runStatusFavicon(run.status) : '/favicon.svg'); useDocumentTitle( run - ? `${!isAssetGroup(run.pipelineName) ? run.pipelineName : ''} ${runId.slice(0, 8)} [${ - run.status - }]` + ? `${!isHiddenAssetGroupJob(run.pipelineName) ? run.pipelineName : ''} ${runId.slice( + 0, + 8, + )} [${run.status}]` : `Run: ${runId}`, ); diff --git a/js_modules/dagit/packages/core/src/runs/RunRoot.tsx b/js_modules/dagit/packages/core/src/runs/RunRoot.tsx index 01398070d1add..deb1964f083ea 100644 --- a/js_modules/dagit/packages/core/src/runs/RunRoot.tsx +++ b/js_modules/dagit/packages/core/src/runs/RunRoot.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import {useParams} from 'react-router-dom'; import {formatElapsedTime} from '../app/Util'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {PipelineReference} from '../pipelines/PipelineReference'; import {TimestampDisplay} from '../schedules/TimestampDisplay'; import {isThisThingAJob} from '../workspace/WorkspaceContext'; @@ -69,7 +69,7 @@ export const RunRoot = () => { run ? ( <> - {isAssetGroup(run.pipelineName) ? ( + {isHiddenAssetGroupJob(run.pipelineName) ? ( ) : ( <> diff --git a/js_modules/dagit/packages/core/src/runs/RunTable.tsx b/js_modules/dagit/packages/core/src/runs/RunTable.tsx index d10d9df8d5e72..9b10a8128fbe3 100644 --- a/js_modules/dagit/packages/core/src/runs/RunTable.tsx +++ b/js_modules/dagit/packages/core/src/runs/RunTable.tsx @@ -5,7 +5,7 @@ import {Link} from 'react-router-dom'; import styled from 'styled-components/macro'; import {usePermissions} from '../app/Permissions'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {useSelectionReducer} from '../hooks/useSelectionReducer'; import {PipelineSnapshotLink} from '../pipelines/PipelinePathUtils'; import {PipelineReference} from '../pipelines/PipelineReference'; @@ -241,7 +241,7 @@ const RunRow: React.FC<{ - {isAssetGroup(run.pipelineName) ? ( + {isHiddenAssetGroupJob(run.pipelineName) ? ( ) : ( diff --git a/js_modules/dagit/packages/core/src/search/useRepoSearch.tsx b/js_modules/dagit/packages/core/src/search/useRepoSearch.tsx index dd456bbeca7c8..9f7a1f0e12b3f 100644 --- a/js_modules/dagit/packages/core/src/search/useRepoSearch.tsx +++ b/js_modules/dagit/packages/core/src/search/useRepoSearch.tsx @@ -3,7 +3,7 @@ import Fuse from 'fuse.js'; import * as React from 'react'; import {PYTHON_ERROR_FRAGMENT} from '../app/PythonErrorInfo'; -import {displayNameForAssetKey, isAssetGroup} from '../asset-graph/Utils'; +import {displayNameForAssetKey, isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {buildRepoPath} from '../workspace/buildRepoAddress'; import {workspacePath} from '../workspace/workspacePath'; @@ -44,7 +44,7 @@ const bootstrapDataToSearchResults = (data?: SearchBootstrapQuery) => { const repoPath = buildRepoPath(repoName, locationName); const allPipelinesAndJobs = pipelines - .filter((item) => !isAssetGroup(item.name)) + .filter((item) => !isHiddenAssetGroupJob(item.name)) .reduce((flat, pipelineOrJob) => { const {name, isJob} = pipelineOrJob; return [ @@ -81,7 +81,7 @@ const bootstrapDataToSearchResults = (data?: SearchBootstrapQuery) => { })); const allPartitionSets: SearchResult[] = partitionSets - .filter((item) => !isAssetGroup(item.pipelineName)) + .filter((item) => !isHiddenAssetGroupJob(item.pipelineName)) .map((partitionSet) => ({ label: partitionSet.name, description: manyRepos ? `Partition set in ${repoPath}` : 'Partition set', diff --git a/js_modules/dagit/packages/core/src/ui/SectionedLeftNav.tsx b/js_modules/dagit/packages/core/src/ui/SectionedLeftNav.tsx index b2397d013411c..4f33c8e1f4007 100644 --- a/js_modules/dagit/packages/core/src/ui/SectionedLeftNav.tsx +++ b/js_modules/dagit/packages/core/src/ui/SectionedLeftNav.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import styled from 'styled-components/macro'; import {AppContext} from '../app/AppContext'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {useStateWithStorage} from '../hooks/useStateWithStorage'; import {getJobItemsForOption, JobItem} from '../nav/FlatContentList'; import {DagsterRepoOption, WorkspaceContext} from '../workspace/WorkspaceContext'; @@ -62,7 +62,7 @@ export const SectionedLeftNav = () => { const reposWithoutJobs = []; for (const repo of alphaSorted) { const jobs = repo.repository.pipelines; - if (jobs.length > 0 && jobs.some((job) => !isAssetGroup(job.name))) { + if (jobs.length > 0 && jobs.some((job) => !isHiddenAssetGroupJob(job.name))) { reposWithJobs.push(repo); } else { reposWithoutJobs.push(repo); diff --git a/js_modules/dagit/packages/core/src/workspace/RepositoryGraphsList.tsx b/js_modules/dagit/packages/core/src/workspace/RepositoryGraphsList.tsx index 06fb8c1be46fb..e7a57489b93dd 100644 --- a/js_modules/dagit/packages/core/src/workspace/RepositoryGraphsList.tsx +++ b/js_modules/dagit/packages/core/src/workspace/RepositoryGraphsList.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import {Link} from 'react-router-dom'; import styled from 'styled-components/macro'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {repoAddressAsString} from './repoAddressAsString'; import {repoAddressToSelector} from './repoAddressToSelector'; @@ -83,7 +83,9 @@ export const RepositoryGraphsList: React.FC = (props) => { return null; } const jobGraphNames = new Set( - repo.pipelines.filter((p) => p.isJob && !isAssetGroup(p.name)).map((p) => p.graphName), + repo.pipelines + .filter((p) => p.isJob && !isHiddenAssetGroupJob(p.name)) + .map((p) => p.graphName), ); const items: Item[] = Array.from(jobGraphNames).map((graphName) => ({ name: graphName, diff --git a/js_modules/dagit/packages/core/src/workspace/RepositoryPipelinesList.tsx b/js_modules/dagit/packages/core/src/workspace/RepositoryPipelinesList.tsx index a8b08117addb4..34692efcb5f64 100644 --- a/js_modules/dagit/packages/core/src/workspace/RepositoryPipelinesList.tsx +++ b/js_modules/dagit/packages/core/src/workspace/RepositoryPipelinesList.tsx @@ -2,7 +2,7 @@ import {gql, useQuery} from '@apollo/client'; import {Box, NonIdealState} from '@dagster-io/ui'; import * as React from 'react'; -import {isAssetGroup} from '../asset-graph/Utils'; +import {isHiddenAssetGroupJob} from '../asset-graph/Utils'; import {PipelineTable, PIPELINE_TABLE_FRAGMENT} from '../pipelines/PipelineTable'; import {repoAddressAsString} from './repoAddressAsString'; @@ -55,7 +55,7 @@ export const RepositoryPipelinesList: React.FC = (props) => { return null; } return repo.pipelines - .filter((pipelineOrJob) => !isAssetGroup(pipelineOrJob.name)) + .filter((pipelineOrJob) => !isHiddenAssetGroupJob(pipelineOrJob.name)) .map((pipelineOrJob) => ({ pipelineOrJob, repoAddress,