@@ -101,12 +101,13 @@ export const TriggerTypeOptions = [
101101 { label : "On Page Load" , value : "onPageLoad" } ,
102102 { label : "On Input Change" , value : "onInputChange" } ,
103103 { label : "On Query Execution" , value : "onQueryExecution" } ,
104+ { label : "On Timeout" , value : "onTimeout" } ,
104105 { label : trans ( "query.triggerTypeAuto" ) , value : "automatic" } ,
105106 { label : trans ( "query.triggerTypeManual" ) , value : "manual" } ,
106107] as const ;
107108
108109export const JSTriggerTypeOptions = [
109- { label : trans ( "query.triggerTypeAuto " ) , value : "automatic" } ,
110+ { label : trans ( "query.triggerTypePageLoad " ) , value : "automatic" } ,
110111 { label : trans ( "query.triggerTypeManual" ) , value : "manual" } ,
111112] ;
112113
@@ -160,7 +161,13 @@ const childrenMap = {
160161 } ,
161162 } ) ,
162163 cancelPrevious : withDefault ( BoolPureControl , false ) ,
164+ // use only for onQueryExecution trigger
163165 depQueryName : SimpleNameComp ,
166+ // use only for onTimeout trigger, triggers query after x time passed on page load
167+ delayTime : millisecondsControl ( {
168+ left : 0 ,
169+ defaultValue : 5 * 1000 ,
170+ } )
164171} ;
165172
166173let QueryCompTmp = withTypeAndChildren < typeof QueryMap , ToInstanceType < typeof childrenMap > > (
@@ -317,6 +324,12 @@ function QueryView(props: QueryViewProps) {
317324 comp . dispatch ( deferAction ( executeQueryAction ( { } ) ) ) ;
318325 } , 300 ) ;
319326 }
327+
328+ if ( getTriggerType ( comp ) === "onTimeout" ) {
329+ setTimeout ( ( ) => {
330+ comp . dispatch ( deferAction ( executeQueryAction ( { } ) ) ) ;
331+ } , comp . children . delayTime . getView ( ) ) ;
332+ }
320333 } , [ ] ) ;
321334
322335 useFixedDelay (
0 commit comments