@@ -147,6 +147,12 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
147147
148148 if ( ! isMemberReview ) {
149149 requestBody . memberReviewerCount = undefined
150+ // Also clear fields when isMemberReview is false
151+ requestBody . scorecardId = undefined
152+ requestBody . fixedAmount = undefined
153+ requestBody . baseCoefficient = undefined
154+ requestBody . incrementalCoefficient = undefined
155+ requestBody . opportunityType = undefined
150156 } else {
151157 // eslint-disable-next-line unicorn/no-null
152158 requestBody . aiWorkflowId = null
@@ -311,30 +317,34 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
311317 )
312318 } }
313319 />
314- < Controller
315- name = 'scorecardId'
316- control = { control }
317- render = { function render ( controlProps : {
318- field : ControllerRenderProps < FormAddDefaultReviewer , 'scorecardId' >
319- } ) {
320- return (
321- < InputSelectReact
322- name = 'scorecardId'
323- label = 'Scorecard'
324- placeholder = 'Select'
325- options = { scorecardOptions }
326- value = { controlProps . field . value }
327- onChange = { controlProps . field . onChange }
328- onBlur = { controlProps . field . onBlur }
329- classNameWrapper = { styles . inputField }
330- disabled = { isLoading }
331- isLoading = { isFetchingScorecards }
332- dirty
333- error = { _ . get ( errors , 'scorecardId.message' ) }
334- />
335- )
336- } }
337- />
320+ {
321+ isMemberReview && (
322+ < Controller
323+ name = 'scorecardId'
324+ control = { control }
325+ render = { function render ( controlProps : {
326+ field : ControllerRenderProps < FormAddDefaultReviewer , 'scorecardId' >
327+ } ) {
328+ return (
329+ < InputSelectReact
330+ name = 'scorecardId'
331+ label = 'Scorecard'
332+ placeholder = 'Select'
333+ options = { scorecardOptions }
334+ value = { controlProps . field . value }
335+ onChange = { controlProps . field . onChange }
336+ onBlur = { controlProps . field . onBlur }
337+ classNameWrapper = { styles . inputField }
338+ disabled = { isLoading }
339+ isLoading = { isFetchingScorecards }
340+ dirty
341+ error = { _ . get ( errors , 'scorecardId.message' ) }
342+ />
343+ )
344+ } }
345+ />
346+ )
347+ }
338348 < Controller
339349 name = 'phaseName'
340350 control = { control }
@@ -399,118 +409,126 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
399409 classNameWrapper = { styles . inputField }
400410 />
401411 ) }
402- < InputText
403- type = 'number'
404- name = 'fixedAmount'
405- label = 'Fixed Amount'
406- placeholder = 'Enter amount'
407- tabIndex = { 0 }
408- forceUpdateValue
409- onChange = { _ . noop }
410- error = { _ . get ( errors , 'fixedAmount.message' ) }
411- inputControl = { register ( 'fixedAmount' , {
412- valueAsNumber : true ,
413- } ) }
414- dirty
415- disabled = { isLoading }
416- classNameWrapper = { styles . inputField }
417- />
418- < InputText
419- type = 'text'
420- name = 'baseCoefficient'
421- label = 'Base Coefficient'
422- placeholder = 'Enter value'
423- tabIndex = { 0 }
424- forceUpdateValue
425- onChange = { _ . noop }
426- error = { _ . get ( errors , 'baseCoefficient.message' ) }
427- inputControl = { register ( 'baseCoefficient' , {
428- setValueAs : v => {
429- if ( typeof v === 'string' ) {
430- const normalized = v . replace ( ',' , '.' )
431- const parsed = parseFloat ( normalized )
432- return Number . isNaN ( parsed ) ? undefined : parsed
433- }
412+ { isMemberReview && (
413+ < >
414+ < InputText
415+ type = 'number'
416+ name = 'fixedAmount'
417+ label = 'Fixed Amount'
418+ placeholder = 'Enter amount'
419+ tabIndex = { 0 }
420+ forceUpdateValue
421+ onChange = { _ . noop }
422+ error = { _ . get ( errors , 'fixedAmount.message' ) }
423+ inputControl = { register ( 'fixedAmount' , {
424+ valueAsNumber : true ,
425+ } ) }
426+ dirty
427+ disabled = { isLoading }
428+ classNameWrapper = { styles . inputField }
429+ />
430+ < InputText
431+ type = 'text'
432+ name = 'baseCoefficient'
433+ label = 'Base Coefficient'
434+ placeholder = 'Enter value'
435+ tabIndex = { 0 }
436+ forceUpdateValue
437+ onChange = { _ . noop }
438+ error = { _ . get ( errors , 'baseCoefficient.message' ) }
439+ inputControl = { register ( 'baseCoefficient' , {
440+ setValueAs : v => {
441+ if ( typeof v === 'string' ) {
442+ const normalized = v . replace ( ',' , '.' )
443+ const parsed = parseFloat ( normalized )
444+ return Number . isNaN ( parsed ) ? undefined : parsed
445+ }
434446
435- return v
436- } ,
437- valueAsNumber : false ,
438- } ) }
439- dirty
440- disabled = { isLoading }
441- classNameWrapper = { styles . inputField }
442- />
443- < InputText
444- type = 'text'
445- name = 'incrementalCoefficient'
446- label = 'Incremental Coefficient'
447- placeholder = 'Enter value'
448- tabIndex = { 0 }
449- forceUpdateValue
450- onChange = { _ . noop }
451- error = { _ . get ( errors , 'incrementalCoefficient.message' ) }
452- inputControl = { register ( 'incrementalCoefficient' , {
453- setValueAs : v => {
454- if ( typeof v === 'string' ) {
455- const normalized = v . replace ( ',' , '.' )
456- const parsed = parseFloat ( normalized )
457- return Number . isNaN ( parsed ) ? undefined : parsed
458- }
447+ return v
448+ } ,
449+ valueAsNumber : false ,
450+ } ) }
451+ dirty
452+ disabled = { isLoading }
453+ classNameWrapper = { styles . inputField }
454+ />
455+ < InputText
456+ type = 'text'
457+ name = 'incrementalCoefficient'
458+ label = 'Incremental Coefficient'
459+ placeholder = 'Enter value'
460+ tabIndex = { 0 }
461+ forceUpdateValue
462+ onChange = { _ . noop }
463+ error = { _ . get ( errors , 'incrementalCoefficient.message' ) }
464+ inputControl = { register ( 'incrementalCoefficient' , {
465+ setValueAs : v => {
466+ if ( typeof v === 'string' ) {
467+ const normalized = v . replace ( ',' , '.' )
468+ const parsed = parseFloat ( normalized )
469+ return Number . isNaN ( parsed ) ? undefined : parsed
470+ }
459471
460- return v
461- } ,
462- valueAsNumber : false ,
463- } ) }
464- dirty
465- disabled = { isLoading }
466- classNameWrapper = { styles . inputField }
467- />
468- < Controller
469- name = 'opportunityType'
470- control = { control }
471- render = { function render ( controlProps : {
472- field : ControllerRenderProps < FormAddDefaultReviewer , 'opportunityType' >
473- } ) {
474- return (
475- < InputSelectReact
476- name = 'opportunityType'
477- label = 'Opportunity Type'
478- placeholder = 'Select'
479- options = { opportunityOptions }
480- value = { controlProps . field . value }
481- onChange = { controlProps . field . onChange }
482- onBlur = { controlProps . field . onBlur }
483- classNameWrapper = { styles . inputField }
484- disabled = { isLoading }
485- dirty
486- error = { _ . get ( errors , 'opportunityType.message' ) }
487- />
488- )
489- } }
490- />
472+ return v
473+ } ,
474+ valueAsNumber : false ,
475+ } ) }
476+ dirty
477+ disabled = { isLoading }
478+ classNameWrapper = { styles . inputField }
479+ />
480+ < Controller
481+ name = 'opportunityType'
482+ control = { control }
483+ render = { function render ( controlProps : {
484+ field : ControllerRenderProps < FormAddDefaultReviewer , 'opportunityType' >
485+ } ) {
486+ return (
487+ < InputSelectReact
488+ name = 'opportunityType'
489+ label = 'Opportunity Type'
490+ placeholder = 'Select'
491+ options = { opportunityOptions }
492+ value = { controlProps . field . value }
493+ onChange = { controlProps . field . onChange }
494+ onBlur = { controlProps . field . onBlur }
495+ classNameWrapper = { styles . inputField }
496+ disabled = { isLoading }
497+ dirty
498+ error = { _ . get ( errors , 'opportunityType.message' ) }
499+ />
500+ )
501+ } }
502+ />
503+ </ >
504+ ) }
491505
492- < div className = { styles . inputField } >
493- < Controller
494- name = 'shouldOpenOpportunity'
495- control = { control }
496- render = { function render ( controlProps : {
497- field : ControllerRenderProps < FormAddDefaultReviewer , 'shouldOpenOpportunity' >
498- } ) {
499- return (
500- < InputCheckbox
501- name = 'shouldOpenOpportunity'
502- label = 'Should Open Opportunity'
503- onChange = { function onChange ( event : Event ) {
504- const target = event . target as HTMLInputElement | null
505- controlProps . field . onChange ( target ?. checked ?? false )
506- } }
507- checked = { controlProps . field . value }
508- disabled = { isLoading }
509- />
510- )
511- } }
512- />
513- </ div >
506+ {
507+ isMemberReview && (
508+ < div className = { styles . inputField } >
509+ < Controller
510+ name = 'shouldOpenOpportunity'
511+ control = { control }
512+ render = { function render ( controlProps : {
513+ field : ControllerRenderProps < FormAddDefaultReviewer , 'shouldOpenOpportunity' >
514+ } ) {
515+ return (
516+ < InputCheckbox
517+ name = 'shouldOpenOpportunity'
518+ label = 'Should Open Opportunity'
519+ onChange = { function onChange ( event : Event ) {
520+ const target = event . target as HTMLInputElement | null
521+ controlProps . field . onChange ( target ?. checked ?? false )
522+ } }
523+ checked = { controlProps . field . value }
524+ disabled = { isLoading }
525+ />
526+ )
527+ } }
528+ />
529+ </ div >
530+ )
531+ }
514532 { ! isMemberReview && (
515533 < Controller
516534 name = 'aiWorkflowId'
@@ -519,19 +537,19 @@ export const DefaultReviewersAddForm: FC<Props> = (props: Props) => {
519537 field : ControllerRenderProps < FormAddDefaultReviewer , 'aiWorkflowId' >
520538 } ) {
521539 return (
522- < InputSelectReact
523- name = 'aiWorkflowId'
524- label = 'AI Workflow'
525- placeholder = 'Select AI Workflow'
526- options = { aiWorkflows }
527- value = { controlProps . field . value || '' }
528- onChange = { controlProps . field . onChange }
529- onBlur = { controlProps . field . onBlur }
530- classNameWrapper = { styles . inputField }
531- disabled = { isLoading }
532- dirty
533- error = { _ . get ( errors , 'aiWorkflowId.message' ) }
534- />
540+ < InputSelectReact
541+ name = 'aiWorkflowId'
542+ label = 'AI Workflow'
543+ placeholder = 'Select AI Workflow'
544+ options = { aiWorkflows }
545+ value = { controlProps . field . value ?? '' }
546+ onChange = { controlProps . field . onChange }
547+ onBlur = { controlProps . field . onBlur }
548+ classNameWrapper = { styles . inputField }
549+ disabled = { isLoading }
550+ dirty
551+ error = { _ . get ( errors , 'aiWorkflowId.message' ) }
552+ />
535553 )
536554 } }
537555 />
0 commit comments