UNPKG

angular-sunburst-radar-chart

Version:
54 lines 8.37 kB
import { __assign, __read } from "tslib"; import { createPath } from './elements'; import { getLargeArcFlag, polarToCartesian } from './trignometry'; import { getOptionsOrEmpty } from './utils'; export function createArcToWriteText(_a) { var startPoint = _a.startPoint, radius = _a.radius, id = _a.id, startAngle = _a.startAngle, endAngle = _a.endAngle; var _b = __read([startPoint.x, startPoint.y], 2), centerX = _b[0], centerY = _b[1]; var start = polarToCartesian(centerX, centerY, radius, endAngle); var end = polarToCartesian(centerX, centerY, radius, startAngle); var largeArcFlag = getLargeArcFlag(startAngle, endAngle); var d = [ 'M', start.x, start.y, 'A', radius, radius, 0, largeArcFlag, 0, end.x, end.y ].join(' '); return createPath({ d: d, borderColor: '', id: id }); } export function getTextForAngle(text, distance, fontSize) { var result = text; var perCharacter = 10.07; if (fontSize < 18) { perCharacter = 8.7; } var totalTextLength = Math.round(distance / perCharacter); if (text.length > 0 && text.length > totalTextLength) { result = text.substring(0, totalTextLength - 1) + '..'; } return result; } export function writeTextOnArc(options) { var defaults = { text: '', label: '', pathId: '', 'font-size': '14px', }; options = __assign(__assign({}, defaults), (getOptionsOrEmpty(options))); var text = options.text, pathId = options.pathId, label = options.label; if (pathId !== '') { options['href'] = '#' + pathId; options['startOffset'] = '50%'; options['text-anchor'] = 'middle'; options['title'] = text; } var textOnArc = { name: 'text-on-arc', options: options, children: [] }; return textOnArc; } export function createText(options) { var defaults = { content: '', x: 0, y: 0, stroke: 'white', 'stroke-width': '1px', 'font-size': '6px', 'text-anchor': 'middle' }; options = __assign(__assign({}, defaults), (getOptionsOrEmpty(options))); var textElement = { name: 'text', options: options, children: [] }; return textElement; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGVsZW1lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXN1bmJ1cnN0LXJhZGFyLWNoYXJ0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzL3RleHRlbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFaEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sU0FBUyxDQUFDO0FBRzFDLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxFQUE4QztRQUE3QywwQkFBVSxFQUFFLGtCQUFNLEVBQUUsVUFBRSxFQUFFLDBCQUFVLEVBQUUsc0JBQVE7SUFFMUUsSUFBQSw0Q0FBaUQsRUFBaEQsZUFBTyxFQUFFLGVBQXVDLENBQUM7SUFFeEQsSUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkUsSUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkUsSUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUczRCxJQUFNLENBQUMsR0FBRztRQUNSLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDdEQsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFHWixPQUFPLFVBQVUsQ0FBQyxFQUFDLENBQUMsR0FBQSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFBLEVBQUMsQ0FBQyxDQUFDO0FBRzlDLENBQUM7QUFJRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUTtJQUd0RCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFHbEIsSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLElBQUksUUFBUSxHQUFHLEVBQUUsRUFBRTtRQUNqQixZQUFZLEdBQUcsR0FBRyxDQUFDO0tBRXBCO0lBQ0QsSUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDNUQsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLGVBQWUsRUFBRTtRQUVwRCxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztLQUN4RDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQU87SUFHcEMsSUFBTSxRQUFRLEdBQUcsRUFBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFFLENBQUM7SUFDekUsT0FBTyx5QkFBTyxRQUFRLEdBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEQsSUFBQSxtQkFBSSxFQUFFLHVCQUFNLEVBQUUscUJBQUssQ0FBWTtJQUV0QyxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUU7UUFDakIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDL0IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMvQixPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUM7S0FFekI7SUFFRCxJQUFNLFNBQVMsR0FBc0IsRUFBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sU0FBQSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUNsRixPQUFPLFNBQVMsQ0FBQztBQUduQixDQUFDO0FBR0QsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFPO0lBRWhDLElBQU0sUUFBUSxHQUFHO1FBQ2YsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsY0FBYyxFQUFFLEtBQUs7UUFDckIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsYUFBYSxFQUFFLFFBQVE7S0FDeEIsQ0FBQztJQUNGLE9BQU8seUJBQU8sUUFBUSxHQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpELElBQU0sV0FBVyxHQUFzQixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxTQUFBLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQzdFLE9BQU8sV0FBVyxDQUFDO0FBR3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NyZWF0ZVBhdGh9IGZyb20gJy4vZWxlbWVudHMnO1xyXG5pbXBvcnQge2dldExhcmdlQXJjRmxhZywgcG9sYXJUb0NhcnRlc2lhbn0gZnJvbSAnLi90cmlnbm9tZXRyeSc7XHJcbmltcG9ydCB7QW5ndWxhclN2Z0VsZW1lbnR9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHtnZXRPcHRpb25zT3JFbXB0eX0gZnJvbSAnLi91dGlscyc7XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFyY1RvV3JpdGVUZXh0KHtzdGFydFBvaW50LCByYWRpdXMsIGlkLCBzdGFydEFuZ2xlLCBlbmRBbmdsZX0pIHtcclxuXHJcbiAgY29uc3QgW2NlbnRlclgsIGNlbnRlclldID0gW3N0YXJ0UG9pbnQueCwgc3RhcnRQb2ludC55XTtcclxuXHJcbiAgY29uc3Qgc3RhcnQgPSBwb2xhclRvQ2FydGVzaWFuKGNlbnRlclgsIGNlbnRlclksIHJhZGl1cywgZW5kQW5nbGUpO1xyXG4gIGNvbnN0IGVuZCA9IHBvbGFyVG9DYXJ0ZXNpYW4oY2VudGVyWCwgY2VudGVyWSwgcmFkaXVzLCBzdGFydEFuZ2xlKTtcclxuICBjb25zdCBsYXJnZUFyY0ZsYWcgPSBnZXRMYXJnZUFyY0ZsYWcoc3RhcnRBbmdsZSwgZW5kQW5nbGUpO1xyXG5cclxuXHJcbiAgY29uc3QgZCA9IFtcclxuICAgICdNJywgc3RhcnQueCwgc3RhcnQueSxcclxuICAgICdBJywgcmFkaXVzLCByYWRpdXMsIDAsIGxhcmdlQXJjRmxhZywgMCwgZW5kLngsIGVuZC55XHJcbiAgXS5qb2luKCcgJyk7XHJcblxyXG5cclxuICByZXR1cm4gY3JlYXRlUGF0aCh7ZCwgYm9yZGVyQ29sb3I6ICcnLCBpZH0pO1xyXG5cclxuXHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRGb3JBbmdsZSh0ZXh0LCBkaXN0YW5jZSwgZm9udFNpemUpIHtcclxuXHJcblxyXG4gIGxldCByZXN1bHQgPSB0ZXh0O1xyXG5cclxuXHJcbiAgbGV0IHBlckNoYXJhY3RlciA9IDEwLjA3O1xyXG4gIGlmIChmb250U2l6ZSA8IDE4KSB7XHJcbiAgICBwZXJDaGFyYWN0ZXIgPSA4Ljc7XHJcblxyXG4gIH1cclxuICBjb25zdCB0b3RhbFRleHRMZW5ndGggPSBNYXRoLnJvdW5kKGRpc3RhbmNlIC8gcGVyQ2hhcmFjdGVyKTtcclxuICBpZiAodGV4dC5sZW5ndGggPiAwICYmIHRleHQubGVuZ3RoID4gdG90YWxUZXh0TGVuZ3RoKSB7XHJcblxyXG4gICAgcmVzdWx0ID0gdGV4dC5zdWJzdHJpbmcoMCwgdG90YWxUZXh0TGVuZ3RoIC0gMSkgKyAnLi4nO1xyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVUZXh0T25BcmMob3B0aW9ucykge1xyXG5cclxuXHJcbiAgY29uc3QgZGVmYXVsdHMgPSB7dGV4dDogJycsIGxhYmVsOiAnJywgcGF0aElkOiAnJywgJ2ZvbnQtc2l6ZSc6ICcxNHB4Jyx9O1xyXG4gIG9wdGlvbnMgPSB7Li4uZGVmYXVsdHMsIC4uLihnZXRPcHRpb25zT3JFbXB0eShvcHRpb25zKSl9O1xyXG5cclxuICBjb25zdCB7dGV4dCwgcGF0aElkLCBsYWJlbH0gPSBvcHRpb25zO1xyXG5cclxuICBpZiAocGF0aElkICE9PSAnJykge1xyXG4gICAgb3B0aW9uc1snaHJlZiddID0gJyMnICsgcGF0aElkO1xyXG4gICAgb3B0aW9uc1snc3RhcnRPZmZzZXQnXSA9ICc1MCUnO1xyXG4gICAgb3B0aW9uc1sndGV4dC1hbmNob3InXSA9ICdtaWRkbGUnO1xyXG4gICAgb3B0aW9uc1sndGl0bGUnXSA9IHRleHQ7XHJcblxyXG4gIH1cclxuXHJcbiAgY29uc3QgdGV4dE9uQXJjOiBBbmd1bGFyU3ZnRWxlbWVudCA9IHtuYW1lOiAndGV4dC1vbi1hcmMnLCBvcHRpb25zLCBjaGlsZHJlbjogW119O1xyXG4gIHJldHVybiB0ZXh0T25BcmM7XHJcblxyXG5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXh0KG9wdGlvbnMpIHtcclxuXHJcbiAgY29uc3QgZGVmYXVsdHMgPSB7XHJcbiAgICBjb250ZW50OiAnJywgeDogMCwgeTogMCxcclxuICAgIHN0cm9rZTogJ3doaXRlJyxcclxuICAgICdzdHJva2Utd2lkdGgnOiAnMXB4JyxcclxuICAgICdmb250LXNpemUnOiAnNnB4JyxcclxuICAgICd0ZXh0LWFuY2hvcic6ICdtaWRkbGUnXHJcbiAgfTtcclxuICBvcHRpb25zID0gey4uLmRlZmF1bHRzLCAuLi4oZ2V0T3B0aW9uc09yRW1wdHkob3B0aW9ucykpfTtcclxuXHJcbiAgY29uc3QgdGV4dEVsZW1lbnQ6IEFuZ3VsYXJTdmdFbGVtZW50ID0ge25hbWU6ICd0ZXh0Jywgb3B0aW9ucywgY2hpbGRyZW46IFtdfTtcclxuICByZXR1cm4gdGV4dEVsZW1lbnQ7XHJcblxyXG5cclxufVxyXG4iXX0=