@@ -33,9 +33,9 @@ export default function NewEntityExtractionSetting({
3333 closeEnhanceGraphSchemaDialog ?: ( ) => void ;
3434} ) {
3535 const {
36- selectedRels,
37- selectedNodes,
38- allPatterns,
36+ // selectedRels,
37+ // selectedNodes,
38+ // allPatterns,
3939 setSelectedRels,
4040 setSelectedNodes,
4141 userDefinedPattern,
@@ -112,13 +112,13 @@ export default function NewEntityExtractionSetting({
112112 }
113113 } , [ userDefinedPattern ] ) ;
114114
115- useEffect ( ( ) => {
116- if ( allPatterns . length ) {
117- setCombinedNodes ( selectedNodes as OptionType [ ] ) ;
118- setCombinedPatterns ( allPatterns ) ;
119- setCombinedRels ( selectedRels as OptionType [ ] ) ;
120- }
121- } , [ allPatterns , selectedNodes , selectedRels ] ) ;
115+ // useEffect(() => {
116+ // if (allPatterns.length) {
117+ // setCombinedNodes(selectedNodes as OptionType[]);
118+ // setCombinedPatterns(allPatterns);
119+ // setCombinedRels(selectedRels as OptionType[]);
120+ // }
121+ // }, [allPatterns, selectedNodes, selectedRels]);
122122
123123 const handleFinalClear = ( ) => {
124124 // overall
@@ -198,6 +198,7 @@ export default function NewEntityExtractionSetting({
198198 target : selectedTarget . value || '' ,
199199 type : selectedType . value || '' ,
200200 } ;
201+ // Update User Defined Patterns
201202 setUserDefinedPattern ( ( prev : string [ ] ) => {
202203 const alreadyExists = prev . includes ( patternValue ) ;
203204 if ( ! alreadyExists ) {
@@ -209,11 +210,29 @@ export default function NewEntityExtractionSetting({
209210 setTupleOptions ( ( prev : TupleType [ ] ) => {
210211 const alreadyExists = prev . some ( ( tuple ) => tuple . value === relValue ) ;
211212 if ( ! alreadyExists ) {
212- const updatedTupples = [ relationshipOption , ...prev ] ;
213- const { nodeLabelOptions, relationshipTypeOptions } = extractOptions ( updatedTupples ) ;
213+ const updatedTuples = [ relationshipOption , ...prev ] ;
214+ const { nodeLabelOptions, relationshipTypeOptions } = extractOptions ( updatedTuples ) ;
214215 setUserDefinedNodes ( nodeLabelOptions ) ;
215216 setUserDefinedRels ( relationshipTypeOptions ) ;
216- return updatedTupples ;
217+ setAllPatterns ( ( prev ) => {
218+ if ( ! prev . includes ( patternValue ) ) {
219+ return [ patternValue , ...prev ] ;
220+ }
221+ return prev ;
222+ } ) ;
223+ setSelectedNodes ( ( prev ) => {
224+ const allNodeValues = prev . map ( ( p ) => p . value ) ;
225+ const toAdd = [ selectedSource , selectedTarget ] . filter ( ( node ) => ! allNodeValues . includes ( node . value ) ) ;
226+ return [ ...toAdd , ...prev ] ;
227+ } ) ;
228+ setSelectedRels ( ( prev ) => {
229+ const allRelValues = prev . map ( ( p ) => p . value ) ;
230+ if ( ! allRelValues . includes ( selectedType . value ) ) {
231+ return [ selectedType , ...prev ] ;
232+ }
233+ return prev ;
234+ } ) ;
235+ return updatedTuples ;
217236 }
218237 return prev ;
219238 } ) ;
0 commit comments