0.1.7 • Published 3 years ago

markdown-topology-editor v0.1.7

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

-基于Le5le-Topology-Core写关于编辑器拓展插件的在线拓扑绘图组件,方便一边编写文章一边画图。 -内置了完整的markdown富文本编辑器mavon-editor

安装

$ npm install markdown-topology-editor --save

使用

带有topology的mavon-editor编辑器:

<template>
    <markdown-editor 
        :options="options" 
        :upload-image="uploadImage"
        :value.sync="content"
    ></markdown-editor>
</template>
import {MarkdownEditor} from 'markdown-topology-editor'
export default {
    components: {
        MarkdownEditor
    },
    data(){
        return {
            options : {},
            content : ''
        }
    },
    methods:{
        //上传方法,文档后面有上传方法示例
        uploadImage(){}
    }
};

单独引入topology,如果需要mavon-editor额外拓展可以单独引入topology

<template>
    <topology-editor 
        :options="options" 
        :is-callback="true"
        :visible.sync="visibleTopology"
        :upload-image="uploadImage"
        @success="handleSuccess"
    ></topology-editor>
</template>
import {TopologyEditor} from 'markdown-topology-editor'
export default {
    components: {
        TopologyEditor
    },
    data(){
        return {
            options : {},
            visibleTopology :false,
            
        }
    },
    methods:{
        //上传方法,文档后面有上传方法示例
        uploadImage(){},
        handleSuccess(image){}
    }
};

使用topology-view来单独渲染预览绘图。topology-view的API接口与topology-editor的API接口一致

<template>
    <topology-view :data="data"/>
</template>
import {TopologyView} from 'markdown-topology-editor'
export default {
    components: {
        TopologyView
    },
    data(){
        return {
            data : {}, 
        }
    },
};

TopologyEditor API文档

Props

参数说明类型必选可选值默认值
options选项ObjectNOptionsnull
isCallback是否开启回调(即右上方的取消确定按钮)Booleantrue、falsefalse
uploadImage上传图片方法(格式详情Upload FunctionFunctionN-null
visible是否显示BooleanNtrue、falsetrue
topBody距离顶部位置(当自定义header的时候建议设置该属性)NumberN-0
defaultOpenData默认打开数据ObjectN-null

Options

参数说明类型必选可选值默认值
resourcePath图片资源根路径StringN-
scale放大倍数NumberN-1
lineName线条类型StringNcurve、polyline、line、mindcurve
lineWidth线宽NumberN-1
fromArrow起点箭头StringNtriangleSolid、triangle、diamondSolid、diamond、circleSolid、circle、line、lineDown、lineUp
toArrow终点箭头StringNtriangleSolid、triangle、diamondSolid、diamond、circleSolid、circle、line、lineDown、lineUptriangleSolid
fontSize字体大小NumberN-12
grid是否开启网格BooleanNtrue、falsetrue
rule是否显示标尺BooleanNtrue、falsetrue
rotateCursor鼠标图标路径StringN-
bkColor背景颜色StringN-#f8f8f8
logo图标StringN-/favicon.ico
valuePrecision数值精度NumberN-0
extendIcons扩展图标,即为在iconfont下载图标库里面的xx.json文件格式ArrayN--

UploadImage Function

下面示例方法为axios的上传文件示例,注意返回值须为Promise,值为图片路径

/**
 * 上传文件
 * @param {File} file 文件
 * @param {Object} data 数据
 * @param {Function} uploadProgress 上传进度方法
 * @return Promise
 */
function uploadFile(file,data,uploadProgress) {
	let postData = new FormData();
	postData.append('file',file);
	for(let key in data){
		postData.append(key,data[key]);
	}
    return new Promise(resolve => {
        axios({
    		url: '',
            method : 'POST',
    		data : postData,
    		onUploadProgress : uploadProgress,
    		timeout : 0,
    		headers: {
    			'Content-Type': 'multipart/form-data' 
    		}
    	}).then(response => {
            //判断上传是否成功
    	    if(response.success){
                //注意这个Promise回调须为图片路径
    	        resolve(response.data.url);
            }
        });
    });
	
}

Events

事件说明参数
success开启回调模式、点击上方确定按钮image
cancel开启回调模式、点击上方取消按钮-

Methods

方法名说明参数
toImage把画布转为图片File
getJson获取画布数据-
getConfig获取当前画布配置-
setConfig设置画布配置{name : value}
handleEvent触发画布事件详情{name:EventName,data:EventData}

Handle Events Payload

事件可用于自定义Header的时候触发

事件名称说明参数
AutoWindowSize自适应窗口大小-
SaveJson保存JSON文件fileName
SavePng保存PngfileName
SaveSvg保存SvgfileName
New打开新画布-
Undo撤销-
Redo恢复-
Copy复制-
Cut剪切-
Parse粘贴-
Open打开data
OpenFile打开文件-
SaveCache保存缓存-
ReadCache读取缓存-
0.1.7

3 years ago

0.1.6

3 years ago

0.1.5

3 years ago

0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago