| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { PickCreateComponentType } from '@/packages/index.d'
- import { EditCanvasConfigType } from '@/store/modules/chartEditStore/chartEditStore.d'
- type AttrType = PickCreateComponentType<'attr'>
- type StylesType = PickCreateComponentType<'styles'>
- export const getComponentAttrStyle = (attr: AttrType, index: number) => {
- const componentStyle = {
- zIndex: index + 1,
- left: `${attr.x}px`,
- top: `${attr.y}px`
- }
- return componentStyle
- }
- export const getSizeStyle = (attr: AttrType, scale?: number) => {
- const sizeStyle = {
- width: `${scale ? scale * attr.w : attr.w}px`,
- height: `${scale ? scale * attr.h : attr.h}px`
- }
- return sizeStyle
- }
- export const getEditCanvasConfigStyle = (canvas: EditCanvasConfigType) => {
- // 背景
- const computedBackground = canvas.selectColor
- ? { background: canvas.background }
- : {
- background: `url(${canvas.backgroundImage}) no-repeat center/100% !important`
- }
- return {
- position: 'relative',
- width: canvas.width ? `${canvas.width || 100}px` : '100%',
- height: canvas.height ? `${canvas.height}px` : '100%',
- ...computedBackground
- }
- }
- // 动画
- export const animationsClass = (animations: string[]) => {
- if (animations.length) {
- return `animate__animated animate__${animations[0]}`
- }
- return ''
- }
- // 样式
- export const getStyle = (styles: StylesType | EditCanvasConfigType) => {
- const { opacity, saturate, contrast, hueRotate, brightness } = styles
- return {
- // 透明度
- opacity: opacity,
- filter: `saturate(${saturate}) contrast(${contrast}) hue-rotate(${hueRotate}deg) brightness(${brightness})`
- }
- }
|