@@ -101,6 +101,39 @@ function FeedSourceManager({
101101 setFormStateObject ( initialState ) ;
102102 } , [ initialState ] ) ;
103103
104+ const [ requiredSecrets , setRequiredSecrets ] = useState ( [ ] ) ;
105+
106+ useEffect ( ( ) => {
107+ let newSecrets = { } ;
108+ if ( formStateObject && formStateObject . feedType ) {
109+ switch ( formStateObject . feedType ) {
110+ case "App\\Feed\\EventDatabaseApiFeedType" :
111+ newSecrets = {
112+ host : formStateObject . host ,
113+ } ;
114+ break ;
115+ case "App\\Feed\\NotifiedFeedType" :
116+ newSecrets = {
117+ token : formStateObject . token ,
118+ } ;
119+ break ;
120+ case "App\\Feed\\CalendarApiFeedType" :
121+ newSecrets = {
122+ resources : formStateObject . resources ,
123+ } ;
124+ break ;
125+ case "App\\Feed\\SparkleIOFeedType" :
126+ newSecrets = {
127+ BaseUrl : formStateObject . BaseUrl ,
128+ clientId : formStateObject . clientId ,
129+ clientSecret : formStateObject . clientSecret ,
130+ } ;
131+ break ;
132+ }
133+ }
134+ setRequiredSecrets ( newSecrets ) ;
135+ } , [ formStateObject ] ) ;
136+
104137 /** Save feed source. */
105138 function saveFeedSource ( ) {
106139 setLoadingMessage ( t ( "loading-messages.saving-feed-source" ) ) ;
@@ -112,12 +145,7 @@ function FeedSourceManager({
112145 supportedFeedOutputType : formStateObject . supportedFeedOutputType ,
113146 secrets : [
114147 {
115- host : formStateObject . host ,
116- token : formStateObject . token ,
117- baseUrl : formStateObject . baseUrl ,
118- clientId : formStateObject . clientId ,
119- clientSecret : formStateObject . clientSecret ,
120- resources : formStateObject . resources ,
148+ ...requiredSecrets ,
121149 } ,
122150 ] ,
123151 } ;
@@ -145,7 +173,6 @@ function FeedSourceManager({
145173 setFormStateObject ( localFormStateObject ) ;
146174 } ;
147175
148-
149176 useEffect ( ( ) => {
150177 if ( formStateObject ) {
151178 const option = feedSourceTypeOptions . find (
@@ -163,7 +190,7 @@ function FeedSourceManager({
163190 setDynamicFormElement ( null ) ;
164191 }
165192 }
166- } , [ formStateObject ? formStateObject : null ] ) ;
193+ } , [ formStateObject || null ] ) ;
167194
168195 /** If the feed source is not loaded, display the error message */
169196 useEffect ( ( ) => {
0 commit comments