Browse Source

Fix #135 => Add automaticallyHideTooltipAfterItIsShown chart sample

An An 2 years ago
parent
commit
66e0f01c29

+ 58 - 0
sample/src/main/java/com/github/aachartmodel/aainfographics/demo/chartcomposer/JSFunctionForAAChartEventsComposer.kt

@@ -79,5 +79,63 @@ class JSFunctionForAAChartEventsComposer {
         }
         return aaOptions
     }
+
+    //https://github.com/AAChartModel/AAChartKit/issues/1093
+    //https://github.com/highcharts/highcharts-ios/issues/97
+    fun automaticallyHideTooltipAfterItIsShown(): AAOptions? {
+        val aaChartModel = AAChartModel()
+            .chartType(AAChartType.Areaspline) //图表类型
+            .colorsTheme(arrayOf("#04d69f", "#1e90ff", "#ef476f", "#ffd066"))
+            .stacking(AAChartStackingType.Normal)
+            .yAxisVisible(false)
+            .markerRadius(0)
+            .series(arrayOf(
+                AASeriesElement()
+                    .name("Tokyo")
+                    .data(arrayOf(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6)),
+                AASeriesElement()
+                    .name("NewYork")
+                    .data(arrayOf(0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5)),
+                AASeriesElement()
+                    .name("London")
+                    .data(arrayOf(0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0)),
+                AASeriesElement()
+                    .name("Berlin")
+                    .data(arrayOf(3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8))
+            ))
+
+        val aaOptions = aaChartModel.aa_toAAOptions()
+
+        aaOptions.tooltip?.apply {
+             style(AAStyle.style(AAColor.White))
+            .backgroundColor("#050505")
+            .borderColor("#050505")
+        }
+
+        aaOptions.xAxis
+            ?.crosshair(AACrosshair()
+                .color(AAColor.DarkGray)
+                .dashStyle(AAChartLineDashStyleType.LongDashDotDot)
+                .width(2))
+
+
+        //https://api.highcharts.com/highcharts/chart.events.load
+        //https://www.highcharts.com/forum/viewtopic.php?t=36508
+        aaOptions.chart
+            ?.events(AAChartEvents()
+                    .load("""
+            function() {
+                const chart = this;
+                Highcharts.addEvent(
+                    chart.tooltip,
+                    'refresh',
+                    function () {
+                        chart.tooltip.hide(888);
+                });
+            }"""
+                    )
+            )
+        return aaOptions
+    }
 }