@@ -21,6 +21,7 @@ import {
2121 Button ,
2222 ButtonGroup ,
2323 Select ,
24+ Tooltip ,
2425 CollapsablePanel ,
2526 Tabs ,
2627 Tab ,
@@ -310,8 +311,8 @@ export default function Setting (props: AllWidgetSettingProps<IMConfig>) {
310311 dataSource = {
311312 props . useDataSources ?. [ 0 ]
312313 ? DataSourceManager . getInstance ( ) . getDataSource (
313- props . useDataSources [ 0 ] . dataSourceId
314- )
314+ props . useDataSources [ 0 ] . dataSourceId
315+ )
315316 : null
316317 }
317318 onChange = { ( expression : IMSqlExpression ) => {
@@ -441,13 +442,13 @@ export default function Setting (props: AllWidgetSettingProps<IMConfig>) {
441442 label = {
442443 config . indType === "Statistic"
443444 ? props . intl . formatMessage ( {
444- id : "selectField" ,
445- defaultMessage : "Field"
446- } )
445+ id : "selectField" ,
446+ defaultMessage : "Field"
447+ } )
447448 : props . intl . formatMessage ( {
448- id : "selectValueField" ,
449- defaultMessage : "Value Field"
450- } )
449+ id : "selectValueField" ,
450+ defaultMessage : "Value Field"
451+ } )
451452 }
452453 flow = { "wrap" }
453454 >
@@ -478,13 +479,13 @@ export default function Setting (props: AllWidgetSettingProps<IMConfig>) {
478479 types = {
479480 ( config . indType === "Statistic" &&
480481 config . mainStatisticType !== "count" ) ||
481- config . indType === "Feature"
482+ config . indType === "Feature"
482483 ? Immutable . from ( [
483- "NUMBER" as JimuFieldType ,
484- "DATE" as JimuFieldType ,
485- "DATE_ONLY" as JimuFieldType ,
486- "TIME_ONLY" as JimuFieldType
487- ] )
484+ "NUMBER" as JimuFieldType ,
485+ "DATE" as JimuFieldType ,
486+ "DATE_ONLY" as JimuFieldType ,
487+ "TIME_ONLY" as JimuFieldType
488+ ] )
488489 : undefined
489490 }
490491 />
@@ -599,8 +600,8 @@ export default function Setting (props: AllWidgetSettingProps<IMConfig>) {
599600 dataSource = {
600601 props . useDataSources ?. [ 1 ]
601602 ? DataSourceManager . getInstance ( ) . getDataSource (
602- props . useDataSources [ 1 ] . dataSourceId
603- )
603+ props . useDataSources [ 1 ] . dataSourceId
604+ )
604605 : null
605606 }
606607 onChange = { ( expression : IMSqlExpression ) => {
@@ -717,11 +718,11 @@ export default function Setting (props: AllWidgetSettingProps<IMConfig>) {
717718 config . refStatisticType === "count"
718719 ? undefined
719720 : Immutable . from ( [
720- "NUMBER" as JimuFieldType ,
721- "DATE" as JimuFieldType ,
722- "DATE_ONLY" as JimuFieldType ,
723- "TIME_ONLY" as JimuFieldType
724- ] )
721+ "NUMBER" as JimuFieldType ,
722+ "DATE" as JimuFieldType ,
723+ "DATE_ONLY" as JimuFieldType ,
724+ "TIME_ONLY" as JimuFieldType
725+ ] )
725726 }
726727 />
727728 </ SettingRow >
@@ -830,6 +831,64 @@ export default function Setting (props: AllWidgetSettingProps<IMConfig>) {
830831 } }
831832 />
832833 </ SettingRow >
834+ < SettingRow
835+ label = { (
836+ < div
837+ style = { {
838+ display : "inline-flex" ,
839+ alignItems : "center" ,
840+ gap : 6
841+ } }
842+ >
843+ < Tooltip
844+ title = { props . intl . formatMessage ( {
845+ id : "aggressiveRefreshHelpTooltip" ,
846+ defaultMessage :
847+ "Primarily for Arcade data sources. This mode is more expensive and may increase refresh workload."
848+ } ) }
849+ >
850+ < span
851+ style = { {
852+ display : "inline-flex" ,
853+ alignItems : "center" ,
854+ justifyContent : "center" ,
855+ width : 16 ,
856+ height : 16 ,
857+ borderRadius : "50%" ,
858+ border : "1px solid currentColor" ,
859+ fontSize : 11 ,
860+ fontWeight : 700 ,
861+ lineHeight : 1 ,
862+ cursor : "help" ,
863+ userSelect : "none"
864+ } }
865+ >
866+ i
867+ </ span >
868+ </ Tooltip >
869+ < span >
870+ { props . intl . formatMessage ( {
871+ id : "aggressiveRefresh" ,
872+ defaultMessage : "Aggressive refresh"
873+ } ) }
874+ </ span >
875+ </ div >
876+ ) }
877+ flow = { "no-wrap" }
878+ >
879+ < Switch
880+ checked = { config . aggressiveRefresh ?? false }
881+ onChange = { ( ) => {
882+ onSettingChange ( {
883+ id,
884+ config : {
885+ ...config ,
886+ aggressiveRefresh : ! ( config . aggressiveRefresh ?? false )
887+ }
888+ } )
889+ } }
890+ />
891+ </ SettingRow >
833892 < SettingRow
834893 label = { props . intl . formatMessage ( {
835894 id : "refreshInterval" ,
0 commit comments