@@ -77,17 +77,11 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
7777 const [ showKeys , setShowKeys ] = useState < boolean > ( false ) ;
7878 const [ tempSelectedModelId , setTempSelectedModeId ] = useState < string | undefined > ( selectedModelId ) ;
7979
80- console . log ( "--------------------------------" ) ;
81- console . log ( "models" , models ) ;
82- console . log ( "selectedModelId" , selectedModelId ) ;
83- console . log ( "tempSelectedModelId" , tempSelectedModelId ) ;
84- console . log ( "testedModels" , testedModels ) ;
85-
8680 let updateModelStatus = ( model : ModelConfig , status : 'ok' | 'error' | 'testing' | 'unknown' , message : string ) => {
8781 dispatch ( dfActions . updateModelStatus ( { id : model . id , status, message} ) ) ;
8882 }
89- let getStatus = ( id : string ) => {
90- return testedModels . find ( t => ( t . id == id ) ) ?. status || 'unknown' ;
83+ let getStatus = ( id : string | undefined ) => {
84+ return id != undefined ? ( testedModels . find ( t => ( t . id == id ) ) ?. status || 'unknown' ) : 'unknown' ;
9185 }
9286
9387 const [ newEndpoint , setNewEndpoint ] = useState < string > ( "" ) ; // openai, azure, ollama etc
@@ -97,7 +91,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
9791 const [ newApiVersion , setNewApiVersion ] = useState < string | undefined > ( undefined ) ;
9892
9993 useEffect ( ( ) => {
100- if ( newEndpoint == 'ollama' ) {
94+ if ( newEndpoint == 'ollama' ) {
10195 if ( ! newApiBase ) {
10296 setNewApiBase ( 'http://localhost:11434' ) ;
10397 }
@@ -142,7 +136,10 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
142136 let newModelEntry = < TableRow
143137 key = { `new-model-entry` }
144138 sx = { { '&:last-child td, &:last-child th' : { border : 0 } , padding : "6px 6px" } }
145- onClick = { ( ) => { setTempSelectedModeId ( undefined ) } }
139+ onClick = { ( event ) => {
140+ event . stopPropagation ( ) ;
141+ setTempSelectedModeId ( undefined ) ;
142+ } }
146143 >
147144 < TableCell align = "right" >
148145 < Radio checked = { tempSelectedModelId == undefined } name = "radio-buttons" inputProps = { { 'aria-label' : 'Select this model' } } />
@@ -205,7 +202,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
205202 freeSolo
206203 onChange = { ( event : any , newValue : string | null ) => { setNewModel ( newValue || "" ) ; } }
207204 value = { newModel }
208- options = { [ 'gpt-4o-mini' , 'gpt-4o' , 'claude-3-5-sonnet-20241022' , 'codellama' ] }
205+ options = { [ 'gpt-4o-mini' , 'gpt-4o' , 'claude-3-5-sonnet-20241022' ] }
209206 renderOption = { ( props , option ) => {
210207 return < Typography { ...props } onClick = { ( ) => { setNewModel ( option ) ; } } sx = { { fontSize : "small" } } > { option } </ Typography >
211208 } }
@@ -260,28 +257,33 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
260257 disabled = { ! readyToTest }
261258 sx = { { cursor : modelExists ? 'help' : 'pointer' } }
262259 onClick = { ( event ) => {
263- if ( modelExists ) {
264- return
265- }
266- let endpoint = newEndpoint ;
267260 event . stopPropagation ( )
268261
262+ console . log ( "checkpont 1" )
263+
264+ let endpoint = newEndpoint ;
265+
269266 let id = `${ endpoint } -${ newModel } -${ newApiKey } -${ newApiBase } -${ newApiVersion } ` ;
270267
271268 let model = { endpoint, model : newModel , api_key : newApiKey , api_base : newApiBase , api_version : newApiVersion , id : id } ;
272269
270+ console . log ( "checkpont 2" )
271+
273272 dispatch ( dfActions . addModel ( model ) ) ;
274273 dispatch ( dfActions . selectModel ( id ) ) ;
275274 setTempSelectedModeId ( id ) ;
276275
276+ console . log ( "checkpont 3" )
277+
277278 testModel ( model ) ;
278279
279280 setNewEndpoint ( "" ) ;
280281 setNewModel ( "" ) ;
281-
282282 setNewApiKey ( undefined ) ;
283283 setNewApiBase ( undefined ) ;
284284 setNewApiVersion ( undefined ) ;
285+
286+ console . log ( "checkpont 4" )
285287 } } >
286288 < AddCircleIcon />
287289 </ IconButton >
@@ -434,7 +436,15 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
434436 { selectedModelId ? `Model: ${ ( models . find ( m => m . id == selectedModelId ) as any ) ?. model } ` : 'Select A Model' }
435437 </ Button >
436438 </ Tooltip >
437- < Dialog maxWidth = "lg" onClose = { ( ) => { setModelDialogOpen ( false ) } } open = { modelDialogOpen } >
439+ < Dialog
440+ maxWidth = "lg"
441+ open = { modelDialogOpen }
442+ onClose = { ( event , reason ) => {
443+ if ( reason !== 'backdropClick' ) {
444+ setModelDialogOpen ( false ) ;
445+ }
446+ } }
447+ >
438448 < DialogTitle sx = { { display : "flex" , alignItems : "center" } } > Select Model</ DialogTitle >
439449 < DialogContent >
440450 { modelTable }
@@ -444,7 +454,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => {
444454 setShowKeys ( ! showKeys ) ; } } >
445455 { showKeys ? 'hide' : 'show' } keys
446456 </ Button >
447- < Button disabled = { ! ( tempSelectedModelId != undefined && getStatus ( tempSelectedModelId ) == 'ok' ) }
457+ < Button disabled = { getStatus ( tempSelectedModelId ) ! == 'ok' }
448458 variant = { ( selectedModelId == tempSelectedModelId ) ? 'text' : 'contained' }
449459 onClick = { ( ) => {
450460 dispatch ( dfActions . selectModel ( tempSelectedModelId ) ) ;
0 commit comments