2.2. 配置 Red Hat Process Automation Manager 独立编辑器
Red Hat Process Automation Manager 提供独立编辑器,这些编辑器在自包含的库中分发,为每个编辑器提供一个 all-in-one JavaScript 文件。JavaScript 文件使用全面的 API 来设置和控制编辑器。
您可以使用以下方法安装独立编辑器:
- 手动下载每个 JavaScript 文件
- 使用 NPM 软件包
流程
使用以下方法之一安装独立编辑器:
手动下载每个 JavaScript 文件 :对于此方法,请按照以下步骤执行:
- 下载 JavaScript 文件。
- 将下载的 Javascript 文件添加到托管应用程序中。
将以下 <
;script> 标签添加到 HTML 页面中:DMN 编辑器的 HTML 页面的脚本标签
<script src="https://<YOUR_PAGE>/dmn/index.js"></script>
<script src="https://<YOUR_PAGE>/dmn/index.js"></script>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您的 HTML 页面的脚本标签
<script src="https://<YOUR_PAGE>/bpmn/index.js"></script>
<script src="https://<YOUR_PAGE>/bpmn/index.js"></script>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 NPM 软件包 :对于这个方法,请按照以下步骤执行:
在您的
package.json文件中添加 NPM 软件包:添加 NPM 软件包
npm install @kie-tools/kie-editors-standalone
npm install @kie-tools/kie-editors-standaloneCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将每个编辑器库导入到您的
TypeScript文件中:导入每个编辑器
import * as DmnEditor from "@kie-tools/kie-editors-standalone/dist/dmn" import * as BpmnEditor from "@kie-tools/kie-editors-standalone/dist/bpmn"
import * as DmnEditor from "@kie-tools/kie-editors-standalone/dist/dmn" import * as BpmnEditor from "@kie-tools/kie-editors-standalone/dist/bpmn"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安装独立编辑器后,使用提供的编辑器 API 打开所需的编辑器,如下例所示来打开 DMN 编辑器。每个编辑器的 API 相同。
打开 DMN 独立编辑器
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在编辑器 API 中使用以下参数:
Expand 表 2.1. 参数示例 参数 描述 container附加编辑器的 HTML 元素。
initialContent承诺 DMN 模型内容。这个参数可以为空,如下例所示:
-
Promise.resolve("") -
Promise.resolve("<DIAGRAM_CONTENT_DIRECTLY_HERE>") -
fetch("MyDmnModel.dmn").then(content ⇒ content.text())
ReadOnly(可选)允许您在编辑器中允许更改。设置为
false(默认)以允许编辑器中的只读模式的内容编辑和true。原始(可选)存储库的来源。默认值为
window.location.origin。资源(可选)编辑器的资源映射。例如,此参数用于为 DMN 编辑器提供包含的型号,或为 the 编辑器提供工作项目定义。映射中的每个条目都包含一个资源名称,以及一个由
content-type(text或binary) 和content(与initialContent参数类似) 组成的对象。返回的对象包含操作编辑器所需的方法。
Expand 表 2.2. 返回的对象方法 方法 描述 getContent(): Promise<string>返回包含编辑器内容的承诺。
setContent(path: string, content: string): void设置编辑器的内容。
getPreview(): Promise<string>返回包含当前图的 SVG 字符串的承诺。
subscribeToContentChanges (callback: (isDirty: boolean) void void: (isDirty: boolean) void void设置在编辑器中内容更改时调用的回调,并返回相同的回调来取消订阅。
unsubscribeToContentChanges (callback: (isDirty: boolean) rhcs void): void当内容在编辑器中更改时,取消订阅传递的回调。
markAsSaved(): void重置编辑器状态,表示保存编辑器中的内容。另外,它还激活与内容更改相关的订阅回调。
undo(): void撤销编辑器中的最后更改。另外,它还激活与内容更改相关的订阅回调。
redo(): void在编辑器中更改最后的未撤消更改。另外,它还激活与内容更改相关的订阅回调。
close(): void关闭编辑器。
getElementPosition (selector: string): Promise<Rect>提供当元素位于 canvas 或视频组件内时扩展标准查询选择器的替代选择。
选择器参数必须遵循 <PROVIDER>:::<SELECT> 格式,如Canvas:::MySquare或Video:::PresenterHand。此方法返回一个代表元素位置的Rect。envelopeApi: MessageBusClientApi<KogitoEditorEnvelopeApi>这是一个高级编辑器 API。有关高级编辑器 API 的更多信息,请参阅 MessageBusClientApi 和 KogitoEditorEnvelopeApi。
-