UNPKG

angular-sunburst-radar-chart

Version:
45 lines 7.47 kB
import { __read } from "tslib"; import { convertToPercentage } from './math'; import { polarToCartesian } from './trignometry'; import { createCircle } from './elements'; import { createText } from './textelement'; export function createLegendWithOptions(_a) { var startPoint = _a.startPoint, center = _a.center, startRadius = _a.startRadius, endRadius = _a.endRadius, degreeToBeDrawn = _a.degreeToBeDrawn, maxScore = _a.maxScore; var _b = __read([center.x, center.y], 2), centerX = _b[0], centerY = _b[1]; var actRadius = endRadius - startRadius; var axisIncrement = maxScore / 4; var legendRadius = convertToPercentage({ plotMax: actRadius, actualScore: axisIncrement, maxScore: maxScore }); var smallCircleRadius = Math.round(0.083 * actRadius); var smallCircleFontSize = Math.round(0.067 * actRadius); var groups = [1, 2, 3] .map(function (val) { return { radius: val * legendRadius, content: Math.round(val * axisIncrement) }; }) .map(function (res) { var radius = res.radius, content = res.content; var _a = polarToCartesian(startPoint.x, startPoint.y, radius, degreeToBeDrawn), x = _a.x, y = _a.y; var circle = createCircle({ x: x, y: y, radius: smallCircleRadius, 'fillColor': '#000000' }); var legendCircle = createCircle({ x: centerX, y: centerY, radius: startRadius + radius, 'stroke-dasharray': 4, 'stroke-opacity': 0.3 }); var fontSize = smallCircleFontSize + "px"; //console.log("font-size",fontSize) var text = createText({ content: content, x: x, y: y, 'stroke': 'white', 'font-size': fontSize }); return [circle, legendCircle, text]; }); return [].concat.apply([], groups); } export function createLegends(_a) { var startPoint = _a.startPoint, radius = _a.radius, degreeToBeDrawn = _a.degreeToBeDrawn, maxScore = _a.maxScore; return createLegendWithOptions({ startPoint: startPoint, center: startPoint, startRadius: 0, endRadius: radius, degreeToBeDrawn: degreeToBeDrawn, maxScore: maxScore }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnZW5kLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1zdW5idXJzdC1yYWRhci1jaGFydC8iLCJzb3VyY2VzIjpbImxpYi91dGlscy9sZWdlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBR3pDLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxFQUF1RTtRQUF0RSwwQkFBVSxFQUFFLGtCQUFNLEVBQUUsNEJBQVcsRUFBRSx3QkFBUyxFQUFHLG9DQUFlLEVBQUMsc0JBQVE7SUFFdEcsSUFBQSxvQ0FBeUMsRUFBeEMsZUFBTyxFQUFFLGVBQStCLENBQUM7SUFFaEQsSUFBTSxTQUFTLEdBQUcsU0FBUyxHQUFHLFdBQVcsQ0FBQztJQUUxQyxJQUFNLGFBQWEsR0FBRyxRQUFRLEdBQUMsQ0FBQyxDQUFBO0lBQ2hDLElBQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDLEVBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFDLFFBQVEsVUFBQSxFQUFDLENBQUMsQ0FBQztJQUVwRyxJQUFNLGlCQUFpQixHQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3BELElBQU0sbUJBQW1CLEdBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUUsU0FBUyxDQUFDLENBQUE7SUFFdEQsSUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNyQixHQUFHLENBQUMsVUFBQSxHQUFHO1FBQ04sT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQ2pGLENBQUMsQ0FBQztTQUNELEdBQUcsQ0FBQyxVQUFBLEdBQUc7UUFFQyxJQUFBLG1CQUFNLEVBQUUscUJBQU8sQ0FBUTtRQUN4QixJQUFBLDBFQUE4RSxFQUE3RSxRQUFDLEVBQUUsUUFBMEUsQ0FBQztRQUdyRixJQUFNLE1BQU0sR0FBRyxZQUFZLENBQUM7WUFDMUIsQ0FBQyxHQUFBO1lBQ0QsQ0FBQyxHQUFBO1lBQ0QsTUFBTSxFQUFFLGlCQUFpQjtZQUN6QixXQUFXLEVBQUUsU0FBUztTQUN2QixDQUFDLENBQUM7UUFDSCxJQUFNLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDaEMsQ0FBQyxFQUFFLE9BQU87WUFDVixDQUFDLEVBQUUsT0FBTztZQUNWLE1BQU0sRUFBRSxXQUFXLEdBQUcsTUFBTTtZQUM1QixrQkFBa0IsRUFBRSxDQUFDO1lBQ3JCLGdCQUFnQixFQUFFLEdBQUc7U0FDdEIsQ0FBQyxDQUFDO1FBSUgsSUFBTSxRQUFRLEdBQUUsbUJBQW1CLEdBQUUsSUFBSSxDQUFBO1FBQ3pDLG1DQUFtQztRQUNuQyxJQUFNLElBQUksR0FBRyxVQUFVLENBQUMsRUFBQyxPQUFPLFNBQUEsRUFBRSxDQUFDLEdBQUEsRUFBRSxDQUFDLEdBQUEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFDO1FBRW5GLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXRDLENBQUMsQ0FBQyxDQUFDO0lBR0wsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFJckMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsRUFBK0M7UUFBOUMsMEJBQVUsRUFBRSxrQkFBTSxFQUFHLG9DQUFlLEVBQUMsc0JBQVE7SUFFMUUsT0FBTyx1QkFBdUIsQ0FBQyxFQUFDLFVBQVUsWUFBQSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFHLGVBQWUsaUJBQUEsRUFBQyxRQUFRLFVBQUEsRUFBQyxDQUFDLENBQUM7QUFFakksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Y29udmVydFRvUGVyY2VudGFnZX0gZnJvbSAnLi9tYXRoJztcclxuaW1wb3J0IHtwb2xhclRvQ2FydGVzaWFufSBmcm9tICcuL3RyaWdub21ldHJ5JztcclxuaW1wb3J0IHtjcmVhdGVDaXJjbGV9IGZyb20gJy4vZWxlbWVudHMnO1xyXG5pbXBvcnQge2NyZWF0ZVRleHR9IGZyb20gJy4vdGV4dGVsZW1lbnQnO1xyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMZWdlbmRXaXRoT3B0aW9ucyh7c3RhcnRQb2ludCwgY2VudGVyLCBzdGFydFJhZGl1cywgZW5kUmFkaXVzLCAgZGVncmVlVG9CZURyYXduLG1heFNjb3JlfSkge1xyXG5cclxuICBjb25zdCBbY2VudGVyWCwgY2VudGVyWV0gPSBbY2VudGVyLngsIGNlbnRlci55XTtcclxuXHJcbiAgY29uc3QgYWN0UmFkaXVzID0gZW5kUmFkaXVzIC0gc3RhcnRSYWRpdXM7XHJcblxyXG4gIGNvbnN0IGF4aXNJbmNyZW1lbnQgPSBtYXhTY29yZS80XHJcbiAgY29uc3QgbGVnZW5kUmFkaXVzID0gY29udmVydFRvUGVyY2VudGFnZSh7cGxvdE1heDogYWN0UmFkaXVzLCBhY3R1YWxTY29yZTogYXhpc0luY3JlbWVudCxtYXhTY29yZX0pO1xyXG5cclxuICBjb25zdCBzbWFsbENpcmNsZVJhZGl1cz1NYXRoLnJvdW5kKDAuMDgzICphY3RSYWRpdXMpXHJcbiAgY29uc3Qgc21hbGxDaXJjbGVGb250U2l6ZT1NYXRoLnJvdW5kKDAuMDY3ICphY3RSYWRpdXMpXHJcblxyXG4gIGNvbnN0IGdyb3VwcyA9IFsxLCAyLCAzXVxyXG4gICAgLm1hcCh2YWwgPT4ge1xyXG4gICAgICByZXR1cm4ge3JhZGl1czogdmFsICogbGVnZW5kUmFkaXVzLCBjb250ZW50OiBNYXRoLnJvdW5kKHZhbCAqIGF4aXNJbmNyZW1lbnQpIH07XHJcbiAgICB9KVxyXG4gICAgLm1hcChyZXMgPT4ge1xyXG5cclxuICAgICAgY29uc3Qge3JhZGl1cywgY29udGVudH0gPSByZXM7XHJcbiAgICAgIGNvbnN0IHt4LCB5fSA9IHBvbGFyVG9DYXJ0ZXNpYW4oc3RhcnRQb2ludC54LCBzdGFydFBvaW50LnksIHJhZGl1cywgZGVncmVlVG9CZURyYXduKTtcclxuXHJcblxyXG4gICAgICBjb25zdCBjaXJjbGUgPSBjcmVhdGVDaXJjbGUoe1xyXG4gICAgICAgIHgsXHJcbiAgICAgICAgeSxcclxuICAgICAgICByYWRpdXM6IHNtYWxsQ2lyY2xlUmFkaXVzLFxyXG4gICAgICAgICdmaWxsQ29sb3InOiAnIzAwMDAwMCdcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGxlZ2VuZENpcmNsZSA9IGNyZWF0ZUNpcmNsZSh7XHJcbiAgICAgICAgeDogY2VudGVyWCxcclxuICAgICAgICB5OiBjZW50ZXJZLFxyXG4gICAgICAgIHJhZGl1czogc3RhcnRSYWRpdXMgKyByYWRpdXMsXHJcbiAgICAgICAgJ3N0cm9rZS1kYXNoYXJyYXknOiA0LFxyXG4gICAgICAgICdzdHJva2Utb3BhY2l0eSc6IDAuM1xyXG4gICAgICB9KTtcclxuXHJcblxyXG5cclxuICAgICAgY29uc3QgZm9udFNpemU9IHNtYWxsQ2lyY2xlRm9udFNpemUgK1wicHhcIlxyXG4gICAgICAvL2NvbnNvbGUubG9nKFwiZm9udC1zaXplXCIsZm9udFNpemUpXHJcbiAgICAgIGNvbnN0IHRleHQgPSBjcmVhdGVUZXh0KHtjb250ZW50LCB4LCB5LCAnc3Ryb2tlJzogJ3doaXRlJywgJ2ZvbnQtc2l6ZSc6IGZvbnRTaXplfSk7XHJcblxyXG4gICAgICByZXR1cm4gW2NpcmNsZSwgbGVnZW5kQ2lyY2xlLCB0ZXh0XTtcclxuXHJcbiAgICB9KTtcclxuXHJcblxyXG4gIHJldHVybiBbXS5jb25jYXQuYXBwbHkoW10sIGdyb3Vwcyk7XHJcblxyXG5cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMZWdlbmRzKHtzdGFydFBvaW50LCByYWRpdXMsICBkZWdyZWVUb0JlRHJhd24sbWF4U2NvcmV9KSB7XHJcblxyXG4gIHJldHVybiBjcmVhdGVMZWdlbmRXaXRoT3B0aW9ucyh7c3RhcnRQb2ludCwgY2VudGVyOiBzdGFydFBvaW50LCBzdGFydFJhZGl1czogMCwgZW5kUmFkaXVzOiByYWRpdXMsICBkZWdyZWVUb0JlRHJhd24sbWF4U2NvcmV9KTtcclxuXHJcbn1cclxuIl19