Pārlūkot izejas kodu

feat: update legend dots

pull/347/head
Shivam Mishra pirms 4 gadiem
vecāks
revīzija
96095ec579
2 mainītis faili ar 30 papildinājumiem un 12 dzēšanām
  1. +4
    -2
      src/js/charts/AggregationChart.js
  2. +26
    -10
      src/js/utils/draw.js

+ 4
- 2
src/js/charts/AggregationChart.js Parādīt failu

@@ -75,7 +75,7 @@ export default class AggregationChart extends BaseChart {
} }
if(count > divisor) { if(count > divisor) {
count = 0; count = 0;
y += 20;
y += 60;
} }
let x = barWidth * count + 5; let x = barWidth * count + 5;
let label = this.config.truncateLegends ? truncateString(s.labels[i], barWidth/10) : s.labels[i]; let label = this.config.truncateLegends ? truncateString(s.labels[i], barWidth/10) : s.labels[i];
@@ -83,9 +83,11 @@ export default class AggregationChart extends BaseChart {
let dot = legendDot( let dot = legendDot(
x, x,
y, y,
5,
12,
3,
this.colors[i], this.colors[i],
`${label}: ${formatted}`, `${label}: ${formatted}`,
d,
false false
); );
this.legendArea.appendChild(dot); this.legendArea.appendChild(dot);


+ 26
- 10
src/js/utils/draw.js Parādīt failu

@@ -239,33 +239,49 @@ export function legendBar(x, y, size, fill='none', label, truncate=false) {
return group; return group;
} }


export function legendDot(x, y, size, fill='none', label, truncate=false) {
export function legendDot(x, y, size, radius, fill='none', label, value, truncate=false) {
label = truncate ? truncateString(label, LABEL_MAX_CHARS) : label; label = truncate ? truncateString(label, LABEL_MAX_CHARS) : label;


let args = { let args = {
className: 'legend-dot', className: 'legend-dot',
cx: 0,
cy: 0,
r: size,
x: 0,
y: 4 - size,
height: size,
width: size,
rx: radius,
fill: fill fill: fill
}; };
let text = createSVG('text', {
className: 'legend-dataset-text',
x: 0,

let textLabel = createSVG('text', {
className: 'legend-dataset-label',
x: size,
y: 0, y: 0,
dx: (FONT_SIZE) + 'px', dx: (FONT_SIZE) + 'px',
dy: (FONT_SIZE/3) + 'px', dy: (FONT_SIZE/3) + 'px',
'font-size': (FONT_SIZE * 1.2) + 'px',
'font-size': (FONT_SIZE * 1.6) + 'px',
'text-anchor': 'start', 'text-anchor': 'start',
fill: FONT_FILL, fill: FONT_FILL,
innerHTML: label innerHTML: label
}); });


let textValue = createSVG('text', {
className: 'legend-dataset-value',
x: size,
y: FONT_SIZE + 10,
dx: (FONT_SIZE) + 'px',
dy: (FONT_SIZE/3) + 'px',
'font-size': (FONT_SIZE * 1.2) + 'px',
'text-anchor': 'start',
fill: FONT_FILL,
innerHTML: value
});

let group = createSVG('g', { let group = createSVG('g', {
transform: `translate(${x}, ${y})` transform: `translate(${x}, ${y})`
}); });
group.appendChild(createSVG("circle", args));
group.appendChild(text);
group.appendChild(createSVG("rect", args));
group.appendChild(textLabel);
group.appendChild(textValue);


return group; return group;
} }


Notiek ielāde…
Atcelt
Saglabāt