88 ErrorScreenManager ,
99 DeleteDialog ,
1010 InfoColourBar ,
11+ ConditionalWrap ,
1112} from '@devtron-labs/devtron-fe-common-lib'
1213import { toast } from 'react-toastify'
1314import { Workflow } from './Workflow'
@@ -32,6 +33,7 @@ import { WebhookDetailsModal } from '../ciPipeline/Webhook/WebhookDetailsModal'
3233import DeprecatedWarningModal from './DeprecatedWarningModal'
3334import nojobs from '../../assets/img/[email protected] ' 3435import NewCDPipeline from '../cdPipeline/NewCDPipeline'
36+ import Tippy from '@tippyjs/react'
3537
3638export const pipelineContext = createContext < PipelineContext > ( null )
3739
@@ -438,28 +440,42 @@ class WorkflowEdit extends Component<WorkflowEditProps, WorkflowEditState> {
438440 top = top + 40
439441 }
440442 return (
441- < >
442- < button
443- type = "button"
444- className = { `cta dc__no-decor flex mb-20 ${ this . props . filteredEnvIds ? 'dc__disabled' : '' } ` }
445- data-testid = "new-workflow-button"
446- onClick = { this . toggleCIMenu }
447- >
448- < img src = { add } alt = "add-worflow" className = "icon-dim-18 mr-5" />
449- New workflow
450- </ button >
451- < PipelineSelect
452- workflowId = { 0 }
453- showMenu = { this . state . showCIMenu }
454- addCIPipeline = { this . addCIPipeline }
455- addWebhookCD = { this . addWebhookCD }
456- toggleCIMenu = { this . toggleCIMenu }
457- styles = { {
458- left : `${ left } px` ,
459- top : `${ top } px` ,
460- } }
461- />
462- </ >
443+ < ConditionalWrap
444+ condition = { ! ! this . props . filteredEnvIds }
445+ wrap = { ( children ) => (
446+ < Tippy
447+ className = "default-tt w-200"
448+ arrow = { false }
449+ placement = "top"
450+ content = "Cannot add new workflow or deployment pipelines when environment filter is applied."
451+ >
452+ { children }
453+ </ Tippy >
454+ ) }
455+ >
456+ < div className = "dc_max-width__max-content" >
457+ < button
458+ type = "button"
459+ className = { `cta dc__no-decor flex mb-20 ${ this . props . filteredEnvIds ? 'dc__disabled' : '' } ` }
460+ data-testid = "new-workflow-button"
461+ onClick = { this . toggleCIMenu }
462+ >
463+ < img src = { add } alt = "add-worflow" className = "icon-dim-18 mr-5" />
464+ New workflow
465+ </ button >
466+ < PipelineSelect
467+ workflowId = { 0 }
468+ showMenu = { this . state . showCIMenu }
469+ addCIPipeline = { this . addCIPipeline }
470+ addWebhookCD = { this . addWebhookCD }
471+ toggleCIMenu = { this . toggleCIMenu }
472+ styles = { {
473+ left : `${ left } px` ,
474+ top : `${ top } px` ,
475+ } }
476+ />
477+ </ div >
478+ </ ConditionalWrap >
463479 )
464480 }
465481
0 commit comments