3.5.3 • Published 10 months ago

@ctoweb/plugin-import-file v3.5.3

Weekly downloads
-
License
MIT
Repository
-
Last release
10 months ago

@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 {
                                "<": "&lt;",
                            }[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