angular-sunburst-radar-chart
Version:
A Sunburst Radar chart with SVG,No Dependencies
53 lines • 6.69 kB
JavaScript
import { __read } from "tslib";
export function hashCode(obj) {
var h = 0;
obj = getOptionsOrEmpty(obj);
var s = JSON.stringify(obj);
for (var i = 0; i < s.length; i++) {
h = Math.imul(31, h) + s.charCodeAt(i) | 0;
}
return h;
}
export function getOptionsOrEmpty(options) {
return options || {};
}
export function getItemTitle(item) {
item = item || { name: '', value: '' };
var dash = item.name.length > 0 ? '-' : '';
return item.name + dash + item.value;
}
export function clone(obj) {
return JSON.parse(JSON.stringify(obj));
}
export function generateRandomColor() {
var letters = '0123456789ABCDEF';
var color = '#';
for (var i = 0; i < 6; i++) {
color += letters[(Math.floor(Math.random() * 16))];
}
return color;
}
export function formatItems(items) {
return items.map(function (item) {
if (!!item.children && item.children.length > 0) {
}
else {
item['children'] = [];
item['children'].push({ name: '', value: 0 });
}
return item;
});
}
export function getFormattedAngle(angle, center) {
var _a = __read([center.x, center.y], 2), centerX = _a[0], centerY = _a[1];
return 'rotate(' + angle + ' ' + centerX + ' ' + centerY + ')';
}
export function getCurrentPointFromEvent(evt) {
var _a;
var _b = __read([evt.clientX, evt.clientY], 2), x = _b[0], y = _b[1];
if (evt.targetTouches && evt.targetTouches[0]) {
_a = __read([evt.targetTouches[0].pageX, evt.targetTouches[0].pageY], 2), x = _a[0], y = _a[1];
}
return { x: x, y: y };
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXN1bmJ1cnN0LXJhZGFyLWNoYXJ0LyIsInNvdXJjZXMiOlsibGliL3V0aWxzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQUc7SUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsR0FBRyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTdCLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7SUFHNUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDakMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0tBQzVDO0lBR0QsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE9BQU87SUFDdkMsT0FBTyxPQUFPLElBQUksRUFBRSxDQUFDO0FBQ3ZCLENBQUM7QUFHRCxNQUFNLFVBQVUsWUFBWSxDQUFDLElBQUk7SUFDL0IsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBRXJDLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO0FBRXZDLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSyxDQUFDLEdBQUc7SUFFdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQjtJQUNqQyxJQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztJQUduQyxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFFaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMxQixLQUFLLElBQUksT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3BEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFLO0lBRS9CLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUk7UUFFbkIsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBQyxDQUFDLEVBQUU7U0FFOUM7YUFBTTtZQUVMLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7U0FDN0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0FBRUwsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTTtJQUN2QyxJQUFBLG9DQUF5QyxFQUF4QyxlQUFPLEVBQUUsZUFBK0IsQ0FBQztJQUNoRCxPQUFPLFNBQVMsR0FBRyxLQUFLLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUNqRSxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEdBQUc7O0lBRXRDLElBQUEsMENBQW1DLEVBQWxDLFNBQUMsRUFBRSxTQUErQixDQUFDO0lBQ3hDLElBQUksR0FBRyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzdDLHdFQUFpRSxFQUFoRSxTQUFDLEVBQUUsU0FBQyxDQUE2RDtLQUNuRTtJQUNELE9BQU8sRUFBQyxDQUFDLEdBQUEsRUFBRSxDQUFDLEdBQUEsRUFBQyxDQUFDO0FBRWhCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gaGFzaENvZGUob2JqKSB7XHJcbiAgbGV0IGggPSAwO1xyXG4gIG9iaiA9IGdldE9wdGlvbnNPckVtcHR5KG9iaik7XHJcblxyXG4gIGxldCBzID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcclxuXHJcblxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcy5sZW5ndGg7IGkrKykge1xyXG4gICAgaCA9IE1hdGguaW11bCgzMSwgaCkgKyBzLmNoYXJDb2RlQXQoaSkgfCAwO1xyXG4gIH1cclxuXHJcblxyXG4gIHJldHVybiBoO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uc09yRW1wdHkob3B0aW9ucykge1xyXG4gIHJldHVybiBvcHRpb25zIHx8IHt9O1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEl0ZW1UaXRsZShpdGVtKSB7XHJcbiAgaXRlbSA9IGl0ZW0gfHwge25hbWU6ICcnLCB2YWx1ZTogJyd9O1xyXG5cclxuICBjb25zdCBkYXNoID0gaXRlbS5uYW1lLmxlbmd0aCA+IDAgPyAnLScgOiAnJztcclxuXHJcbiAgcmV0dXJuIGl0ZW0ubmFtZSArIGRhc2ggKyBpdGVtLnZhbHVlO1xyXG5cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lKG9iaikge1xyXG5cclxuICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShvYmopKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUmFuZG9tQ29sb3IoKSB7XHJcbiAgY29uc3QgbGV0dGVycyA9ICcwMTIzNDU2Nzg5QUJDREVGJztcclxuXHJcblxyXG4gIGxldCBjb2xvciA9ICcjJztcclxuXHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA2OyBpKyspIHtcclxuICAgIGNvbG9yICs9IGxldHRlcnNbKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDE2KSldO1xyXG4gIH1cclxuICByZXR1cm4gY29sb3I7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRJdGVtcyhpdGVtcykge1xyXG5cclxuICByZXR1cm4gaXRlbXMubWFwKGl0ZW0gPT4ge1xyXG5cclxuICAgIGlmICghIWl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGg+MCkge1xyXG5cclxuICAgIH0gZWxzZSB7XHJcblxyXG4gICAgICBpdGVtWydjaGlsZHJlbiddID0gW107XHJcbiAgICAgIGl0ZW1bJ2NoaWxkcmVuJ10ucHVzaCh7bmFtZTogJycsIHZhbHVlOiAwfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9KTtcclxuXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXR0ZWRBbmdsZShhbmdsZSwgY2VudGVyKSB7XHJcbiAgY29uc3QgW2NlbnRlclgsIGNlbnRlclldID0gW2NlbnRlci54LCBjZW50ZXIueV07XHJcbiAgcmV0dXJuICdyb3RhdGUoJyArIGFuZ2xlICsgJyAnICsgY2VudGVyWCArICcgJyArIGNlbnRlclkgKyAnKSc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW50UG9pbnRGcm9tRXZlbnQoZXZ0KSB7XHJcblxyXG4gIGxldCBbeCwgeV0gPSBbZXZ0LmNsaWVudFgsIGV2dC5jbGllbnRZXTtcclxuICBpZiAoZXZ0LnRhcmdldFRvdWNoZXMgJiYgZXZ0LnRhcmdldFRvdWNoZXNbMF0pIHtcclxuICAgIFt4LCB5XSA9IFtldnQudGFyZ2V0VG91Y2hlc1swXS5wYWdlWCwgZXZ0LnRhcmdldFRvdWNoZXNbMF0ucGFnZVldO1xyXG4gIH1cclxuICByZXR1cm4ge3gsIHl9O1xyXG5cclxufVxyXG4iXX0=