UNPKG

react-img-editor-pro

Version:

图片编辑器(微信截图编辑 PRO 版),来自 react-img-editor

74 lines (64 loc) 2.57 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import ColorSetting from './ColorSetting'; import FontSizeSetting from './FontSizeSetting'; import LineTypeSetting from './LineTypeSetting'; import React from 'react'; import StrokeWidthSetting from './StrokeWidthSetting'; import { prefixCls } from '../../common/constants'; export default function ParamSetting(props) { function handleStrokeWidthChange(strokeWidth) { props.onChange(_extends(_extends({}, props.paramValue), { strokeWidth: strokeWidth })); } function handleLineTypeChange(lineType) { props.onChange(_extends(_extends({}, props.paramValue), { lineType: lineType })); } function handleColorChange(color) { props.onChange(_extends(_extends({}, props.paramValue), { color: color })); } function handleFontSizeChange(fontSize) { props.onChange(_extends(_extends({}, props.paramValue), { fontSize: fontSize })); } function renderParamComponent(paramName) { switch (paramName) { case 'strokeWidth': return /*#__PURE__*/React.createElement(StrokeWidthSetting, { key: "stroke-width-setting", value: props.paramValue ? props.paramValue['strokeWidth'] : undefined, onChange: handleStrokeWidthChange }); case 'lineType': return /*#__PURE__*/React.createElement(LineTypeSetting, { key: "line-type-setting", value: props.paramValue ? props.paramValue['lineType'] : undefined, onChange: handleLineTypeChange }); case 'color': return /*#__PURE__*/React.createElement(ColorSetting, { key: "color-setting", value: props.paramValue ? props.paramValue['color'] : undefined, onChange: handleColorChange }); case 'fontSize': return /*#__PURE__*/React.createElement(FontSizeSetting, { key: "font-size-setting", value: props.paramValue ? props.paramValue['fontSize'] : undefined, onChange: handleFontSizeChange }); default: return null; } } return /*#__PURE__*/React.createElement("div", { className: "".concat(prefixCls, "-param-setting") }, props.paramNames.map(function (paramName) { return renderParamComponent(paramName); })); }