@softros/agulhao-charts-react 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -1
- package/dist/AgulhaoChart.d.ts +2 -1
- package/dist/AgulhaoChart.d.ts.map +1 -1
- package/dist/AgulhaoChart.js +20 -5
- package/dist/AgulhaoChart.js.map +1 -1
- package/dist/registrarMapasPadrao.d.ts +3 -0
- package/dist/registrarMapasPadrao.d.ts.map +1 -0
- package/dist/registrarMapasPadrao.js +17 -0
- package/dist/registrarMapasPadrao.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -37,7 +37,7 @@ export function MinhaTela() {
|
|
|
37
37
|
}
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
O componente aceita qualquer `DefinicaoGrafico` suportada pelo pacote `core`, incluindo `barra`, `linha`, `area`, `pizza`, `gauge` e `
|
|
40
|
+
O componente aceita qualquer `DefinicaoGrafico` suportada pelo pacote `core`, incluindo `barra`, `linha`, `area`, `pizza`, `gauge`, `mapa` e `ranking`.
|
|
41
41
|
|
|
42
42
|
Exemplo com cor por série:
|
|
43
43
|
|
|
@@ -98,6 +98,64 @@ const graficoGauge: DefinicaoGrafico = {
|
|
|
98
98
|
}
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
+
Exemplo de ranking sem ECharts:
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
const graficoRanking: DefinicaoGrafico = {
|
|
105
|
+
tipo: 'ranking',
|
|
106
|
+
titulo: 'Ranking de vendedores',
|
|
107
|
+
dataset: {
|
|
108
|
+
linhas: [
|
|
109
|
+
{ nome: 'Bruno', total: 240 },
|
|
110
|
+
{ nome: 'Carla', total: 180 },
|
|
111
|
+
{ nome: 'Ana', total: 120 },
|
|
112
|
+
],
|
|
113
|
+
},
|
|
114
|
+
mapeamento: {
|
|
115
|
+
rotulo: 'nome',
|
|
116
|
+
valor: 'total',
|
|
117
|
+
},
|
|
118
|
+
opcoes: {
|
|
119
|
+
ranking: {
|
|
120
|
+
limite: 10,
|
|
121
|
+
mostrarPodio: true,
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Mapa padrão do Brasil
|
|
128
|
+
|
|
129
|
+
Para gráficos `tipo: 'mapa'` com `opcoes.mapa.nome: 'BR'`, o componente registra automaticamente o GeoJSON padrão dos estados brasileiros fornecido pelo `core`.
|
|
130
|
+
|
|
131
|
+
```tsx
|
|
132
|
+
const graficoMapa: DefinicaoGrafico = {
|
|
133
|
+
tipo: 'mapa',
|
|
134
|
+
titulo: 'Indicador por estado',
|
|
135
|
+
dataset: {
|
|
136
|
+
linhas: [
|
|
137
|
+
{ estado: 'São Paulo', valor: 46649 },
|
|
138
|
+
{ estado: 'Minas Gerais', valor: 21412 },
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
mapeamento: {
|
|
142
|
+
rotulo: 'estado',
|
|
143
|
+
valor: 'valor',
|
|
144
|
+
},
|
|
145
|
+
opcoes: {
|
|
146
|
+
mostrarLegenda: false,
|
|
147
|
+
mapa: {
|
|
148
|
+
nome: 'BR',
|
|
149
|
+
tamanho: '82%',
|
|
150
|
+
centro: {
|
|
151
|
+
x: '43%',
|
|
152
|
+
y: '55%',
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
101
159
|
## Props
|
|
102
160
|
|
|
103
161
|
```ts
|
|
@@ -110,6 +168,7 @@ type AgulhaoChartProps = {
|
|
|
110
168
|
notMerge?: boolean
|
|
111
169
|
lazyUpdate?: boolean
|
|
112
170
|
onEvents?: Record<string, (params: unknown) => void>
|
|
171
|
+
echarts?: unknown
|
|
113
172
|
}
|
|
114
173
|
```
|
|
115
174
|
|
package/dist/AgulhaoChart.d.ts
CHANGED
|
@@ -9,9 +9,10 @@ export type AgulhaoChartProps = {
|
|
|
9
9
|
notMerge?: boolean;
|
|
10
10
|
lazyUpdate?: boolean;
|
|
11
11
|
onEvents?: Record<string, (params: unknown) => void>;
|
|
12
|
+
echarts?: unknown;
|
|
12
13
|
};
|
|
13
14
|
/**
|
|
14
15
|
* Componente do Agulhao Charts.
|
|
15
16
|
*/
|
|
16
|
-
export declare function AgulhaoChart({ grafico, largura, altura, className, style, notMerge, lazyUpdate, onEvents }: AgulhaoChartProps): import("react").JSX.Element;
|
|
17
|
+
export declare function AgulhaoChart({ grafico, largura, altura, className, style, notMerge, lazyUpdate, onEvents, echarts: echartsCustomizado, }: AgulhaoChartProps): import("react").JSX.Element;
|
|
17
18
|
//# sourceMappingURL=AgulhaoChart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgulhaoChart.d.ts","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"AgulhaoChart.d.ts","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAGpE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,OAAO,EAAE,gBAAgB,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAA;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAcD;;GAEG;AACH,wBAAgB,YAAY,CAAC,EACzB,OAAO,EACP,OAAgB,EAChB,MAAY,EACZ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EAAE,kBAAkB,GAC9B,EAAE,iBAAiB,+BAiCnB"}
|
package/dist/AgulhaoChart.js
CHANGED
|
@@ -1,19 +1,34 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as ReactEChartsModule from 'echarts-for-react';
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
|
-
import { criarOpcaoECharts } from '@softros/agulhao-charts-core';
|
|
4
|
+
import { CSS_RANKING_GRAFICO, criarHtmlRankingGrafico, criarOpcaoECharts } from '@softros/agulhao-charts-core';
|
|
5
|
+
import { registrarMapasPadrao } from './registrarMapasPadrao.js';
|
|
5
6
|
const ReactECharts = (ReactEChartsModule.default ?? ReactEChartsModule);
|
|
6
7
|
/**
|
|
7
8
|
* Componente do Agulhao Charts.
|
|
8
9
|
*/
|
|
9
|
-
export function AgulhaoChart({ grafico, largura = '100%', altura = 400, className, style, notMerge, lazyUpdate, onEvents }) {
|
|
10
|
-
const option = useMemo(() =>
|
|
10
|
+
export function AgulhaoChart({ grafico, largura = '100%', altura = 400, className, style, notMerge, lazyUpdate, onEvents, echarts: echartsCustomizado, }) {
|
|
11
|
+
const option = useMemo(() => {
|
|
12
|
+
if (grafico.tipo === 'ranking') {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
registrarMapasPadrao(grafico, echartsCustomizado);
|
|
16
|
+
return criarOpcaoECharts(grafico);
|
|
17
|
+
}, [echartsCustomizado, grafico]);
|
|
11
18
|
const chartStyle = useMemo(() => ({
|
|
12
19
|
width: formatarMedidaCss(largura),
|
|
13
20
|
height: formatarMedidaCss(altura),
|
|
14
21
|
...style,
|
|
15
22
|
}), [altura, largura, style]);
|
|
16
|
-
|
|
23
|
+
if (grafico.tipo === 'ranking') {
|
|
24
|
+
return _jsx(RankingChart, { grafico: grafico, className: className, style: chartStyle });
|
|
25
|
+
}
|
|
26
|
+
return (_jsx(ReactECharts, { echarts: echartsCustomizado, option: option, className: className, style: chartStyle, notMerge: notMerge, lazyUpdate: lazyUpdate, onEvents: onEvents }));
|
|
27
|
+
}
|
|
28
|
+
function RankingChart({ grafico, className, style }) {
|
|
29
|
+
const html = useMemo(() => criarHtmlRankingGrafico(grafico), [grafico]);
|
|
30
|
+
const classeRanking = className ? `agulhao-ranking ${className}` : 'agulhao-ranking';
|
|
31
|
+
return (_jsxs(_Fragment, { children: [_jsx("style", { children: CSS_RANKING_GRAFICO }), _jsx("section", { className: classeRanking, style: style, dangerouslySetInnerHTML: { __html: html } })] }));
|
|
17
32
|
}
|
|
18
33
|
/**
|
|
19
34
|
* Converte medidas numericas para pixels e preserva medidas CSS textuais.
|
package/dist/AgulhaoChart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgulhaoChart.js","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,kBAAkB,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAwBhE,MAAM,YAAY,GAAG,CAAC,kBAAkB,CAAC,OAAO,IAAI,kBAAkB,CAAgD,CAAA;AAEtH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"AgulhaoChart.js","sourceRoot":"","sources":["../src/AgulhaoChart.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,kBAAkB,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAG9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAwBhE,MAAM,YAAY,GAAG,CAAC,kBAAkB,CAAC,OAAO,IAAI,kBAAkB,CAAgD,CAAA;AAEtH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EACzB,OAAO,EACP,OAAO,GAAG,MAAM,EAChB,MAAM,GAAG,GAAG,EACZ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EAAE,kBAAkB,GACX;IAChB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAA;QACpB,CAAC;QAED,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAA;QACjD,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACrC,CAAC,EAAE,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAA;IACjC,MAAM,UAAU,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC;QACH,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC;QACjC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;QACjC,GAAG,KAAK;KACX,CAAC,EACF,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAC3B,CAAA;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAI,CAAA;IACtF,CAAC;IAED,OAAO,CACH,KAAC,YAAY,IACT,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAA;AACL,CAAC;AAED,SAAS,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAA4E;IACzH,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IACvE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,mBAAmB,SAAS,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAA;IAEpF,OAAO,CACH,8BACI,0BAAQ,mBAAmB,GAAS,EACpC,kBAAS,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAI,IAC/F,CACN,CAAA;AACL,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAsB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,KAAK,IAAI,CAAA;IACvB,CAAC;IAED,OAAO,KAAK,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registrarMapasPadrao.d.ts","sourceRoot":"","sources":["../src/registrarMapasPadrao.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAOpE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,EAAE,OAAO,GAAG,IAAI,CAclG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createRequire as _createRequire } from "module";
|
|
2
|
+
const __require = _createRequire(import.meta.url);
|
|
3
|
+
const echarts = __require("echarts");
|
|
4
|
+
import { obterGeoJsonMapaBrasil, obterNomeMapa } from '@softros/agulhao-charts-core';
|
|
5
|
+
export function registrarMapasPadrao(grafico, echartsCustomizado) {
|
|
6
|
+
if (obterNomeMapa(grafico) !== 'BR') {
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
9
|
+
const geoJson = obterGeoJsonMapaBrasil();
|
|
10
|
+
const registradorCustomizado = echartsCustomizado?.registerMap;
|
|
11
|
+
if (registradorCustomizado) {
|
|
12
|
+
registradorCustomizado('BR', geoJson);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
echarts.registerMap('BR', geoJson);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=registrarMapasPadrao.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registrarMapasPadrao.js","sourceRoot":"","sources":["../src/registrarMapasPadrao.ts"],"names":[],"mappings":";;AAAA,qCAAmC;AACnC,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAQpF,MAAM,UAAU,oBAAoB,CAAC,OAAyB,EAAE,kBAA4B;IACxF,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,OAAM;IACV,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,EAAwB,CAAA;IAC9D,MAAM,sBAAsB,GAAI,kBAA2D,EAAE,WAAW,CAAA;IAExG,IAAI,sBAAsB,EAAE,CAAC;QACzB,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACrC,OAAM;IACV,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softros/agulhao-charts-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Componente React para renderizar graficos a partir da definicao comum do Agulhao Charts.",
|
|
5
5
|
"homepage": "https://github.com/SOFTROS-SISTEMAS/agulhao-charts",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"directory": "packages/react"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@softros/agulhao-charts-core": "^1.0.
|
|
35
|
+
"@softros/agulhao-charts-core": "^1.0.6",
|
|
36
36
|
"echarts-for-react": "^3.0.2"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|