@@ -26,21 +26,23 @@ export const getQueryActions = (
2626 inputRef : React . RefObject < AutosuggestInputRef >
2727) => {
2828 const supportsGroups = ! ! query . tokenGroups ;
29- const fireOnChange = ( tokenGroups : readonly TokenGroup [ ] , operation : JoinOperation ) => {
29+ const fireOnChange = ( tokenGroups : readonly ( Token | TokenGroup ) [ ] , operation : JoinOperation ) => {
3030 if ( supportsGroups ) {
3131 fireNonCancelableEvent ( onChange , { tokens : [ ] , operation, tokenGroups } ) ;
3232 } else {
3333 const tokens : Token [ ] = [ ] ;
34- for ( const group of tokenGroups ) {
35- if ( 'operator' in group . tokens [ 0 ] ) {
36- tokens . push ( group . tokens [ 0 ] ) ;
34+ for ( const tokenOrGroup of tokenGroups ) {
35+ if ( 'operation' in tokenOrGroup && 'operator' in tokenOrGroup . tokens [ 0 ] ) {
36+ tokens . push ( tokenOrGroup . tokens [ 0 ] ) ;
37+ } else if ( 'operator' in tokenOrGroup ) {
38+ tokens . push ( tokenOrGroup ) ;
3739 }
3840 }
3941 fireNonCancelableEvent ( onChange , { tokens, operation } ) ;
4042 }
4143 } ;
4244 const setToken = ( index : number , newTokenGroup : TokenGroup ) => {
43- const newTokens : TokenGroup [ ] = query . tokenGroups
45+ const newTokens : ( Token | TokenGroup ) [ ] = query . tokenGroups
4446 ? [ ...query . tokenGroups ]
4547 : query . tokens . map ( t => ( { operation : 'and' , tokens : [ t ] } ) ) ;
4648 if ( newTokens && index < newTokens . length ) {
@@ -49,7 +51,7 @@ export const getQueryActions = (
4951 fireOnChange ( newTokens , query . operation ) ;
5052 } ;
5153 const removeToken = ( index : number ) => {
52- const newTokens : TokenGroup [ ] = query . tokenGroups
54+ const newTokens : ( Token | TokenGroup ) [ ] = query . tokenGroups
5355 ? [ ...query . tokenGroups ]
5456 : query . tokens . map ( t => ( { operation : 'and' , tokens : [ t ] } ) ) ;
5557 newTokens . splice ( index , 1 ) ;
@@ -61,14 +63,14 @@ export const getQueryActions = (
6163 inputRef . current ?. focus ( { preventDropdown : true } ) ;
6264 } ;
6365 const addToken = ( newTokenGroup : TokenGroup ) => {
64- const newTokens : TokenGroup [ ] = query . tokenGroups
66+ const newTokens : ( Token | TokenGroup ) [ ] = query . tokenGroups
6567 ? [ ...query . tokenGroups ]
6668 : query . tokens . map ( t => ( { operation : 'and' , tokens : [ t ] } ) ) ;
6769 newTokens . push ( newTokenGroup ) ;
6870 fireOnChange ( newTokens , query . operation ) ;
6971 } ;
7072 const setOperation = ( newOperation : JoinOperation ) => {
71- const tokens : TokenGroup [ ] = query . tokenGroups
73+ const tokens : ( Token | TokenGroup ) [ ] = query . tokenGroups
7274 ? [ ...query . tokenGroups ]
7375 : query . tokens . map ( t => ( { operation : 'and' , tokens : [ t ] } ) ) ;
7476 fireOnChange ( tokens , newOperation ) ;
0 commit comments