UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

44 lines (39 loc) 1.42 kB
import _objectSpread from "@babel/runtime/helpers/objectSpread2"; import React, { useCallback, useEffect, useRef } from 'react'; import defaultTo from 'lodash/defaultTo'; import JsBarCode from 'jsbarcode'; var BarCode = function BarCode(props) { var value = props.value, _props$renderAs = props.renderAs, renderAs = _props$renderAs === void 0 ? 'canvas' : _props$renderAs, bgColor = props.bgColor, fgColor = props.fgColor, option = props.option; var canvasBarCodeRef = useRef(null); var svgBarCodeRef = useRef(null); var renderCode = useCallback(function () { try { var canvasRef = canvasBarCodeRef.current; var svgRef = svgBarCodeRef.current; if (canvasRef || svgRef) JsBarCode(renderAs === 'canvas' ? canvasRef : svgRef, value, _objectSpread(_objectSpread({}, option), {}, { background: defaultTo(option && option.background, bgColor), lineColor: defaultTo(option && option.lineColor, fgColor) })); } catch (error) { console.warn(error); } }, [canvasBarCodeRef, svgBarCodeRef]); useEffect(function () { renderCode(); }, [renderCode()]); if (renderAs === 'canvas') { return /*#__PURE__*/React.createElement("canvas", { ref: canvasBarCodeRef }); } return /*#__PURE__*/React.createElement("svg", { ref: svgBarCodeRef }); }; export default BarCode; //# sourceMappingURL=BarCode.js.map