@@ -11,16 +11,19 @@ import { Dropdown } from "primereact/dropdown";
11
11
import { ApiCallState , TApiCallState } from "../../../../utils/ApiCallState" ;
12
12
import APDisplayUtils from "../../../../displayServices/APDisplayUtils" ;
13
13
import { APClientConnectorOpenApi } from "../../../../utils/APClientConnectorOpenApi" ;
14
- import { DisplaySectionHeader_ApiProducts , DisplaySectionHeader_Apps , DisplaySectionHeader_AssetManagement , EAction , E_CALL_STATE_ACTIONS } from "../ManageOrganizationsCommon" ;
14
+ import { DisplaySectionHeader_ApiProducts , DisplaySectionHeader_Apps , DisplaySectionHeader_AssetManagement , DisplaySectionHeader_ServiceRegistry , EAction , E_CALL_STATE_ACTIONS } from "../ManageOrganizationsCommon" ;
15
15
import { IAPSingleOrganizationDisplay_General } from "../../../../displayServices/APOrganizationsDisplayService/APSingleOrganizationDisplayService" ;
16
16
import { IAPSystemOrganizationDisplay_General } from "../../../../displayServices/APOrganizationsDisplayService/APSystemOrganizationsDisplayService" ;
17
17
import APOrganizationsDisplayService from "../../../../displayServices/APOrganizationsDisplayService/APOrganizationsDisplayService" ;
18
18
import { APSOpenApiFormValidationRules } from "../../../../utils/APSOpenApiFormValidationRules" ;
19
19
import { APSAssetIncVersionStrategy } from "../../../../_generated/@solace-iot-team/apim-server-openapi-browser" ;
20
+ import { APConnectorFormValidationRules } from "../../../../utils/APConnectorOpenApiFormValidationRules" ;
21
+ import { ServiceRegistryType } from "@solace-iot-team/apim-connector-openapi-browser" ;
22
+ import { ConfigHelper } from "../../../../components/APContextProviders/ConfigContextProvider/ConfigHelper" ;
23
+ import { ConfigContext } from "../../../../components/APContextProviders/ConfigContextProvider/ConfigContextProvider" ;
20
24
21
25
import '../../../../components/APComponents.css' ;
22
26
import "../ManageOrganizations.css" ;
23
- import { APConnectorFormValidationRules } from "../../../../utils/APConnectorOpenApiFormValidationRules" ;
24
27
25
28
export interface IEditNewGeneralFormProps {
26
29
action : EAction ;
@@ -39,6 +42,8 @@ export const EditNewGeneralForm: React.FC<IEditNewGeneralFormProps> = (props: IE
39
42
id : string ;
40
43
displayName : string ;
41
44
45
+ serviceRegistryType : ServiceRegistryType ;
46
+
42
47
assetIncVersionStrategy : APSAssetIncVersionStrategy ;
43
48
44
49
is_Configured_MaxNumEnvs_Per_ApiProduct : boolean ;
@@ -63,6 +68,8 @@ export const EditNewGeneralForm: React.FC<IEditNewGeneralFormProps> = (props: IE
63
68
id : mo . apEntityId . id ,
64
69
displayName : mo . apEntityId . displayName ,
65
70
71
+ serviceRegistryType : mo . apServiceRegistry ,
72
+
66
73
assetIncVersionStrategy : mo . apAssetIncVersionStrategy ,
67
74
68
75
is_Configured_MaxNumEnvs_Per_ApiProduct : mo . apMaxNumEnvs_Per_ApiProduct > APOrganizationsDisplayService . get_DefaultMaxNumEnvs_Per_ApiProduct ( ) ,
@@ -89,6 +96,7 @@ export const EditNewGeneralForm: React.FC<IEditNewGeneralFormProps> = (props: IE
89
96
const fd : TManagedObjectFormData = formDataEnvelope . formData ;
90
97
if ( isNewManagedObject ( ) ) mo . apEntityId . id = fd . id ;
91
98
mo . apEntityId . displayName = fd . displayName ;
99
+ mo . apServiceRegistry = fd . serviceRegistryType ;
92
100
mo . apAssetIncVersionStrategy = fd . assetIncVersionStrategy ;
93
101
mo . apMaxNumEnvs_Per_ApiProduct = fd . is_Configured_MaxNumEnvs_Per_ApiProduct ? fd . maxNumEnvs_Per_ApiProduct : APOrganizationsDisplayService . get_DefaultMaxNumEnvs_Per_ApiProduct ( ) ;
94
102
mo . apMaxNumApis_Per_ApiProduct = fd . is_Configured_MaxNumApis_Per_ApiProduct ? fd . maxNumApis_Per_ApiProduct : APOrganizationsDisplayService . get_DefaultMaxNumApis_Per_ApiProduct ( ) ;
@@ -103,6 +111,8 @@ export const EditNewGeneralForm: React.FC<IEditNewGeneralFormProps> = (props: IE
103
111
const [ managedObjectFormDataEnvelope , setManagedObjectFormDataEnvelope ] = React . useState < TManagedObjectFormDataEnvelope > ( ) ;
104
112
const [ apiCallStatus , setApiCallStatus ] = React . useState < TApiCallState | null > ( null ) ;
105
113
const managedObjectUseForm = useForm < TManagedObjectFormDataEnvelope > ( ) ;
114
+ const [ configContext ] = React . useContext ( ConfigContext ) ;
115
+
106
116
107
117
// * Api Calls *
108
118
@@ -358,6 +368,38 @@ export const EditNewGeneralForm: React.FC<IEditNewGeneralFormProps> = (props: IE
358
368
{ APDisplayUtils . displayFormFieldErrorMessage ( managedObjectUseForm . formState . errors . formData ?. displayName ) }
359
369
</ div >
360
370
371
+ < div className = "p-mb-4 p-mt-4 ap-display-component-header" > { DisplaySectionHeader_ServiceRegistry } :</ div >
372
+ < div className = "p-ml-4" >
373
+ { /* service registry */ }
374
+ < div className = "p-field" >
375
+ < span className = "p-float-label" >
376
+ < Controller
377
+ control = { managedObjectUseForm . control }
378
+ name = "formData.serviceRegistryType"
379
+ rules = { APConnectorFormValidationRules . isRequired ( 'Select Service Registry Type.' , true ) }
380
+ render = { ( { field, fieldState } ) => {
381
+ return (
382
+ < Dropdown
383
+ id = { field . name }
384
+ { ...field }
385
+ options = { Object . values ( ServiceRegistryType ) }
386
+ onChange = { ( e ) => {
387
+ field . onChange ( e . value ) ;
388
+ managedObjectUseForm . clearErrors ( ) ;
389
+ } }
390
+ className = { classNames ( { 'p-invalid' : fieldState . invalid } ) }
391
+ // leave it fixed at patch
392
+ disabled = { ! ConfigHelper . isEventPortal20 ( configContext ) }
393
+ />
394
+ ) ;
395
+ } }
396
+ />
397
+ < label className = { classNames ( { 'p-error' : managedObjectUseForm . formState . errors . formData ?. assetIncVersionStrategy } ) } > Service Registry Type*</ label >
398
+ </ span >
399
+ { APDisplayUtils . displayFormFieldErrorMessage ( managedObjectUseForm . formState . errors . formData ?. assetIncVersionStrategy ) }
400
+ </ div >
401
+ </ div >
402
+
361
403
< div className = "p-mb-4 p-mt-4 ap-display-component-header" > { DisplaySectionHeader_AssetManagement } :</ div >
362
404
< div className = "p-ml-4" >
363
405
{ /* asset inc version strategy */ }
0 commit comments