wui-print
Version:
前端打印插件,包含打印设计器、打印表单、打印API
79 lines (78 loc) • 2.28 kB
JavaScript
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
};