@@ -22,6 +22,7 @@ import { InitialWizardFormData, WizardStepTitle } from './types';
2222import { ExitDeploymentModal } from './exitModal/ExitDeploymentModal' ;
2323import { useRefreshWizardPage } from './useRefreshWizardPage' ;
2424import { useExitDeploymentWizard } from './exitModal/useExitDeploymentWizard' ;
25+ import { DeploymentWizardYAMLView } from './useDeploymentWizardYAMLView' ;
2526import { WizardFooterWithDisablingNext } from '../generic/WizardFooterWithDisablingNext' ;
2627
2728type ModelDeploymentWizardProps = {
@@ -33,6 +34,9 @@ type ModelDeploymentWizardProps = {
3334 existingDeployment ?: Deployment ;
3435 returnRoute ?: string ;
3536 cancelReturnRoute ?: string ;
37+ headerAction ?: React . ReactNode ;
38+ viewMode ?: 'form' | 'yaml-preview' | 'yaml-edit' ;
39+ onModelServerChange ?: ( modelServerName : string | undefined ) => void ;
3640} ;
3741
3842const ModelDeploymentWizard : React . FC < ModelDeploymentWizardProps > = ( {
@@ -44,6 +48,9 @@ const ModelDeploymentWizard: React.FC<ModelDeploymentWizardProps> = ({
4448 existingDeployment,
4549 returnRoute,
4650 cancelReturnRoute,
51+ headerAction,
52+ viewMode = 'form' ,
53+ onModelServerChange,
4754} ) => {
4855 const onRefresh = useRefreshWizardPage ( existingDeployment ) ;
4956 const { isExitModalOpen, openExitModal, closeExitModal, handleExitConfirm, exitWizardOnSubmit } =
@@ -56,6 +63,12 @@ const ModelDeploymentWizard: React.FC<ModelDeploymentWizardProps> = ({
5663 const validation = useModelDeploymentWizardValidation ( wizardState . state , wizardState . fields ) ;
5764 const currentProjectName = wizardState . state . project . projectName ?? undefined ;
5865
66+ React . useEffect ( ( ) => {
67+ if ( onModelServerChange ) {
68+ onModelServerChange ( wizardState . state . modelServer . data ?. name ) ;
69+ }
70+ } , [ wizardState . state . modelServer . data ?. name , onModelServerChange ] ) ;
71+
5972 const { deployMethod, deployMethodLoaded } = useDeployMethod ( wizardState . state ) ;
6073 // TODO in same jira, replace deployMethod with applyFieldData for all other fields
6174 const { applyFieldData, applyExtensionsLoaded } = useWizardFieldApply ( wizardState . state ) ;
@@ -194,7 +207,13 @@ const ModelDeploymentWizard: React.FC<ModelDeploymentWizardProps> = ({
194207 }
195208 ` }
196209 </ style >
197- < ApplicationsPage title = { title } description = { description } loaded empty = { false } >
210+ < ApplicationsPage
211+ title = { title }
212+ description = { description }
213+ loaded
214+ empty = { false }
215+ headerAction = { headerAction }
216+ >
198217 < ExternalDataLoader
199218 fields = { wizardState . fields }
200219 initialData = { existingData }
@@ -210,7 +229,9 @@ const ModelDeploymentWizard: React.FC<ModelDeploymentWizardProps> = ({
210229 startIndex = { wizardState . initialData ?. wizardStartIndex ?? 1 }
211230 >
212231 < WizardStep name = { WizardStepTitle . MODEL_DETAILS } id = "source-model-step" >
213- { wizardState . loaded . modelSourceLoaded ? (
232+ { viewMode === 'yaml-preview' ? (
233+ < DeploymentWizardYAMLView />
234+ ) : wizardState . loaded . modelSourceLoaded ? (
214235 < ModelSourceStepContent
215236 wizardState = { wizardState }
216237 validation = { validation . modelSource }
@@ -222,9 +243,11 @@ const ModelDeploymentWizard: React.FC<ModelDeploymentWizardProps> = ({
222243 < WizardStep
223244 name = { WizardStepTitle . MODEL_DEPLOYMENT }
224245 id = "model-deployment-step"
225- isDisabled = { ! validation . isModelSourceStepValid }
246+ isDisabled = { viewMode === 'form' && ! validation . isModelSourceStepValid }
226247 >
227- { wizardState . loaded . modelDeploymentLoaded ? (
248+ { viewMode === 'yaml-preview' ? (
249+ < DeploymentWizardYAMLView />
250+ ) : wizardState . loaded . modelDeploymentLoaded ? (
228251 < ModelDeploymentStepContent
229252 projectName = { currentProjectName }
230253 wizardState = { wizardState }
@@ -237,10 +260,13 @@ const ModelDeploymentWizard: React.FC<ModelDeploymentWizardProps> = ({
237260 name = { WizardStepTitle . ADVANCED_SETTINGS }
238261 id = "advanced-options-step"
239262 isDisabled = {
240- ! validation . isModelSourceStepValid || ! validation . isModelDeploymentStepValid
263+ viewMode === 'form' &&
264+ ( ! validation . isModelSourceStepValid || ! validation . isModelDeploymentStepValid )
241265 }
242266 >
243- { wizardState . loaded . advancedOptionsLoaded ? (
267+ { viewMode === 'yaml-preview' ? (
268+ < DeploymentWizardYAMLView />
269+ ) : wizardState . loaded . advancedOptionsLoaded ? (
244270 < AdvancedSettingsStepContent
245271 wizardState = { wizardState }
246272 projectName = { currentProjectName }
@@ -254,12 +280,15 @@ const ModelDeploymentWizard: React.FC<ModelDeploymentWizardProps> = ({
254280 name = { WizardStepTitle . REVIEW }
255281 id = "summary-step"
256282 isDisabled = {
257- ! validation . isModelSourceStepValid ||
258- ! validation . isModelDeploymentStepValid ||
259- ! validation . isAdvancedSettingsStepValid
283+ viewMode === 'form' &&
284+ ( ! validation . isModelSourceStepValid ||
285+ ! validation . isModelDeploymentStepValid ||
286+ ! validation . isAdvancedSettingsStepValid )
260287 }
261288 >
262- { wizardState . loaded . summaryLoaded ? (
289+ { viewMode === 'yaml-preview' ? (
290+ < DeploymentWizardYAMLView />
291+ ) : wizardState . loaded . summaryLoaded ? (
263292 < ReviewStepContent
264293 wizardState = { wizardState }
265294 projectName = { currentProjectName }
0 commit comments