scichart-react
Version:
React wrapper for SciChart JS
55 lines • 2.45 kB
JavaScript
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
;