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