UNPKG

scichart-angular

Version:

Angular wrapper for SciChart JS

32 lines 4.58 kB
import { generateGuid, chartBuilder } from "scichart"; export const createChartRoot = () => { // check if SSR if (typeof window === "undefined") { return null; } const internalRootElement = document.createElement("div"); // generate or provide a unique root element id to avoid chart rendering collisions internalRootElement.id = `chart-root-${generateGuid()}`; internalRootElement.style.width = "100%"; internalRootElement.style.height = "100%"; return internalRootElement; }; export function createChartFromConfig(config) { return async (chartRoot) => { // Potentially should return 2D, 3D, or Pie Chart const chart = (await chartBuilder.buildChart(chartRoot, config)); if ("sciChartSurface" in chart) { // 2D Chart return { sciChartSurface: chart.sciChartSurface }; } else if ("sciChart3DSurface" in chart) { // 3D Chart return { sciChartSurface: chart.sciChart3DSurface }; } else { // Pie Chart return { sciChartSurface: chart }; } }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2ljaGFydC1hbmd1bGFyL3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBNEMsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2hHLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDaEMsZUFBZTtJQUNmLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sbUJBQW1CLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQW1CLENBQUM7SUFDNUUsbUZBQW1GO0lBQ25GLG1CQUFtQixDQUFDLEVBQUUsR0FBRyxjQUFjLFlBQVksRUFBRSxFQUFFLENBQUM7SUFDeEQsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDekMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDMUMsT0FBTyxtQkFBbUIsQ0FBQztBQUMvQixDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUscUJBQXFCLENBQXdDLE1BQW1DO0lBQzVHLE9BQU8sS0FBSyxFQUFFLFNBQWtDLEVBQUUsRUFBRTtRQUNoRCxpREFBaUQ7UUFDakQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFRLENBQUM7UUFDeEUsSUFBSSxpQkFBaUIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUM3QixXQUFXO1lBQ1gsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBMkIsRUFBRSxDQUFDO1FBQ2xFLENBQUM7YUFBTSxJQUFJLG1CQUFtQixJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3RDLFdBQVc7WUFDWCxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxpQkFBNkIsRUFBRSxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ0osWUFBWTtZQUNaLE9BQU8sRUFBRSxlQUFlLEVBQUUsS0FBaUIsRUFBRSxDQUFDO1FBQ2xELENBQUM7SUFDTCxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2VuZXJhdGVHdWlkLCBJU2NpQ2hhcnRTdXJmYWNlQmFzZSwgVFN1cmZhY2VEZWZpbml0aW9uLCBjaGFydEJ1aWxkZXIgfSBmcm9tIFwic2NpY2hhcnRcIjtcclxuaW1wb3J0IHsgSUluaXRSZXN1bHQgfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNoYXJ0Um9vdCA9ICgpID0+IHtcclxuICAgIC8vIGNoZWNrIGlmIFNTUlxyXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpbnRlcm5hbFJvb3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIC8vIGdlbmVyYXRlIG9yIHByb3ZpZGUgYSB1bmlxdWUgcm9vdCBlbGVtZW50IGlkIHRvIGF2b2lkIGNoYXJ0IHJlbmRlcmluZyBjb2xsaXNpb25zXHJcbiAgICBpbnRlcm5hbFJvb3RFbGVtZW50LmlkID0gYGNoYXJ0LXJvb3QtJHtnZW5lcmF0ZUd1aWQoKX1gO1xyXG4gICAgaW50ZXJuYWxSb290RWxlbWVudC5zdHlsZS53aWR0aCA9IFwiMTAwJVwiO1xyXG4gICAgaW50ZXJuYWxSb290RWxlbWVudC5zdHlsZS5oZWlnaHQgPSBcIjEwMCVcIjtcclxuICAgIHJldHVybiBpbnRlcm5hbFJvb3RFbGVtZW50O1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNoYXJ0RnJvbUNvbmZpZzxUU3VyZmFjZSBleHRlbmRzIElTY2lDaGFydFN1cmZhY2VCYXNlPihjb25maWc6IHN0cmluZyB8IFRTdXJmYWNlRGVmaW5pdGlvbikge1xyXG4gICAgcmV0dXJuIGFzeW5jIChjaGFydFJvb3Q6IHN0cmluZyB8IEhUTUxEaXZFbGVtZW50KSA9PiB7XHJcbiAgICAgICAgLy8gUG90ZW50aWFsbHkgc2hvdWxkIHJldHVybiAyRCwgM0QsIG9yIFBpZSBDaGFydFxyXG4gICAgICAgIGNvbnN0IGNoYXJ0ID0gKGF3YWl0IGNoYXJ0QnVpbGRlci5idWlsZENoYXJ0KGNoYXJ0Um9vdCwgY29uZmlnKSkgYXMgYW55O1xyXG4gICAgICAgIGlmIChcInNjaUNoYXJ0U3VyZmFjZVwiIGluIGNoYXJ0KSB7XHJcbiAgICAgICAgICAgIC8vIDJEIENoYXJ0XHJcbiAgICAgICAgICAgIHJldHVybiB7IHNjaUNoYXJ0U3VyZmFjZTogY2hhcnQuc2NpQ2hhcnRTdXJmYWNlIGFzIFRTdXJmYWNlIH07XHJcbiAgICAgICAgfSBlbHNlIGlmIChcInNjaUNoYXJ0M0RTdXJmYWNlXCIgaW4gY2hhcnQpIHtcclxuICAgICAgICAgICAgLy8gM0QgQ2hhcnRcclxuICAgICAgICAgICAgcmV0dXJuIHsgc2NpQ2hhcnRTdXJmYWNlOiBjaGFydC5zY2lDaGFydDNEU3VyZmFjZSBhcyBUU3VyZmFjZSB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFBpZSBDaGFydFxyXG4gICAgICAgICAgICByZXR1cm4geyBzY2lDaGFydFN1cmZhY2U6IGNoYXJ0IGFzIFRTdXJmYWNlIH07XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxufVxyXG4iXX0=