UNPKG

scichart-react

Version:

React wrapper for SciChart JS

55 lines 2.45 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createChartFromConfig = exports.createChartRoot = exports.useIsMountedRef = void 0; const react_1 = require("react"); const scichart_1 = require("scichart"); const useIsMountedRef = () => { const isMountedRef = (0, react_1.useRef)(false); (0, react_1.useEffect)(() => { isMountedRef.current = true; return () => { isMountedRef.current = false; }; }, []); return isMountedRef; }; exports.useIsMountedRef = useIsMountedRef; const createChartRoot = () => { const internalRootElement = document.createElement("div"); // generate or provide a unique root element id to avoid chart rendering collisions internalRootElement.id = `chart-root-${(0, scichart_1.generateGuid)()}`; internalRootElement.style.width = "100%"; internalRootElement.style.height = "100%"; return internalRootElement; }; exports.createChartRoot = createChartRoot; function createChartFromConfig(config) { return (chartRoot) => __awaiter(this, void 0, void 0, function* () { // Potentially should return 2D, 3D, or Pie Chart // TODO add better type handling const chart = (yield scichart_1.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 }; } }); } exports.createChartFromConfig = createChartFromConfig; //# sourceMappingURL=utils.js.map