3.5.3 • Published 10 months ago
@ctoweb/plugin-import-file v3.5.3
@ctoweb/plugin-import-file
文档导入
安装
$ yarn add @ctoweb/plugin-import-file
添加到引擎
import Engine, { EngineInterface } from '@ctoweb/engine';
import ImportFile from '@ctoweb/plugin-import-file';
new Engine(...,{ plugins:[ ImportFile] })
ImportFile
插件主要功能:选择/拖拽 word 文档、md 文件、.wk 文件,具体处理业务代码控制即可
ImportFile
可选项
uploader
word 文件上传之后解析,业务代码处理即可
fileRender
md、wk 文件直接读取内容赋值,
###业务代码逻辑
uploader(file) =>{
...解析word,转为html
...调用setHml方法赋值编辑器即可
};
fileRender()=>{
var reader = new FileReader();
let txt = getExtensionName(file);
reader.onload = function (e) {
var readAsText = reader.result;
if (txt.toLowerCase() === ".wk") {
engineInstance.setValue("<div></div>");
engineInstance.setHtml(`${readAsText}`);
}
if (
txt.toLowerCase() === "md" &&
typeof readAsText == "string"
) {
//(1)方案1
var node = $(document.createTextNode(readAsText));
node.text(
node.text().replace(/[<]/g, function (c: any) {
return {
"<": "<",
}[c];
})
);
engineInstance.trigger("paste:markdown-before", node);
engineInstance.trigger("paste:markdown", node);
engineInstance.trigger("paste:markdown-after", node);
node.text(node.text().replace(/((\r|\n)+)/g, "<br>"));
node.get<Text>()?.normalize();
engineInstance.setHtml(node.text());
//方案(2)
engineInstance.setMarkdown(readAsText);
}
document.getElementById("ctoinputfile")?.remove();
message.success("导入成功");
};
reader.readAsText(file);
}
命令
ImportFile
插件命令
弹出文件选择框,并执行上传
可选参数 1:传入文件列表,将上传这些文件。传入图片地址,插入图片,如果为第三方图片就执行上传。否则弹出文件选择框并,选择文件后执行上传
//方法签名
async execute(files?: Array<File> | string | MouseEvent):void
//执行命令
engine.command.execute(Import.pluginName);
3.5.3
10 months ago
3.5.2
11 months ago
3.5.0
11 months ago
3.4.8
11 months ago
3.4.0
1 year ago
3.3.0
1 year ago
3.2.0
1 year ago
3.1.1
1 year ago
3.1.0
1 year ago
3.0.43
1 year ago
3.0.44
1 year ago
3.0.11-dev
1 year ago
2.9.9-dev
1 year ago
3.0.2
1 year ago
2.9.5-dev
2 years ago
2.9.8-dev
1 year ago
2.9.4-dev
2 years ago
2.8.80-dev
2 years ago
2.8.99-dev
2 years ago
2.8.93-dev
2 years ago
2.8.61
2 years ago
2.8.78-dev
2 years ago
2.8.81-dev
2 years ago
2.8.98-dev
2 years ago
2.8.77-dev
2 years ago
2.8.79-dev
2 years ago
2.8.91-dev
2 years ago
2.8.75-dev
2 years ago
2.8.74-dev
2 years ago
2.8.73-dev
2 years ago
2.8.76-dev
2 years ago
2.8.54
2 years ago
2.8.53
2 years ago
2.8.52
2 years ago