UNPKG

wui-print

Version:

前端打印插件,包含打印设计器、打印表单、打印API

79 lines (78 loc) 2.28 kB
import { camelToKebab, deepCopy } from "../print-designer-utils"; const createInputStyle = ({ styleConfig } = {}) => { if (!styleConfig) { styleConfig = {}; } let styleText = ""; Object.keys(styleConfig).forEach((key, index) => { if (key.indexOf("_") >= 0) { return false; } if (!!styleConfig[key] || styleConfig[key] === 0) { styleText += `${camelToKebab(key)}:${styleConfig[key]};`; } }); return styleText; }; const createTextareaStyle = ({ styleConfig, formConfig, formComponentProps } = {}) => { if (!styleConfig) { styleConfig = {}; } if (!formConfig) { formConfig = {}; } if (!formComponentProps) { formComponentProps = {}; } let styleObj = {}; let styleText = ""; Object.keys(styleConfig).forEach((key, index) => { if (key.indexOf("_") >= 0) { return false; } if (!!styleConfig[key] || styleConfig[key] === 0) { styleObj[key] = styleConfig[key]; } }); let size = formConfig.props.size; if (!!formComponentProps.size) { size = formComponentProps.size; } if (!formComponentProps.autosize && typeof formComponentProps.rows == "number") { let rowHeightDetails = TextareaRowHeightBySize.get(size); if (!!rowHeightDetails) { let textareaHeight = rowHeightDetails.value * formComponentProps.rows; styleObj.height = `${textareaHeight}px`; } } Object.keys(styleObj).forEach((key, index) => { styleText += `${camelToKebab(key)}:${styleObj[key]};`; }); return styleText; }; const TextareaRowHeightBySize = new Map([ ["large", { label: "大", value: 22 }], ["default", { label: "默认", value: 22 }], ["small", { label: "小", value: 19 }] ]); const createDatetimeStyle = ({ styleConfig } = {}) => { if (!styleConfig) { styleConfig = {}; } let styleText = ""; Object.keys(styleConfig).forEach((key, index) => { if (key.indexOf("_") >= 0) { return false; } if (!!styleConfig[key] || styleConfig[key] === 0) { styleText += `${camelToKebab(key)}:${styleConfig[key]};`; } }); return styleText; }; export default { createInputStyle, createTextareaStyle, TextareaRowHeightBySize, createDatetimeStyle };