UNPKG

wui-print

Version:

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

58 lines (57 loc) 2.34 kB
import printGlobalStyle from "./print-global-style/index.js"; import { camelToKebab } from "./print-designer-utils"; import createBaseComponentStyle from "./create-style/create-base-component-style.js"; import createTableStyle from "./create-style/create-table-style.js"; import createComplexTableStyle from "./create-style/create-complex-table-style.js"; import createFormComponentStyle from "./create-style/create-form-component-style.js"; import createFormItemStyle from "./create-style/create-form-item-style.js"; import createGridStyle from "./create-style/create-grid-style.js"; import createTableLayoutStyle from "./create-style/create-table-layout-style.js"; export const createPrintStyle = ({ printConfig } = {}) => { if (!printConfig) { printConfig = {}; } let printStyleConfig = !!printConfig.style ? printConfig.style : {}; let styleText = `:root { --wui-printing-background: ${printStyleConfig.backgroundColor}; --wui-printing-page-padding-top: ${!!printStyleConfig.paddingTop ? printStyleConfig.paddingTop : "0px"}; --wui-printing-page-padding-bottom: ${!!printStyleConfig.paddingBottom ? printStyleConfig.paddingBottom : "0px"}; --wui-printing-page-padding-left: ${!!printStyleConfig.paddingLeft ? printStyleConfig.paddingLeft : "0px"}; --wui-printing-page-padding-right: ${!!printStyleConfig.paddingRight ? printStyleConfig.paddingRight : "0px"}; }`; let printSize = printConfig.pageSize; if (!!printConfig.landscape) { printSize += " landscape"; } let printStyleText = `@media print { @page { size:${printSize} } }`; styleText += printGlobalStyle; styleText += printStyleText; return styleText; }; export const createContainerStyle = ({ styleConfig } = {}) => { if (!styleConfig) { styleConfig = {}; } let styleText = ""; Object.keys(styleConfig).forEach((key, index) => { if (!!styleConfig[key] || styleConfig[key] === 0) { styleText += `${camelToKebab(key)}:${styleConfig[key]};`; } }); return styleText; }; export default { createPrintStyle, createContainerStyle, ...createBaseComponentStyle, ...createTableStyle, ...createComplexTableStyle, ...createFormComponentStyle, ...createFormItemStyle, ...createGridStyle, ...createTableLayoutStyle };