mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Webpack: Split out unicons and bizcharts (#28374)
This commit is contained in:
parent
ad657dcdc3
commit
64304dafce
@ -1,7 +1,6 @@
|
||||
// Libraries
|
||||
import React, { CSSProperties } from 'react';
|
||||
import React, { CSSProperties, Suspense } from 'react';
|
||||
import tinycolor from 'tinycolor2';
|
||||
import { Chart, Geom } from 'bizcharts';
|
||||
|
||||
// Utils
|
||||
import { formattedValueToString, DisplayValue, getColorForTheme } from '@grafana/data';
|
||||
@ -14,6 +13,16 @@ import { getTextColorForBackground } from '../../utils';
|
||||
const LINE_HEIGHT = 1.2;
|
||||
const MAX_TITLE_SIZE = 30;
|
||||
|
||||
const Chart = React.lazy(async () => {
|
||||
const { Chart } = await import(/* webpackChunkName: "bizcharts" */ 'bizcharts');
|
||||
return { default: Chart };
|
||||
});
|
||||
|
||||
const Geom = React.lazy(async () => {
|
||||
const { Geom } = await import(/* webpackChunkName: "bizcharts" */ 'bizcharts');
|
||||
return { default: Geom };
|
||||
});
|
||||
|
||||
export abstract class BigValueLayout {
|
||||
titleFontSize: number;
|
||||
valueFontSize: number;
|
||||
@ -166,17 +175,19 @@ export abstract class BigValueLayout {
|
||||
}
|
||||
|
||||
return (
|
||||
<Chart
|
||||
height={this.chartHeight}
|
||||
width={this.chartWidth}
|
||||
data={data}
|
||||
animate={false}
|
||||
padding={[4, 0, 0, 0]}
|
||||
scale={scales}
|
||||
style={this.getChartStyles()}
|
||||
>
|
||||
{this.renderGeom()}
|
||||
</Chart>
|
||||
<Suspense fallback={<div>Loading chart...</div>}>
|
||||
<Chart
|
||||
height={this.chartHeight}
|
||||
width={this.chartWidth}
|
||||
data={data}
|
||||
animate={false}
|
||||
padding={[4, 0, 0, 0]}
|
||||
scale={scales}
|
||||
style={this.getChartStyles()}
|
||||
>
|
||||
{this.renderGeom()}
|
||||
</Chart>
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
@ -209,10 +220,10 @@ export abstract class BigValueLayout {
|
||||
lineStyle.stroke = lineColor;
|
||||
|
||||
return (
|
||||
<>
|
||||
<Suspense fallback={<div>Loading chart...</div>}>
|
||||
<Geom type="area" position="time*value" size={0} color={fillColor} style={lineStyle} shape="smooth" />
|
||||
<Geom type="line" position="time*value" size={1} color={lineColor} style={lineStyle} shape="smooth" />
|
||||
</>
|
||||
</Suspense>
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -180,6 +180,12 @@ module.exports = {
|
||||
chunks: 'all',
|
||||
minChunks: 1,
|
||||
cacheGroups: {
|
||||
unicons: {
|
||||
test: /[\\/]node_modules[\\/]@iconscout[\\/]react-unicons[\\/].*[jt]sx?$/,
|
||||
chunks: 'initial',
|
||||
priority: 20,
|
||||
enforce: true,
|
||||
},
|
||||
moment: {
|
||||
test: /[\\/]node_modules[\\/]moment[\\/].*[jt]sx?$/,
|
||||
chunks: 'initial',
|
||||
|
Loading…
Reference in New Issue
Block a user