react-img-editor-en
Version:
Image Annotation Tool for React
64 lines • 2.46 kB
JavaScript
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, 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 React.createElement(StrokeWidthSetting, {
key: "stroke-width-setting",
value: props.paramValue ? props.paramValue['strokeWidth'] : undefined,
onChange: handleStrokeWidthChange
});
case 'lineType':
return React.createElement(LineTypeSetting, {
key: "line-type-setting",
value: props.paramValue ? props.paramValue['lineType'] : undefined,
onChange: handleLineTypeChange
});
case 'color':
return React.createElement(ColorSetting, {
key: "color-setting",
value: props.paramValue ? props.paramValue['color'] : undefined,
onChange: handleColorChange
});
case 'fontSize':
return React.createElement(FontSizeSetting, {
key: "font-size-setting",
value: props.paramValue ? props.paramValue['fontSize'] : undefined,
onChange: handleFontSizeChange
});
default:
return null;
}
}
return React.createElement("div", {
className: "".concat(prefixCls, "-param-setting")
}, props.paramNames.map(function (paramName) {
return renderParamComponent(paramName);
}));
}