import FlowGraph from "../../../graph";
|
|
import { getImg } from '@/utils/util'
|
|
const tryToJSON = (val) => {
|
try {
|
return JSON.parse(val)
|
} catch (error) {
|
return val
|
}
|
}
|
|
export default class GridOption {
|
// 绘制网格
|
static gridOpt(globalGridAttr) {
|
let options
|
if (globalGridAttr.type === 'doubleMesh') {
|
options = {
|
type: globalGridAttr.type,
|
args: [
|
{
|
color: globalGridAttr.color,
|
thickness: globalGridAttr.thickness,
|
},
|
{
|
color: globalGridAttr.colorSecond,
|
thickness: globalGridAttr.thicknessSecond,
|
factor: globalGridAttr.factor,
|
},
|
],
|
}
|
} else {
|
options = {
|
type: globalGridAttr.type,
|
args: [
|
{
|
color: globalGridAttr.color,
|
thickness: globalGridAttr.thickness,
|
},
|
],
|
}
|
}
|
const { graph } = FlowGraph
|
graph.drawGrid(options)
|
}
|
|
// 设置网格大小
|
static setGridSize(globalGridAttr) {
|
const { graph } = FlowGraph
|
graph.setGridSize(globalGridAttr.size)
|
}
|
|
// 获取网格大小
|
static getGridSize() {
|
const { graph } = FlowGraph
|
graph.getGridSize()
|
}
|
|
// 重绘背景
|
static backGroundOpt(globalGridAttr) {
|
const options = {
|
color: globalGridAttr.bgColor,
|
// image: globalGridAttr.showImage ? 'https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*o-MuTpQaj7EAAAAAAAAAAABkARQnAQ' : undefined,
|
image: globalGridAttr.showImage ?getImg('logo.png') : undefined,
|
// image: undefined,
|
repeat: globalGridAttr.repeat,
|
angle: globalGridAttr.angle,
|
size: tryToJSON(globalGridAttr.bgSize),
|
position: tryToJSON(globalGridAttr.position),
|
opacity: globalGridAttr.opacity,
|
}
|
const { graph } = FlowGraph
|
graph.drawBackground(options)
|
}
|
|
// 是否显示网格
|
static isShowGrid({ showGrid }) {
|
const { graph } = FlowGraph
|
if(showGrid) {
|
graph.showGrid()
|
} else {
|
graph.hideGrid()
|
}
|
}
|
}
|