This is an automated email from the ASF dual-hosted git repository.
tiagobento pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-tools.git
The following commit(s) were added to refs/heads/main by this push:
new 72ffd4249c4 NO-ISSUE: Expose own Shared values to Micro-frontends
Multiplying Architecture Envelopes themselves (#2940)
72ffd4249c4 is described below
commit 72ffd4249c4f5182d24451395ea82e9bf33eb795
Author: Tiago Bento <[email protected]>
AuthorDate: Thu Feb 27 15:40:36 2025 -0500
NO-ISSUE: Expose own Shared values to Micro-frontends Multiplying
Architecture Envelopes themselves (#2940)
---
.../src/Base64PngEditor.tsx | 4 +--
.../src/Base64PngEditorFactory.ts | 7 +++--
.../src/Base64PngEditorInterface.tsx | 3 +-
.../README.md | 2 +-
.../src/TodoListViewPage.tsx | 13 +++++++-
.../src/api/TodoListEnvelopeApi.ts | 3 ++
.../src/envelope/TodoListEnvelope.tsx | 6 ++--
.../src/envelope/TodoListEnvelopeApiImpl.ts | 10 ++++++
.../src/envelope/TodoListEnvelopeView.tsx | 36 ++++++++++++++++++++--
package.json | 2 +-
.../src/editor/DashbuilderEditorFactory.ts | 7 +++--
.../src/editor/DashbuilderEditorView.tsx | 6 +++-
.../src/impl/DashbuilderEditorEnvelopeApiImpl.ts | 4 +--
.../src/monaco/DashbuilderMonacoEditor.tsx | 3 +-
.../src/envelope/DashbuilderViewerFactory.ts | 7 +++--
.../src/envelope/DashbuilderViewerView.tsx | 6 +++-
.../src/DmnEditorEnvelopeApiFactory.ts | 2 +-
.../dmn-editor-envelope/src/DmnEditorFactory.tsx | 9 +++---
.../src/NewDmnEditorEnvelopeApiFactory.ts | 2 +-
.../src/NewDmnEditorFactory.tsx | 7 +++--
packages/editor/src/api/EditorFactory.ts | 8 +++--
.../editor/src/api/KogitoEditorEnvelopeContext.ts | 10 ++++--
.../editor/src/envelope/KogitoEditorEnvelope.tsx | 7 +++--
.../src/envelope/KogitoEditorEnvelopeApiImpl.ts | 4 +--
packages/editor/src/envelope/index.ts | 6 ++--
packages/editor/tests/envelope/utils.tsx | 9 ++++--
.../envelope-bus/src/envelope/EnvelopeClient.ts | 4 +++
packages/envelope/src/Envelope.ts | 4 +++
.../src/bpmn/envelope/BpmnEditorFactory.ts | 13 +++++---
.../src/bpmn/envelope/BpmnEnvelopeApiFactory.ts | 2 +-
.../envelope/vscode/VsCodeBpmnEditorFactory.ts | 11 +++++--
.../src/common/GwtEditorWrapperFactory.ts | 9 ++++--
.../src/dmn/envelope/DmnEditorFactory.ts | 6 ++--
.../src/dmn/envelope/DmnEnvelopeApiFactory.ts | 2 +-
.../dmn/envelope/vscode/VsCodeDmnEditorFactory.ts | 7 +++--
.../src/scesim/envelope/SceSimEditorFactory.ts | 8 +++--
.../scesim/envelope/SceSimEnvelopeApiFactory.ts | 2 +-
.../tests/GwtEditorWrapperFactory.test.ts | 1 +
.../pmml-editor/src/editor/PMMLEditorFactory.ts | 5 +--
.../pmml-editor/src/editor/PMMLEditorInterface.tsx | 11 +++++--
.../tests/editor/PMMLEditorFactory.test.ts | 4 ++-
.../tests/editor/PMMLEditorInterface.test.ts | 9 ++++--
.../src/TestScenarioEditorEnvelopeApiFactory.ts | 2 +-
.../src/TestScenarioEditorFactory.tsx | 11 ++++---
.../editor/ServerlessWorkflowCombinedEditor.tsx | 11 +++++--
.../ServerlessWorkflowCombinedEditorFactory.ts | 10 ++++--
.../ServerlessWorkflowCombinedEditorView.tsx | 11 +++++--
...verlessWorkflowCombinedEditorEnvelopeApiImpl.ts | 11 +++++--
.../src/api/DiagramService.ts | 6 +++-
...rverlessWorkflowDiagramEditorEnvelopeApiImpl.ts | 8 +++--
.../ServerlessWorkflowDiagramEditorFactory.ts | 18 +++++++++--
...VsCodeServerlessWorkflowDiagramEditorFactory.ts | 18 +++++++++--
.../editor/ServerlessWorkflowTextEditorFactory.ts | 9 ++++--
.../editor/ServerlessWorkflowTextEditorView.tsx | 11 +++++--
.../src/editor/textEditor/SwfTextEditor.tsx | 7 +++--
.../ServerlessWorkflowTextEditorEnvelopeApiImpl.ts | 8 +++--
.../text-editor/src/editor/TextEditorFactory.ts | 8 +++--
packages/text-editor/src/editor/TextEditorView.tsx | 3 +-
.../text-editor/src/editor/monaco/MonacoEditor.tsx | 9 ++++--
.../yard-editor/src/editor/YardEditorFactory.ts | 9 ++++--
packages/yard-editor/src/editor/YardEditorView.tsx | 4 +--
.../src/impl/YardEditorEnvelopeApiImpl.ts | 4 +--
.../yard-editor/src/textEditor/YardTextEditor.tsx | 4 +--
63 files changed, 344 insertions(+), 119 deletions(-)
diff --git
a/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.tsx
b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.tsx
index 66c5d721237..8da8414673c 100644
---
a/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.tsx
+++
b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditor.tsx
@@ -19,7 +19,7 @@
import * as React from "react";
import { useCallback, useEffect, useImperativeHandle, useMemo, useRef,
useState } from "react";
-import { EditorApi, KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
+import { EditorApi, KogitoEditorEnvelopeApi, KogitoEditorEnvelopeContextType }
from "@kie-tools-core/editor/dist/api";
import { EmptyState, EmptyStateIcon } from
"@patternfly/react-core/dist/js/components/EmptyState";
import { Nav, NavItem, NavList } from
"@patternfly/react-core/dist/js/components/Nav";
import { Page } from "@patternfly/react-core/dist/js/components/Page";
@@ -41,7 +41,7 @@ const INITIAL_INVERT = "0";
* envelopeContext All the features and information provided by the Apache KIE
Tools Envelope.
*/
interface Props {
- envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>;
+ envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>;
}
/**
diff --git
a/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorFactory.ts
b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorFactory.ts
index 92b84dfe6fd..7d80899dd3e 100644
---
a/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorFactory.ts
+++
b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorFactory.ts
@@ -21,6 +21,7 @@ import {
EditorFactory,
EditorInitArgs,
KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { Base64PngEditorInterface } from "./Base64PngEditorInterface";
@@ -29,13 +30,15 @@ import { Base64PngEditorInterface } from
"./Base64PngEditorInterface";
* Factory to be used by the Envelope to create a Base64 PNG Editor, It
implements an EditorFactory.
* It tells which extension the Editor supports and how to create a new Editor
*/
-export class Base64PngEditorFactory implements
EditorFactory<Base64PngEditorInterface, KogitoEditorChannelApi> {
+export class Base64PngEditorFactory
+ implements EditorFactory<Base64PngEditorInterface, KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>
+{
public supports(fileExtension: string) {
return fileExtension === "base64png";
}
public createEditor(
- envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
initArgs: EditorInitArgs
) {
return Promise.resolve(new Base64PngEditorInterface(envelopeContext,
initArgs));
diff --git
a/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorInterface.tsx
b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorInterface.tsx
index 49f8a3586d9..4fbdaa318e7 100644
---
a/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorInterface.tsx
+++
b/examples/micro-frontends-multiplying-architecture-base64png-editor/src/Base64PngEditorInterface.tsx
@@ -24,6 +24,7 @@ import {
EditorInitArgs,
EditorTheme,
KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { Notification } from "@kie-tools-core/notifications/dist/api";
@@ -59,7 +60,7 @@ export class Base64PngEditorInterface implements Editor {
public af_componentTitle: "Base64 PNG Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
private readonly initArgs: EditorInitArgs
) {
this.editorRef = React.createRef<EditorApi>();
diff --git
a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md
b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md
index 6d884eff7be..1d45351bef1 100644
---
a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md
+++
b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/README.md
@@ -17,7 +17,7 @@
# Example :: Micro-frontends Multiplying Architecture :: 'To do' List View on
webapp
-This package contains a web application that features a 'To do' List View, a
simple component wrapped inside an Envelope with a simple API for manging 'To
do' items. It also features a very simple demo of Multiplying Architecture's
Shared Value.
+This package contains a web application that features a 'To do' List View, a
simple component wrapped inside an Envelope with a simple API for manging 'To
do' items. It also features a very simple demo of Multiplying Architecture's
Shared value.
### Building the dependencies
diff --git
a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewPage.tsx
b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewPage.tsx
index 37415e9ebdc..cbe48dc841b 100644
---
a/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewPage.tsx
+++
b/examples/micro-frontends-multiplying-architecture-todo-list-view-on-webapp/src/TodoListViewPage.tsx
@@ -24,11 +24,12 @@ import {
EmbeddedTodoListRef,
} from
"@kie-tools-examples/micro-frontends-multiplying-architecture-todo-list-view/dist/embedded";
import { Brand } from "@patternfly/react-core/dist/js/components/Brand";
+import { Divider } from "@patternfly/react-core/dist/js/components/Divider";
import { Stack, StackItem } from
"@patternfly/react-core/dist/js/layouts/Stack";
import { Page, PageHeader, PageSection } from
"@patternfly/react-core/dist/js/components/Page";
import { Button, ButtonVariant } from
"@patternfly/react-core/dist/js/components/Button/Button";
-import { useStateAsSharedValue } from
"@kie-tools-core/envelope-bus/dist/hooks";
+import { useSharedValue, useStateAsSharedValue } from
"@kie-tools-core/envelope-bus/dist/hooks";
export function TodoListViewPage() {
const embeddedTodoListRef = useRef<EmbeddedTodoListRef>(null);
@@ -55,6 +56,10 @@ export function TodoListViewPage() {
embeddedTodoListRef.current?.envelopeServer.shared.todoList__potentialNewItem
);
+ const [itemsCount, _] = useSharedValue(
+
embeddedTodoListRef.current?.envelopeServer.envelopeApi.shared.todoList__itemsCount
+ );
+
const apiImpl = useMemo(() => {
return {
todoList__itemRemoved: handleItemRemoved,
@@ -84,6 +89,12 @@ export function TodoListViewPage() {
Mark all as completed
</Button>
</StackItem>
+
+ <Divider />
+
+ <StackItem>
+ <span># of items: {itemsCount}</span>
+ </StackItem>
</Stack>
}
>
diff --git
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListEnvelopeApi.ts
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListEnvelopeApi.ts
index 52cc67bff15..5b27a94d1a3 100644
---
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListEnvelopeApi.ts
+++
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/api/TodoListEnvelopeApi.ts
@@ -17,6 +17,8 @@
* under the License.
*/
+import { SharedValueProvider } from "@kie-tools-core/envelope-bus/dist/api";
+
/**
* Methods provided by the Envelope that can be consumed by the Channel.
*/
@@ -25,6 +27,7 @@ export interface TodoListEnvelopeApi {
todoList__addItem(item: string): Promise<void>;
todoList__getItems(): Promise<Item[]>;
todoList__markAllAsCompleted(): void;
+ todoList__itemsCount(): SharedValueProvider<number>;
}
export interface Association {
diff --git
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelope.tsx
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelope.tsx
index 33e90043268..054ca125e8f 100644
---
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelope.tsx
+++
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelope.tsx
@@ -53,8 +53,10 @@ export function init(args: { container: HTMLElement; bus:
EnvelopeBus }) {
const envelopeViewDelegate = async () => {
const ref = React.createRef<TodoListEnvelopeViewApi>();
return new Promise<() => TodoListEnvelopeViewApi>((res) => {
- ReactDOM.render(<TodoListEnvelopeView ref={ref}
channelApi={envelope.channelApi} />, args.container, () =>
- res(() => ref.current!)
+ ReactDOM.render(
+ <TodoListEnvelopeView ref={ref} channelApi={envelope.channelApi}
shared={envelope.shared} />,
+ args.container,
+ () => res(() => ref.current!)
);
});
};
diff --git
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts
index ca03ca50082..939f53f9030 100644
---
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts
+++
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeApiImpl.ts
@@ -21,6 +21,7 @@ import { TodoListEnvelopeContext } from
"./TodoListEnvelopeContext";
import { Association, TodoListChannelApi, TodoListEnvelopeApi,
TodoListInitArgs } from "../api";
import { TodoListEnvelopeViewApi } from "./TodoListEnvelopeView";
import { EnvelopeApiFactoryArgs } from "@kie-tools-core/envelope";
+import { SharedValueProvider } from "@kie-tools-core/envelope-bus/dist/api";
/**
* Implements the TodoListEnvelopeApi.
@@ -74,4 +75,13 @@ export class TodoListEnvelopeApiImpl implements
TodoListEnvelopeApi {
public todoList__markAllAsCompleted() {
this.view().markAllAsCompleted();
}
+
+ /**
+ * Holds the current count of items in the list
+ */
+ public todoList__itemsCount(): SharedValueProvider<number> {
+ return {
+ defaultValue: 0,
+ };
+ }
}
diff --git
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeView.tsx
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeView.tsx
index 172d5267a8a..b8a80d4681d 100644
---
a/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeView.tsx
+++
b/examples/micro-frontends-multiplying-architecture-todo-list-view/src/envelope/TodoListEnvelopeView.tsx
@@ -17,10 +17,10 @@
* under the License.
*/
-import { MessageBusClientApi } from "@kie-tools-core/envelope-bus/dist/api";
+import { ApiSharedValueConsumers, MessageBusClientApi } from
"@kie-tools-core/envelope-bus/dist/api";
import * as React from "react";
-import { useCallback, useImperativeHandle, useMemo, useState } from "react";
-import { Item, TodoListChannelApi } from "../api";
+import { useCallback, useEffect, useImperativeHandle, useMemo, useState } from
"react";
+import { Item, TodoListChannelApi, TodoListEnvelopeApi } from "../api";
import "./styles.scss";
import { useSharedValue } from "@kie-tools-core/envelope-bus/dist/hooks";
@@ -33,6 +33,7 @@ export interface TodoListEnvelopeViewApi {
interface Props {
channelApi: MessageBusClientApi<TodoListChannelApi>;
+ shared: ApiSharedValueConsumers<TodoListEnvelopeApi>;
}
/**
@@ -88,8 +89,37 @@ export const TodoListEnvelopeView =
React.forwardRef<TodoListEnvelopeViewApi, Pr
[items]
);
+ // State that is updated whenever the Channel changes the `potentialNewItem`
Shared value.
+ // Making the Envelope able to react to changes done to it.
const [potentialNewItem, _] =
useSharedValue(props.channelApi.shared.todoList__potentialNewItem);
+ // Keeps the `itemsCount` Shared value current.
+ useEffect(() => {
+ props.shared.todoList__itemsCount.set(items.length);
+ }, [items.length, props.shared.todoList__itemsCount]);
+
+ // Handles set operations to `itemsCount` that do not match items.length.
+ // As a Channel also has write access to a Shared value, there no way to
tell if an
+ // invalid attempt to change this directly will be done, so we need to
handle it properly.
+ useEffect(() => {
+ if (!props.shared.todoList__itemsCount) {
+ return;
+ }
+
+ const itemsCountSubs =
props.shared.todoList__itemsCount.subscribe((newItemsCount) => {
+ if (newItemsCount !== items.length) {
+ console.log("Rejecting operation on `itemsCount` Shared value because
it doesn't match the actual value.");
+ props.shared.todoList__itemsCount.set(items.length); // Reverts
whatever value was set.
+ } else {
+ // Ignore, itemsCount matches actual value.
+ }
+ });
+
+ return () => {
+ props.shared.todoList__itemsCount.unsubscribe(itemsCountSubs);
+ };
+ }, [items.length, props.shared.todoList__itemsCount]);
+
return (
<>
{user && (
diff --git a/package.json b/package.json
index 10dab0172d6..240cb3b181b 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"on-affected": "pnpm -F '...[HEAD]'",
"on-affected-only": "pnpm -F '...^[HEAD]'",
"on-changed": "pnpm -F '[HEAD]'",
- "on-changed-deps-only": "pnpm -F '[HEAD]^...'",
+ "on-changed-deps-only": "pnpm -F '[HEAD]^...' -F '![HEAD]'",
"prepare": "husky install",
"update-kogito-version-to": "kie-tools--update-kogito-version-to",
"update-stream-name-to": "kie-tools--update-stream-name-to",
diff --git a/packages/dashbuilder-editor/src/editor/DashbuilderEditorFactory.ts
b/packages/dashbuilder-editor/src/editor/DashbuilderEditorFactory.ts
index c969cc2299f..3eb2f300ba7 100644
--- a/packages/dashbuilder-editor/src/editor/DashbuilderEditorFactory.ts
+++ b/packages/dashbuilder-editor/src/editor/DashbuilderEditorFactory.ts
@@ -25,10 +25,13 @@ import {
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { DashbuilderEditorChannelApi as DashbuilderEditorChannelApi } from
"../api/DashbuilderEditorChannelApi";
+import { DashbuilderEditorEnvelopeApi } from "../api";
-export class DashbuilderEditorFactory implements EditorFactory<Editor,
DashbuilderEditorChannelApi> {
+export class DashbuilderEditorFactory
+ implements EditorFactory<Editor, DashbuilderEditorEnvelopeApi,
DashbuilderEditorChannelApi>
+{
public async createEditor(
- ctx: KogitoEditorEnvelopeContextType<DashbuilderEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<DashbuilderEditorEnvelopeApi,
DashbuilderEditorChannelApi>,
initArgs: EditorInitArgs
) {
return new DashbuilderEditorView(ctx, initArgs);
diff --git a/packages/dashbuilder-editor/src/editor/DashbuilderEditorView.tsx
b/packages/dashbuilder-editor/src/editor/DashbuilderEditorView.tsx
index 9ed8d7c7a5f..346c48d9de3 100644
--- a/packages/dashbuilder-editor/src/editor/DashbuilderEditorView.tsx
+++ b/packages/dashbuilder-editor/src/editor/DashbuilderEditorView.tsx
@@ -23,6 +23,7 @@ import { DashbuilderEditor } from "./DashbuilderEditor";
import { DashbuilderEditorChannelApi } from
"../api/DashbuilderEditorChannelApi";
import { DashbuilderEditorApi } from "../api/DashbuilderEditorApi";
import { Position } from "monaco-editor";
+import { DashbuilderEditorEnvelopeApi } from "../api";
export class DashbuilderEditorView implements DashbuilderEditorApi {
private readonly editorRef: React.RefObject<DashbuilderEditorApi>;
@@ -31,7 +32,10 @@ export class DashbuilderEditorView implements
DashbuilderEditorApi {
public af_componentTitle: "Dashbuilder Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<DashbuilderEditorChannelApi>,
+ private readonly envelopeContext: KogitoEditorEnvelopeContextType<
+ DashbuilderEditorEnvelopeApi,
+ DashbuilderEditorChannelApi
+ >,
private readonly initArgs: EditorInitArgs
) {
this.editorRef = React.createRef<DashbuilderEditorApi>();
diff --git
a/packages/dashbuilder-editor/src/impl/DashbuilderEditorEnvelopeApiImpl.ts
b/packages/dashbuilder-editor/src/impl/DashbuilderEditorEnvelopeApiImpl.ts
index 3260e98b2d9..8fa982bd384 100644
--- a/packages/dashbuilder-editor/src/impl/DashbuilderEditorEnvelopeApiImpl.ts
+++ b/packages/dashbuilder-editor/src/impl/DashbuilderEditorEnvelopeApiImpl.ts
@@ -28,7 +28,7 @@ export type DashbuilderEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
DashbuilderEditorEnvelopeApi,
DashbuilderEditorChannelApi,
EditorEnvelopeViewApi<DashbuilderEditorApi>,
- KogitoEditorEnvelopeContextType<DashbuilderEditorChannelApi>
+ KogitoEditorEnvelopeContextType<DashbuilderEditorEnvelopeApi,
DashbuilderEditorChannelApi>
>;
export class DashbuilderEditorEnvelopeApiImpl
@@ -37,7 +37,7 @@ export class DashbuilderEditorEnvelopeApiImpl
{
constructor(
private readonly factoryArgs: DashbuilderEnvelopeApiFactoryArgs,
- editorFactory: EditorFactory<DashbuilderEditorApi,
DashbuilderEditorChannelApi>
+ editorFactory: EditorFactory<DashbuilderEditorApi,
DashbuilderEditorEnvelopeApi, DashbuilderEditorChannelApi>
) {
super(factoryArgs, editorFactory);
}
diff --git a/packages/dashbuilder-editor/src/monaco/DashbuilderMonacoEditor.tsx
b/packages/dashbuilder-editor/src/monaco/DashbuilderMonacoEditor.tsx
index cf68409acd3..c1551b08161 100644
--- a/packages/dashbuilder-editor/src/monaco/DashbuilderMonacoEditor.tsx
+++ b/packages/dashbuilder-editor/src/monaco/DashbuilderMonacoEditor.tsx
@@ -26,6 +26,7 @@ import { EditorTheme } from
"@kie-tools-core/editor/dist/api/EditorTheme";
import { initCodeLenses } from "./augmentation/codeLenses";
import { initAugmentationCommands } from "./augmentation/commands";
import { initCompletion } from "./augmentation/completion";
+import { DashbuilderEditorEnvelopeApi } from "../api";
interface Props {
content: string;
@@ -39,7 +40,7 @@ const RefForwardingDashbuilderMonacoEditor:
React.ForwardRefRenderFunction<
Props
> = ({ content, fileName, onContentChange, channelType }, forwardedRef) => {
const container = useRef<HTMLDivElement>(null);
- const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<DashbuilderEditorChannelApi>();
+ const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<DashbuilderEditorEnvelopeApi,
DashbuilderEditorChannelApi>();
const theme = EditorTheme.LIGHT;
const controller: DashbuilderMonacoEditorApi =
useMemo<DashbuilderMonacoEditorApi>(
diff --git
a/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerFactory.ts
b/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerFactory.ts
index e9910e7334a..7e8e1d2437c 100644
--- a/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerFactory.ts
+++ b/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerFactory.ts
@@ -22,14 +22,17 @@ import {
Editor,
EditorFactory,
EditorInitArgs,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { DashbuilderViewerChannelApi } from "./DashbuilderViewerChannelApi";
import { getDashbuilderLanguageData, Resource } from
"../api/DashbuilderLanguageData";
-export class DashbuilderViewerFactory implements EditorFactory<Editor,
DashbuilderViewerChannelApi> {
+export class DashbuilderViewerFactory
+ implements EditorFactory<Editor, KogitoEditorEnvelopeApi,
DashbuilderViewerChannelApi>
+{
public async createEditor(
- ctx: KogitoEditorEnvelopeContextType<DashbuilderViewerChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
DashbuilderViewerChannelApi>,
initArgs: EditorInitArgs
) {
appendLoaderContainer();
diff --git a/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerView.tsx
b/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerView.tsx
index 960fb011855..6f3063e94a0 100644
--- a/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerView.tsx
+++ b/packages/dashbuilder-viewer/src/envelope/DashbuilderViewerView.tsx
@@ -22,6 +22,7 @@ import {
EditorApi,
EditorInitArgs,
EditorTheme,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { Notification } from "@kie-tools-core/notifications/dist/api";
@@ -36,7 +37,10 @@ export class DashbuilderViewerView implements Editor {
public af_componentTitle: "Dashbuilder Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<DashbuilderViewerChannelApi>,
+ private readonly envelopeContext: KogitoEditorEnvelopeContextType<
+ KogitoEditorEnvelopeApi,
+ DashbuilderViewerChannelApi
+ >,
private readonly initArgs: EditorInitArgs
) {
this.editorRef = React.createRef<EditorApi>();
diff --git a/packages/dmn-editor-envelope/src/DmnEditorEnvelopeApiFactory.ts
b/packages/dmn-editor-envelope/src/DmnEditorEnvelopeApiFactory.ts
index 572f25ab196..48a4e9b4f48 100644
--- a/packages/dmn-editor-envelope/src/DmnEditorEnvelopeApiFactory.ts
+++ b/packages/dmn-editor-envelope/src/DmnEditorEnvelopeApiFactory.ts
@@ -31,7 +31,7 @@ export type DmnEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
KogitoEditorEnvelopeApi,
KogitoEditorChannelApi,
EditorEnvelopeViewApi<Editor>,
- KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>
+ KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>
>;
export class DmnEditorEnvelopeApiImpl
diff --git a/packages/dmn-editor-envelope/src/DmnEditorFactory.tsx
b/packages/dmn-editor-envelope/src/DmnEditorFactory.tsx
index ca44d6f5bcb..c89de8179f9 100644
--- a/packages/dmn-editor-envelope/src/DmnEditorFactory.tsx
+++ b/packages/dmn-editor-envelope/src/DmnEditorFactory.tsx
@@ -26,15 +26,16 @@ import {
KogitoEditorChannelApi,
EditorTheme,
DEFAULT_WORKSPACE_ROOT_ABSOLUTE_POSIX_PATH,
+ KogitoEditorEnvelopeApi,
} from "@kie-tools-core/editor/dist/api";
import { Notification } from "@kie-tools-core/notifications/dist/api";
import { DmnEditorRoot } from "./DmnEditorRoot";
import { ResourceContent, ResourcesList, WorkspaceEdit } from
"@kie-tools-core/workspace/dist/api";
import { useCallback } from "react";
-export class DmnEditorFactory implements EditorFactory<Editor,
KogitoEditorChannelApi> {
+export class DmnEditorFactory implements EditorFactory<Editor,
KogitoEditorEnvelopeApi, KogitoEditorChannelApi> {
public createEditor(
- envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<Editor> {
return Promise.resolve(new DmnEditorInterface(envelopeContext, initArgs));
@@ -48,7 +49,7 @@ export class DmnEditorInterface implements Editor {
public af_componentTitle: "DMN Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
private readonly initArgs: EditorInitArgs
) {}
@@ -106,7 +107,7 @@ function DmnEditorRootWrapper({
workspaceRootAbsolutePosixPath,
isReadOnly,
}: {
- envelopeContext?: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>;
+ envelopeContext?: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>;
exposing: (s: DmnEditorRoot) => void;
workspaceRootAbsolutePosixPath: string;
isReadOnly: boolean;
diff --git a/packages/dmn-editor-envelope/src/NewDmnEditorEnvelopeApiFactory.ts
b/packages/dmn-editor-envelope/src/NewDmnEditorEnvelopeApiFactory.ts
index 8c58c9dbdcf..b8772e3d58a 100644
--- a/packages/dmn-editor-envelope/src/NewDmnEditorEnvelopeApiFactory.ts
+++ b/packages/dmn-editor-envelope/src/NewDmnEditorEnvelopeApiFactory.ts
@@ -29,7 +29,7 @@ export type NewDmnEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
NewDmnEditorEnvelopeApi,
NewDmnEditorChannelApi,
EditorEnvelopeViewApi<NewDmnEditorInterface>,
- KogitoEditorEnvelopeContextType<NewDmnEditorChannelApi>
+ KogitoEditorEnvelopeContextType<NewDmnEditorEnvelopeApi,
NewDmnEditorChannelApi>
>;
export class NewDmnEditorEnvelopeApiImpl
diff --git a/packages/dmn-editor-envelope/src/NewDmnEditorFactory.tsx
b/packages/dmn-editor-envelope/src/NewDmnEditorFactory.tsx
index ca94144d6c6..80dcfb511b4 100644
--- a/packages/dmn-editor-envelope/src/NewDmnEditorFactory.tsx
+++ b/packages/dmn-editor-envelope/src/NewDmnEditorFactory.tsx
@@ -21,10 +21,13 @@ import * as React from "react";
import { EditorFactory, EditorInitArgs, KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
import { NewDmnEditorChannelApi } from "./NewDmnEditorChannelApi";
import { DmnEditorInterface } from "./DmnEditorFactory";
+import { NewDmnEditorEnvelopeApi } from "./NewDmnEditorEnvelopeApi";
-export class NewDmnEditorFactory implements
EditorFactory<NewDmnEditorInterface, NewDmnEditorChannelApi> {
+export class NewDmnEditorFactory
+ implements EditorFactory<NewDmnEditorInterface, NewDmnEditorEnvelopeApi,
NewDmnEditorChannelApi>
+{
public createEditor(
- envelopeContext: KogitoEditorEnvelopeContextType<NewDmnEditorChannelApi>,
+ envelopeContext: KogitoEditorEnvelopeContextType<NewDmnEditorEnvelopeApi,
NewDmnEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<NewDmnEditorInterface> {
return Promise.resolve(new NewDmnEditorInterface(envelopeContext,
initArgs));
diff --git a/packages/editor/src/api/EditorFactory.ts
b/packages/editor/src/api/EditorFactory.ts
index e0528b27674..1d3e262871a 100644
--- a/packages/editor/src/api/EditorFactory.ts
+++ b/packages/editor/src/api/EditorFactory.ts
@@ -17,7 +17,7 @@
* under the License.
*/
-import { EditorInitArgs } from "./KogitoEditorEnvelopeApi";
+import { EditorInitArgs, KogitoEditorEnvelopeApi } from
"./KogitoEditorEnvelopeApi";
import { Editor } from "./Editor";
import { KogitoEditorEnvelopeContextType } from
"./KogitoEditorEnvelopeContext";
import { ApiDefinition } from "@kie-tools-core/envelope-bus/dist/api";
@@ -28,6 +28,7 @@ import { KogitoEditorChannelApi } from
"./KogitoEditorChannelApi";
*/
export interface EditorFactory<
E extends Editor,
+ EnvelopeApi extends KogitoEditorEnvelopeApi & ApiDefinition<EnvelopeApi>,
ChannelApi extends KogitoEditorChannelApi & ApiDefinition<ChannelApi>,
> {
/**
@@ -35,5 +36,8 @@ export interface EditorFactory<
* @param envelopeContext The context to be used by Editor implementation.
* @param initArgs Initial arguments required for the Editor to initialize
itself properly.
*/
- createEditor(envelopeContext: KogitoEditorEnvelopeContextType<ChannelApi>,
initArgs: EditorInitArgs): Promise<E>;
+ createEditor(
+ envelopeContext: KogitoEditorEnvelopeContextType<EnvelopeApi, ChannelApi>,
+ initArgs: EditorInitArgs
+ ): Promise<E>;
}
diff --git a/packages/editor/src/api/KogitoEditorEnvelopeContext.ts
b/packages/editor/src/api/KogitoEditorEnvelopeContext.ts
index 481486ff6d5..a80d55480ae 100644
--- a/packages/editor/src/api/KogitoEditorEnvelopeContext.ts
+++ b/packages/editor/src/api/KogitoEditorEnvelopeContext.ts
@@ -19,16 +19,19 @@
import * as React from "react";
import { useContext } from "react";
-import { ApiDefinition, MessageBusClientApi } from
"@kie-tools-core/envelope-bus/dist/api";
+import { ApiDefinition, ApiSharedValueConsumers, MessageBusClientApi } from
"@kie-tools-core/envelope-bus/dist/api";
import { KogitoEditorChannelApi } from "./KogitoEditorChannelApi";
import { I18nService } from "@kie-tools-core/i18n/dist/envelope";
import { OperatingSystem } from "@kie-tools-core/operating-system";
import { KeyboardShortcutsService } from
"@kie-tools-core/keyboard-shortcuts/dist/envelope/KeyboardShortcutsService";
import { EditorTheme } from "./EditorTheme";
+import { KogitoEditorEnvelopeApi } from "./KogitoEditorEnvelopeApi";
export interface KogitoEditorEnvelopeContextType<
+ EnvelopeApi extends KogitoEditorEnvelopeApi & ApiDefinition<EnvelopeApi>,
ChannelApi extends KogitoEditorChannelApi & ApiDefinition<ChannelApi>,
> {
+ shared: ApiSharedValueConsumers<EnvelopeApi>;
channelApi: MessageBusClientApi<ChannelApi>;
operatingSystem?: OperatingSystem;
services: {
@@ -38,10 +41,11 @@ export interface KogitoEditorEnvelopeContextType<
supportedThemes: EditorTheme[];
}
-export const KogitoEditorEnvelopeContext =
React.createContext<KogitoEditorEnvelopeContextType<any>>({} as any);
+export const KogitoEditorEnvelopeContext =
React.createContext<KogitoEditorEnvelopeContextType<any, any>>({} as any);
export function useKogitoEditorEnvelopeContext<
+ EnvelopeApi extends KogitoEditorEnvelopeApi & ApiDefinition<EnvelopeApi> =
KogitoEditorEnvelopeApi,
ChannelApi extends KogitoEditorChannelApi & ApiDefinition<ChannelApi> =
KogitoEditorChannelApi,
>() {
- return useContext(KogitoEditorEnvelopeContext) as
KogitoEditorEnvelopeContextType<ChannelApi>;
+ return useContext(KogitoEditorEnvelopeContext) as
KogitoEditorEnvelopeContextType<EnvelopeApi, ChannelApi>;
}
diff --git a/packages/editor/src/envelope/KogitoEditorEnvelope.tsx
b/packages/editor/src/envelope/KogitoEditorEnvelope.tsx
index e14fcc0f680..4e91daa001b 100644
--- a/packages/editor/src/envelope/KogitoEditorEnvelope.tsx
+++ b/packages/editor/src/envelope/KogitoEditorEnvelope.tsx
@@ -45,7 +45,7 @@ export class KogitoEditorEnvelope<
EnvelopeApi,
ChannelApi,
EditorEnvelopeViewApi<E>,
- KogitoEditorEnvelopeContextType<ChannelApi>
+ KogitoEditorEnvelopeContextType<EnvelopeApi, ChannelApi>
>,
private readonly keyboardShortcutsService: KeyboardShortcutsService,
private readonly i18nService: I18nService,
@@ -53,9 +53,10 @@ export class KogitoEditorEnvelope<
EnvelopeApi,
ChannelApi,
EditorEnvelopeViewApi<E>,
- KogitoEditorEnvelopeContextType<ChannelApi>
+ KogitoEditorEnvelopeContextType<EnvelopeApi, ChannelApi>
>,
- private readonly context: KogitoEditorEnvelopeContextType<ChannelApi> = {
+ private readonly context: KogitoEditorEnvelopeContextType<EnvelopeApi,
ChannelApi> = {
+ shared: envelope.shared,
channelApi: envelope.channelApi,
operatingSystem: getOperatingSystem(),
services: {
diff --git a/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts
b/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts
index 3af26fd882f..3a637be01ee 100644
--- a/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts
+++ b/packages/editor/src/envelope/KogitoEditorEnvelopeApiImpl.ts
@@ -53,9 +53,9 @@ export class KogitoEditorEnvelopeApiImpl<
EnvelopeApi,
ChannelApi,
EditorEnvelopeViewApi<E>,
- KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>
+ KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>
>,
- private readonly editorFactory: EditorFactory<E, KogitoEditorChannelApi>,
+ private readonly editorFactory: EditorFactory<E, KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
private readonly i18n: I18n<EditorEnvelopeI18n> = new
I18n<EditorEnvelopeI18n>(
editorEnvelopeI18nDefaults,
editorEnvelopeI18nDictionaries
diff --git a/packages/editor/src/envelope/index.ts
b/packages/editor/src/envelope/index.ts
index 728af9b5fd3..948919d20b4 100644
--- a/packages/editor/src/envelope/index.ts
+++ b/packages/editor/src/envelope/index.ts
@@ -45,7 +45,7 @@ import { KeyboardShortcutsService } from
"@kie-tools-core/keyboard-shortcuts/dis
export function init(args: {
container: HTMLElement;
bus: EnvelopeBus;
- editorFactory: EditorFactory<Editor, KogitoEditorChannelApi>;
+ editorFactory: EditorFactory<Editor, KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>;
keyboardShortcutsService?: KeyboardShortcutsService;
}) {
initCustom({
@@ -69,7 +69,7 @@ export function initCustom<
EnvelopeApi,
ChannelApi,
EditorEnvelopeViewApi<E>,
- KogitoEditorEnvelopeContextType<ChannelApi>
+ KogitoEditorEnvelopeContextType<EnvelopeApi, ChannelApi>
>;
keyboardShortcutsService?: KeyboardShortcutsService;
}) {
@@ -80,7 +80,7 @@ export function initCustom<
EnvelopeApi,
ChannelApi,
EditorEnvelopeViewApi<E>,
- KogitoEditorEnvelopeContextType<ChannelApi>
+ KogitoEditorEnvelopeContextType<EnvelopeApi, ChannelApi>
>(args.bus);
return new KogitoEditorEnvelope(args.apiImplFactory,
keyboardShortcutsService, i18nService, envelope).start(
diff --git a/packages/editor/tests/envelope/utils.tsx
b/packages/editor/tests/envelope/utils.tsx
index ba0689ba4b4..f0d34c2eea2 100644
--- a/packages/editor/tests/envelope/utils.tsx
+++ b/packages/editor/tests/envelope/utils.tsx
@@ -20,6 +20,7 @@
import {
ChannelType,
KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContext,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
@@ -34,7 +35,11 @@ import {
editorEnvelopeI18nDictionaries,
} from "@kie-tools-core/editor/dist/envelope/i18n";
-export const DEFAULT_TESTING_ENVELOPE_CONTEXT:
KogitoEditorEnvelopeContextType<KogitoEditorChannelApi> = {
+export const DEFAULT_TESTING_ENVELOPE_CONTEXT: KogitoEditorEnvelopeContextType<
+ KogitoEditorEnvelopeApi,
+ KogitoEditorChannelApi
+> = {
+ shared: {} as any,
channelApi: {} as any,
services: {
keyboardShortcuts: new DefaultKeyboardShortcutsService({} as any),
@@ -45,7 +50,7 @@ export const DEFAULT_TESTING_ENVELOPE_CONTEXT:
KogitoEditorEnvelopeContextType<K
export function usingEnvelopeContext(
children: React.ReactElement,
- ctx?: Partial<KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>>
+ ctx?: Partial<KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>>
) {
const usedCtx = { ...DEFAULT_TESTING_ENVELOPE_CONTEXT, ...ctx };
return {
diff --git a/packages/envelope-bus/src/envelope/EnvelopeClient.ts
b/packages/envelope-bus/src/envelope/EnvelopeClient.ts
index e25baf6f25d..c4fcea8124c 100644
--- a/packages/envelope-bus/src/envelope/EnvelopeClient.ts
+++ b/packages/envelope-bus/src/envelope/EnvelopeClient.ts
@@ -40,6 +40,10 @@ export class EnvelopeClient<
return this.manager.clientApi;
}
+ public get shared() {
+ return this.manager.shared;
+ }
+
constructor(
private readonly bus: EnvelopeBus,
private readonly envelopeId?: string
diff --git a/packages/envelope/src/Envelope.ts
b/packages/envelope/src/Envelope.ts
index b27d0fe572b..09b8a4047b8 100644
--- a/packages/envelope/src/Envelope.ts
+++ b/packages/envelope/src/Envelope.ts
@@ -50,6 +50,10 @@ export class Envelope<
return this.envelopeClient.channelApi;
}
+ public get shared() {
+ return this.envelopeClient.shared;
+ }
+
public async start(
viewDelegate: () => Promise<() => ViewType>,
envelopeContext: ContextType,
diff --git a/packages/kie-bc-editors/src/bpmn/envelope/BpmnEditorFactory.ts
b/packages/kie-bc-editors/src/bpmn/envelope/BpmnEditorFactory.ts
index 631e66def69..076a9240532 100644
--- a/packages/kie-bc-editors/src/bpmn/envelope/BpmnEditorFactory.ts
+++ b/packages/kie-bc-editors/src/bpmn/envelope/BpmnEditorFactory.ts
@@ -18,8 +18,13 @@
*/
import { GwtEditorWrapperFactory, XmlFormatter } from "../../common";
-import { BpmnEditorChannelApi, getBpmnLanguageData } from "../api";
-import { EditorFactory, EditorInitArgs, KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
+import { BpmnEditorChannelApi, BpmnEditorEnvelopeApi, getBpmnLanguageData }
from "../api";
+import {
+ EditorFactory,
+ EditorInitArgs,
+ KogitoEditorEnvelopeApi,
+ KogitoEditorEnvelopeContextType,
+} from "@kie-tools-core/editor/dist/api";
import { BpmnEditor, BpmnEditorImpl } from "./BpmnEditor";
import { DmnLanguageServiceExposedInteropApi } from
"./exposedInteropApi/DmnLanguageServiceExposedInteropApi";
import { DmnLanguageService } from "@kie-tools/dmn-language-service";
@@ -32,11 +37,11 @@ export interface CustomWindow extends Window {
declare let window: CustomWindow;
-export class BpmnEditorFactory implements EditorFactory<BpmnEditor,
BpmnEditorChannelApi> {
+export class BpmnEditorFactory implements EditorFactory<BpmnEditor,
BpmnEditorEnvelopeApi, BpmnEditorChannelApi> {
constructor(private readonly gwtEditorEnvelopeConfig: {
shouldLoadResourcesDynamically: boolean }) {}
public async createEditor(
- ctx: KogitoEditorEnvelopeContextType<BpmnEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
BpmnEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<BpmnEditor> {
const dmnLs = new DmnLanguageService({
diff --git
a/packages/kie-bc-editors/src/bpmn/envelope/BpmnEnvelopeApiFactory.ts
b/packages/kie-bc-editors/src/bpmn/envelope/BpmnEnvelopeApiFactory.ts
index eede7cf4aec..ecd6a5037cd 100644
--- a/packages/kie-bc-editors/src/bpmn/envelope/BpmnEnvelopeApiFactory.ts
+++ b/packages/kie-bc-editors/src/bpmn/envelope/BpmnEnvelopeApiFactory.ts
@@ -28,7 +28,7 @@ export type BpmnEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
BpmnEditorEnvelopeApi,
BpmnEditorChannelApi,
EditorEnvelopeViewApi<BpmnEditor>,
- KogitoEditorEnvelopeContextType<BpmnEditorChannelApi>
+ KogitoEditorEnvelopeContextType<BpmnEditorEnvelopeApi, BpmnEditorChannelApi>
>;
export class BpmnEditorEnvelopeApiImpl
diff --git
a/packages/kie-bc-editors/src/bpmn/envelope/vscode/VsCodeBpmnEditorFactory.ts
b/packages/kie-bc-editors/src/bpmn/envelope/vscode/VsCodeBpmnEditorFactory.ts
index 67a81508b78..551e40de2ef 100644
---
a/packages/kie-bc-editors/src/bpmn/envelope/vscode/VsCodeBpmnEditorFactory.ts
+++
b/packages/kie-bc-editors/src/bpmn/envelope/vscode/VsCodeBpmnEditorFactory.ts
@@ -22,6 +22,7 @@ import { BpmnEditor } from "../BpmnEditor";
import { JavaCodeCompletionApi } from
"@kie-tools-core/vscode-java-code-completion/dist/api";
import { BpmnEditorFactory } from "../BpmnEditorFactory";
import { VsCodeBpmnEditorChannelApi } from "./VsCodeBpmnEditorChannelApi";
+import { BpmnEditorEnvelopeApi } from "../../api";
export interface CustomWindow extends Window {
envelope: {
@@ -32,7 +33,9 @@ export interface CustomWindow extends Window {
declare let window: CustomWindow;
class JavaCodeCompletionService implements JavaCodeCompletionApi {
- constructor(private readonly envelopeContext:
KogitoEditorEnvelopeContextType<VsCodeBpmnEditorChannelApi>) {}
+ constructor(
+ private readonly envelopeContext:
KogitoEditorEnvelopeContextType<BpmnEditorEnvelopeApi,
VsCodeBpmnEditorChannelApi>
+ ) {}
getAccessors(fqcn: string, query: string) {
return
this.envelopeContext.channelApi.requests.kogitoJavaCodeCompletion__getAccessors(fqcn,
query);
}
@@ -44,11 +47,13 @@ class JavaCodeCompletionService implements
JavaCodeCompletionApi {
}
}
-export class VsCodeBpmnEditorFactory implements EditorFactory<BpmnEditor,
VsCodeBpmnEditorChannelApi> {
+export class VsCodeBpmnEditorFactory
+ implements EditorFactory<BpmnEditor, BpmnEditorEnvelopeApi,
VsCodeBpmnEditorChannelApi>
+{
constructor(private readonly gwtEditorEnvelopeConfig: {
shouldLoadResourcesDynamically: boolean }) {}
public createEditor(
- ctx: KogitoEditorEnvelopeContextType<VsCodeBpmnEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<BpmnEditorEnvelopeApi,
VsCodeBpmnEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<BpmnEditor> {
window.envelope = {
diff --git a/packages/kie-bc-editors/src/common/GwtEditorWrapperFactory.ts
b/packages/kie-bc-editors/src/common/GwtEditorWrapperFactory.ts
index eb4fd7aa8f3..02b23ef0a99 100644
--- a/packages/kie-bc-editors/src/common/GwtEditorWrapperFactory.ts
+++ b/packages/kie-bc-editors/src/common/GwtEditorWrapperFactory.ts
@@ -23,6 +23,7 @@ import {
EditorFactory,
EditorInitArgs,
KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { I18n } from "@kie-tools-core/i18n/dist/core";
@@ -60,7 +61,9 @@ export interface CustomWindow extends Window {
declare let window: CustomWindow;
-export class GwtEditorWrapperFactory<E extends GwtEditorWrapper> implements
EditorFactory<E, KogitoEditorChannelApi> {
+export class GwtEditorWrapperFactory<E extends GwtEditorWrapper>
+ implements EditorFactory<E, KogitoEditorEnvelopeApi, KogitoEditorChannelApi>
+{
constructor(
private readonly languageData: GwtLanguageData,
private readonly gwtEditorDelegate: (factory: GwtEditorWrapperFactory<E>,
initArgs: EditorInitArgs) => E,
@@ -74,7 +77,7 @@ export class GwtEditorWrapperFactory<E extends
GwtEditorWrapper> implements Edit
public gwtEditor: E;
public createEditor(
- envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
initArgs: EditorInitArgs
) {
this.kieBcEditorsI18n.setLocale(initArgs.initialLocale);
@@ -105,7 +108,7 @@ export class GwtEditorWrapperFactory<E extends
GwtEditorWrapper> implements Edit
}
private exposeEnvelopeContext(
- envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
initArgs: EditorInitArgs
) {
window.gwt = {
diff --git a/packages/kie-bc-editors/src/dmn/envelope/DmnEditorFactory.ts
b/packages/kie-bc-editors/src/dmn/envelope/DmnEditorFactory.ts
index 15f6b9dcace..b95e70425bb 100644
--- a/packages/kie-bc-editors/src/dmn/envelope/DmnEditorFactory.ts
+++ b/packages/kie-bc-editors/src/dmn/envelope/DmnEditorFactory.ts
@@ -18,7 +18,7 @@
*/
import { GwtEditorWrapperFactory, XmlFormatter } from "../../common";
-import { DmnEditorChannelApi, getDmnLanguageData } from "../api";
+import { DmnEditorChannelApi, DmnEditorEnvelopeApi, getDmnLanguageData } from
"../api";
import { EditorFactory, EditorInitArgs, KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
import { DmnEditor, DmnEditorImpl } from "./DmnEditor";
import { PmmlEditorMarshallerExposedInteropApi } from
"./exposedInteropApi/PmmlEditorMarshallerExposedInteropApi";
@@ -32,11 +32,11 @@ export interface CustomWindow extends Window {
declare let window: CustomWindow;
-export class DmnEditorFactory implements EditorFactory<DmnEditor,
DmnEditorChannelApi> {
+export class DmnEditorFactory implements EditorFactory<DmnEditor,
DmnEditorEnvelopeApi, DmnEditorChannelApi> {
constructor(private readonly gwtEditorEnvelopeConfig: {
shouldLoadResourcesDynamically: boolean }) {}
public createEditor(
- ctx: KogitoEditorEnvelopeContextType<DmnEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<DmnEditorEnvelopeApi,
DmnEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<DmnEditor> {
const exposedInteropApi: CustomWindow["envelope"] = {
diff --git a/packages/kie-bc-editors/src/dmn/envelope/DmnEnvelopeApiFactory.ts
b/packages/kie-bc-editors/src/dmn/envelope/DmnEnvelopeApiFactory.ts
index fc9e2808d8d..94b4f0663a5 100644
--- a/packages/kie-bc-editors/src/dmn/envelope/DmnEnvelopeApiFactory.ts
+++ b/packages/kie-bc-editors/src/dmn/envelope/DmnEnvelopeApiFactory.ts
@@ -28,7 +28,7 @@ export type DmnEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
DmnEditorEnvelopeApi,
DmnEditorChannelApi,
EditorEnvelopeViewApi<DmnEditor>,
- KogitoEditorEnvelopeContextType<DmnEditorChannelApi>
+ KogitoEditorEnvelopeContextType<DmnEditorEnvelopeApi, DmnEditorChannelApi>
>;
export class DmnEditorEnvelopeApiImpl
diff --git
a/packages/kie-bc-editors/src/dmn/envelope/vscode/VsCodeDmnEditorFactory.ts
b/packages/kie-bc-editors/src/dmn/envelope/vscode/VsCodeDmnEditorFactory.ts
index 02cb38a5589..126a59c183a 100644
--- a/packages/kie-bc-editors/src/dmn/envelope/vscode/VsCodeDmnEditorFactory.ts
+++ b/packages/kie-bc-editors/src/dmn/envelope/vscode/VsCodeDmnEditorFactory.ts
@@ -25,6 +25,7 @@ import {
JavaCodeCompletionAccessor,
JavaCodeCompletionClass,
} from "@kie-tools-core/vscode-java-code-completion/dist/api";
+import { DmnEditorEnvelopeApi } from "../../api";
/**
* EXPOSED INTEROP API
@@ -45,11 +46,13 @@ export interface CustomWindow extends Window {
declare let window: CustomWindow;
-export class VsCodeDmnEditorFactory implements EditorFactory<DmnEditor,
VsCodeDmnEditorChannelApi> {
+export class VsCodeDmnEditorFactory
+ implements EditorFactory<DmnEditor, DmnEditorEnvelopeApi,
VsCodeDmnEditorChannelApi>
+{
constructor(private readonly gwtEditorEnvelopeConfig: {
shouldLoadResourcesDynamically: boolean }) {}
public createEditor(
- ctx: KogitoEditorEnvelopeContextType<VsCodeDmnEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<DmnEditorEnvelopeApi,
VsCodeDmnEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<DmnEditor> {
const exposedInteropApi: CustomWindow["envelope"] = {
diff --git a/packages/kie-bc-editors/src/scesim/envelope/SceSimEditorFactory.ts
b/packages/kie-bc-editors/src/scesim/envelope/SceSimEditorFactory.ts
index d57bcbef490..3b4a8984ccc 100644
--- a/packages/kie-bc-editors/src/scesim/envelope/SceSimEditorFactory.ts
+++ b/packages/kie-bc-editors/src/scesim/envelope/SceSimEditorFactory.ts
@@ -18,15 +18,17 @@
*/
import { SceSimEditor, SceSimEditorImpl } from "./SceSimEditor";
-import { getSceSimLanguageData, SceSimEditorChannelApi } from "../api";
+import { getSceSimLanguageData, SceSimEditorChannelApi,
SceSimEditorEnvelopeApi } from "../api";
import { GwtEditorWrapperFactory, XmlFormatter } from "../../common";
import { EditorFactory, EditorInitArgs, KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
-export class SceSimEditorFactory implements EditorFactory<SceSimEditor,
SceSimEditorChannelApi> {
+export class SceSimEditorFactory
+ implements EditorFactory<SceSimEditor, SceSimEditorEnvelopeApi,
SceSimEditorChannelApi>
+{
constructor(private readonly gwtEditorEnvelopeConfig: {
shouldLoadResourcesDynamically: boolean }) {}
public createEditor(
- ctx: KogitoEditorEnvelopeContextType<SceSimEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<SceSimEditorEnvelopeApi,
SceSimEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<SceSimEditor> {
const languageData = getSceSimLanguageData(initArgs.resourcesPathPrefix);
diff --git
a/packages/kie-bc-editors/src/scesim/envelope/SceSimEnvelopeApiFactory.ts
b/packages/kie-bc-editors/src/scesim/envelope/SceSimEnvelopeApiFactory.ts
index b7cb860ffa8..791e415b065 100644
--- a/packages/kie-bc-editors/src/scesim/envelope/SceSimEnvelopeApiFactory.ts
+++ b/packages/kie-bc-editors/src/scesim/envelope/SceSimEnvelopeApiFactory.ts
@@ -28,7 +28,7 @@ export type SceSimEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
SceSimEditorEnvelopeApi,
SceSimEditorChannelApi,
EditorEnvelopeViewApi<SceSimEditor>,
- KogitoEditorEnvelopeContextType<SceSimEditorChannelApi>
+ KogitoEditorEnvelopeContextType<SceSimEditorEnvelopeApi,
SceSimEditorChannelApi>
>;
export class SceSimEditorEnvelopeApiImpl
diff --git a/packages/kie-bc-editors/tests/GwtEditorWrapperFactory.test.ts
b/packages/kie-bc-editors/tests/GwtEditorWrapperFactory.test.ts
index 8e68863c9c1..3f2df1fe419 100644
--- a/packages/kie-bc-editors/tests/GwtEditorWrapperFactory.test.ts
+++ b/packages/kie-bc-editors/tests/GwtEditorWrapperFactory.test.ts
@@ -107,6 +107,7 @@ describe("GwtEditorWrapperFactory", () => {
const editorCreation = gwtEditorWrapperFactory.createEditor(
{
+ shared: {} as any,
channelApi: channelApiMock,
services: {
keyboardShortcuts: {} as any,
diff --git a/packages/pmml-editor/src/editor/PMMLEditorFactory.ts
b/packages/pmml-editor/src/editor/PMMLEditorFactory.ts
index fd988f2e14c..66507b2f42b 100644
--- a/packages/pmml-editor/src/editor/PMMLEditorFactory.ts
+++ b/packages/pmml-editor/src/editor/PMMLEditorFactory.ts
@@ -24,13 +24,14 @@ import {
EditorInitArgs,
KogitoEditorEnvelopeContextType,
KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
} from "@kie-tools-core/editor/dist/api";
export const FACTORY_TYPE = "pmml";
-export class PMMLEditorFactory implements EditorFactory<Editor,
KogitoEditorChannelApi> {
+export class PMMLEditorFactory implements EditorFactory<Editor,
KogitoEditorEnvelopeApi, KogitoEditorChannelApi> {
public createEditor(
- envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<Editor> {
return Promise.resolve(new PMMLEditorInterface(envelopeContext));
diff --git a/packages/pmml-editor/src/editor/PMMLEditorInterface.tsx
b/packages/pmml-editor/src/editor/PMMLEditorInterface.tsx
index 67d9f74812b..0aec6360651 100644
--- a/packages/pmml-editor/src/editor/PMMLEditorInterface.tsx
+++ b/packages/pmml-editor/src/editor/PMMLEditorInterface.tsx
@@ -16,7 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-import { Editor, KogitoEditorChannelApi, KogitoEditorEnvelopeContextType }
from "@kie-tools-core/editor/dist/api";
+import {
+ Editor,
+ KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
+ KogitoEditorEnvelopeContextType,
+} from "@kie-tools-core/editor/dist/api";
import { Notification } from "@kie-tools-core/notifications/dist/api";
import * as React from "react";
import { PMMLEditor } from "./PMMLEditor";
@@ -27,7 +32,9 @@ export class PMMLEditorInterface implements Editor {
public af_componentId: "pmml-editor";
public af_componentTitle: "PMML Editor";
- constructor(private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>) {}
+ constructor(
+ private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi, KogitoEditorChannelApi>
+ ) {}
public setContent(normalizedPosixPathRelativeToTheWorkspaceRoot: string,
content: string): Promise<void> {
return this.self.setContent(normalizedPosixPathRelativeToTheWorkspaceRoot,
content);
diff --git a/packages/pmml-editor/tests/editor/PMMLEditorFactory.test.ts
b/packages/pmml-editor/tests/editor/PMMLEditorFactory.test.ts
index f1ebbf71222..d42a222dc71 100644
--- a/packages/pmml-editor/tests/editor/PMMLEditorFactory.test.ts
+++ b/packages/pmml-editor/tests/editor/PMMLEditorFactory.test.ts
@@ -22,6 +22,7 @@ import {
DEFAULT_WORKSPACE_ROOT_ABSOLUTE_POSIX_PATH,
Editor,
KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { PMMLEditorFactory, PMMLEditorInterface } from
"@kie-tools/pmml-editor";
@@ -32,7 +33,8 @@ import { I18nService } from
"@kie-tools-core/i18n/dist/envelope";
const channelApi = messageBusClientApiMock<KogitoEditorChannelApi>();
-const envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>
= {
+const envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi> = {
+ shared: {} as any,
channelApi: channelApi,
operatingSystem: OperatingSystem.LINUX,
services: {
diff --git a/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts
b/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts
index b3c889f788e..6c9f4148b53 100644
--- a/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts
+++ b/packages/pmml-editor/tests/editor/PMMLEditorInterface.test.ts
@@ -17,7 +17,11 @@
* under the License.
*/
-import { KogitoEditorChannelApi, KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
+import {
+ KogitoEditorChannelApi,
+ KogitoEditorEnvelopeApi,
+ KogitoEditorEnvelopeContextType,
+} from "@kie-tools-core/editor/dist/api";
import { render } from "@testing-library/react";
import { ReactElement } from "react";
import { PMMLEditor, PMMLEditorInterface } from "@kie-tools/pmml-editor";
@@ -28,7 +32,8 @@ import { I18nService } from
"@kie-tools-core/i18n/dist/envelope";
const channelApi = messageBusClientApiMock<KogitoEditorChannelApi>();
-const envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>
= {
+const envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi> = {
+ shared: {} as any,
channelApi: channelApi,
operatingSystem: OperatingSystem.LINUX,
services: {
diff --git
a/packages/scesim-editor-envelope/src/TestScenarioEditorEnvelopeApiFactory.ts
b/packages/scesim-editor-envelope/src/TestScenarioEditorEnvelopeApiFactory.ts
index 394581f8575..9ac21ad254a 100644
---
a/packages/scesim-editor-envelope/src/TestScenarioEditorEnvelopeApiFactory.ts
+++
b/packages/scesim-editor-envelope/src/TestScenarioEditorEnvelopeApiFactory.ts
@@ -31,7 +31,7 @@ export type TestScenarioEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
KogitoEditorEnvelopeApi,
KogitoEditorChannelApi,
EditorEnvelopeViewApi<Editor>,
- KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>
+ KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>
>;
export class TestScenarioEditorEnvelopeApiImpl
diff --git a/packages/scesim-editor-envelope/src/TestScenarioEditorFactory.tsx
b/packages/scesim-editor-envelope/src/TestScenarioEditorFactory.tsx
index 8957ffaf43f..ebf8402d76d 100644
--- a/packages/scesim-editor-envelope/src/TestScenarioEditorFactory.tsx
+++ b/packages/scesim-editor-envelope/src/TestScenarioEditorFactory.tsx
@@ -27,14 +27,17 @@ import {
KogitoEditorChannelApi,
EditorTheme,
DEFAULT_WORKSPACE_ROOT_ABSOLUTE_POSIX_PATH,
+ KogitoEditorEnvelopeApi,
} from "@kie-tools-core/editor/dist/api";
import { Notification } from "@kie-tools-core/notifications/dist/api";
import { ResourceContent, ResourcesList, WorkspaceEdit } from
"@kie-tools-core/workspace/dist/api";
import { TestScenarioEditorRoot } from "./TestScenarioEditorRoot";
-export class TestScenarioEditorFactory implements EditorFactory<Editor,
KogitoEditorChannelApi> {
+export class TestScenarioEditorFactory
+ implements EditorFactory<Editor, KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>
+{
public createEditor(
- envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ envelopeContext: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
initArgs: EditorInitArgs
): Promise<Editor> {
return Promise.resolve(new TestScenarioEditorInterface(envelopeContext,
initArgs));
@@ -48,7 +51,7 @@ export class TestScenarioEditorInterface implements Editor {
public af_componentTitle: "Test Scenario Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>,
+ private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>,
private readonly initArgs: EditorInitArgs
) {}
@@ -106,7 +109,7 @@ function TestScenarioEditorRootWrapper({
workspaceRootAbsolutePosixPath,
isReadOnly,
}: {
- envelopeContext?: KogitoEditorEnvelopeContextType<KogitoEditorChannelApi>;
+ envelopeContext?: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
KogitoEditorChannelApi>;
exposing: (s: TestScenarioEditorRoot) => void;
workspaceRootAbsolutePosixPath: string;
isReadOnly: boolean;
diff --git
a/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditor.tsx
b/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditor.tsx
index 670029baf36..15d0447349a 100644
---
a/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditor.tsx
+++
b/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditor.tsx
@@ -64,7 +64,11 @@ import {
useState,
} from "react";
import { Position } from "monaco-editor";
-import { ServerlessWorkflowCombinedEditorChannelApi, SwfPreviewOptions } from
"../api";
+import {
+ ServerlessWorkflowCombinedEditorChannelApi,
+ ServerlessWorkflowCombinedEditorEnvelopeApi,
+ SwfPreviewOptions,
+} from "../api";
import { useSwfDiagramEditorChannelApi } from
"./hooks/useSwfDiagramEditorChannelApi";
import { UseSwfTextEditorChannelApiArgs, useSwfTextEditorChannelApi } from
"./hooks/useSwfTextEditorChannelApi";
import { colorNodes } from "./helpers/ColorNodes";
@@ -106,7 +110,10 @@ const RefForwardingServerlessWorkflowCombinedEditor:
ForwardRefRenderFunction<
const [file, setFile] = useState<File | undefined>(undefined);
const [embeddedTextEditorFile, setEmbeddedTextEditorFile] =
useState<EmbeddedEditorFile>();
const [embeddedDiagramEditorFile, setEmbeddedDiagramEditorFile] =
useState<EmbeddedEditorFile>();
- const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<ServerlessWorkflowCombinedEditorChannelApi>();
+ const editorEnvelopeCtx = useKogitoEditorEnvelopeContext<
+ ServerlessWorkflowCombinedEditorEnvelopeApi,
+ ServerlessWorkflowCombinedEditorChannelApi
+ >();
const [diagramEditorEnvelopeContent] = useSharedValue<string>(
editorEnvelopeCtx.channelApi.shared.kogitoSwfGetDiagramEditorEnvelopeContent
);
diff --git
a/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorFactory.ts
b/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorFactory.ts
index db049fc1dd9..eee93386503 100644
---
a/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorFactory.ts
+++
b/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorFactory.ts
@@ -23,14 +23,18 @@ import {
EditorInitArgs,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
-import { ServerlessWorkflowCombinedEditorChannelApi } from "../api";
+import { ServerlessWorkflowCombinedEditorChannelApi,
ServerlessWorkflowCombinedEditorEnvelopeApi } from "../api";
import { ServerlessWorkflowCombinedEditorView } from
"./ServerlessWorkflowCombinedEditorView";
export class ServerlessWorkflowCombinedEditorFactory
- implements EditorFactory<Editor, ServerlessWorkflowCombinedEditorChannelApi>
+ implements
+ EditorFactory<Editor, ServerlessWorkflowCombinedEditorEnvelopeApi,
ServerlessWorkflowCombinedEditorChannelApi>
{
public async createEditor(
- ctx:
KogitoEditorEnvelopeContextType<ServerlessWorkflowCombinedEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowCombinedEditorEnvelopeApi,
+ ServerlessWorkflowCombinedEditorChannelApi
+ >,
initArgs: EditorInitArgs
) {
return new ServerlessWorkflowCombinedEditorView(ctx, initArgs);
diff --git
a/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorView.tsx
b/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorView.tsx
index 9bed9479b5e..bbf205d1e6e 100644
---
a/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorView.tsx
+++
b/packages/serverless-workflow-combined-editor/src/editor/ServerlessWorkflowCombinedEditorView.tsx
@@ -20,7 +20,11 @@
import { EditorInitArgs, EditorTheme, KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
import { Notification } from "@kie-tools-core/notifications/dist/api";
import * as React from "react";
-import { ServerlessWorkflowCombinedEditorApi,
ServerlessWorkflowCombinedEditorChannelApi } from "../api";
+import {
+ ServerlessWorkflowCombinedEditorApi,
+ ServerlessWorkflowCombinedEditorChannelApi,
+ ServerlessWorkflowCombinedEditorEnvelopeApi,
+} from "../api";
import { ServerlessWorkflowCombinedEditor } from
"./ServerlessWorkflowCombinedEditor";
import { Position } from "monaco-editor";
@@ -31,7 +35,10 @@ export class ServerlessWorkflowCombinedEditorView implements
ServerlessWorkflowC
public af_componentTitle: "Serverless Workflow Combined Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<ServerlessWorkflowCombinedEditorChannelApi>,
+ private readonly envelopeContext: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowCombinedEditorEnvelopeApi,
+ ServerlessWorkflowCombinedEditorChannelApi
+ >,
private readonly initArgs: EditorInitArgs
) {
this.editorRef = React.createRef<ServerlessWorkflowCombinedEditorApi>();
diff --git
a/packages/serverless-workflow-combined-editor/src/envelope/ServerlessWorkflowCombinedEditorEnvelopeApiImpl.ts
b/packages/serverless-workflow-combined-editor/src/envelope/ServerlessWorkflowCombinedEditorEnvelopeApiImpl.ts
index dde1dbea755..4c378471597 100644
---
a/packages/serverless-workflow-combined-editor/src/envelope/ServerlessWorkflowCombinedEditorEnvelopeApiImpl.ts
+++
b/packages/serverless-workflow-combined-editor/src/envelope/ServerlessWorkflowCombinedEditorEnvelopeApiImpl.ts
@@ -28,7 +28,10 @@ export type ServerlessWorkflowCombinedEnvelopeApiFactoryArgs
= EnvelopeApiFactor
ServerlessWorkflowCombinedEditorEnvelopeApi,
ServerlessWorkflowCombinedEditorChannelApi,
EditorEnvelopeViewApi<ServerlessWorkflowCombinedEditorApi>,
- KogitoEditorEnvelopeContextType<ServerlessWorkflowCombinedEditorChannelApi>
+ KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowCombinedEditorEnvelopeApi,
+ ServerlessWorkflowCombinedEditorChannelApi
+ >
>;
export class ServerlessWorkflowCombinedEditorEnvelopeApiImpl
@@ -41,7 +44,11 @@ export class ServerlessWorkflowCombinedEditorEnvelopeApiImpl
{
constructor(
private readonly serverlessWorkflowArgs:
ServerlessWorkflowCombinedEnvelopeApiFactoryArgs,
- editorFactory: EditorFactory<ServerlessWorkflowCombinedEditorApi,
ServerlessWorkflowCombinedEditorChannelApi>
+ editorFactory: EditorFactory<
+ ServerlessWorkflowCombinedEditorApi,
+ ServerlessWorkflowCombinedEditorEnvelopeApi,
+ ServerlessWorkflowCombinedEditorChannelApi
+ >
) {
super(serverlessWorkflowArgs, editorFactory);
}
diff --git
a/packages/serverless-workflow-diagram-editor-envelope/src/api/DiagramService.ts
b/packages/serverless-workflow-diagram-editor-envelope/src/api/DiagramService.ts
index 1f9b9bcc198..c73d9dd784a 100644
---
a/packages/serverless-workflow-diagram-editor-envelope/src/api/DiagramService.ts
+++
b/packages/serverless-workflow-diagram-editor-envelope/src/api/DiagramService.ts
@@ -20,13 +20,17 @@
import { KogitoEditorEnvelopeContextType } from
"@kie-tools-core/editor/dist/api";
import { DiagramExposedInteropApi } from "./DiagramExposedInteropApi";
import { ServerlessWorkflowDiagramEditorChannelApi } from
"./ServerlessWorkflowDiagramEditorChannelApi";
+import { ServerlessWorkflowDiagramEditorEnvelopeApi } from
"./ServerlessWorkflowDiagramEditorEnvelopeApi";
/**
* Class for diagram window interactions.
*/
export class DiagramService implements DiagramExposedInteropApi {
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<ServerlessWorkflowDiagramEditorChannelApi>
+ private readonly envelopeContext: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+ ServerlessWorkflowDiagramEditorChannelApi
+ >
) {}
public onNodeSelected(nodeName: string) {
diff --git
a/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorEnvelopeApiImpl.ts
b/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorEnvelopeApiImpl.ts
index 917608a3ea8..80298ec0253 100644
---
a/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorEnvelopeApiImpl.ts
+++
b/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorEnvelopeApiImpl.ts
@@ -30,7 +30,7 @@ export type ServerlessWorkflowDiagramEnvelopeApiFactoryArgs =
EnvelopeApiFactory
ServerlessWorkflowDiagramEditorEnvelopeApi,
ServerlessWorkflowDiagramEditorChannelApi,
EditorEnvelopeViewApi<ServerlessWorkflowDiagramEditor>,
- KogitoEditorEnvelopeContextType<ServerlessWorkflowDiagramEditorChannelApi>
+ KogitoEditorEnvelopeContextType<ServerlessWorkflowDiagramEditorEnvelopeApi,
ServerlessWorkflowDiagramEditorChannelApi>
>;
export class ServerlessWorkflowDiagramEditorEnvelopeApiImpl
@@ -43,7 +43,11 @@ export class ServerlessWorkflowDiagramEditorEnvelopeApiImpl
{
constructor(
private readonly serverlessWorkflowArgs:
ServerlessWorkflowDiagramEnvelopeApiFactoryArgs,
- editorFactory: EditorFactory<ServerlessWorkflowDiagramEditor,
ServerlessWorkflowDiagramEditorChannelApi>
+ editorFactory: EditorFactory<
+ ServerlessWorkflowDiagramEditor,
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+ ServerlessWorkflowDiagramEditorChannelApi
+ >
) {
super(serverlessWorkflowArgs, editorFactory);
}
diff --git
a/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorFactory.ts
b/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorFactory.ts
index f5e540e209d..9a6d4d6c2e2 100644
---
a/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorFactory.ts
+++
b/packages/serverless-workflow-diagram-editor-envelope/src/envelope/ServerlessWorkflowDiagramEditorFactory.ts
@@ -24,7 +24,11 @@ import {
EditorTheme,
} from "@kie-tools-core/editor/dist/api";
import { GwtEditorWrapperFactory } from
"@kie-tools/kie-bc-editors/dist/common";
-import { getServerlessWorkflowLanguageData,
ServerlessWorkflowDiagramEditorChannelApi } from "../api";
+import {
+ getServerlessWorkflowLanguageData,
+ ServerlessWorkflowDiagramEditorChannelApi,
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+} from "../api";
import { DiagramExposedInteropApi } from "../api/DiagramExposedInteropApi";
import { DiagramService } from "../api/DiagramService";
import {
@@ -41,12 +45,20 @@ export interface CustomWindow {
declare let window: CustomWindow;
export class ServerlessWorkflowDiagramEditorFactory
- implements EditorFactory<ServerlessWorkflowDiagramEditor,
ServerlessWorkflowDiagramEditorChannelApi>
+ implements
+ EditorFactory<
+ ServerlessWorkflowDiagramEditor,
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+ ServerlessWorkflowDiagramEditorChannelApi
+ >
{
constructor(private readonly gwtEditorEnvelopeConfig: {
shouldLoadResourcesDynamically: boolean }) {}
public createEditor(
- ctx:
KogitoEditorEnvelopeContextType<ServerlessWorkflowDiagramEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+ ServerlessWorkflowDiagramEditorChannelApi
+ >,
initArgs: EditorInitArgs
): Promise<ServerlessWorkflowDiagramEditor> {
window.envelope = {
diff --git
a/packages/serverless-workflow-diagram-editor-envelope/src/vscode/envelope/VsCodeServerlessWorkflowDiagramEditorFactory.ts
b/packages/serverless-workflow-diagram-editor-envelope/src/vscode/envelope/VsCodeServerlessWorkflowDiagramEditorFactory.ts
index a2c36adb7b5..20daf6ca787 100644
---
a/packages/serverless-workflow-diagram-editor-envelope/src/vscode/envelope/VsCodeServerlessWorkflowDiagramEditorFactory.ts
+++
b/packages/serverless-workflow-diagram-editor-envelope/src/vscode/envelope/VsCodeServerlessWorkflowDiagramEditorFactory.ts
@@ -23,6 +23,7 @@ import { DiagramExposedInteropApi } from
"../../api/DiagramExposedInteropApi";
import { DiagramService } from "../../api/DiagramService";
import { ServerlessWorkflowDiagramEditor,
ServerlessWorkflowDiagramEditorFactory } from "../../envelope";
import { VsCodeServerlessWorkflowDiagramEditorChannelApi } from
"../api/VsCodeServerlessWorkflowDiagramEditorChannelApi";
+import { ServerlessWorkflowDiagramEditorEnvelopeApi } from "../../api";
export interface CustomWindow extends Window {
envelope: {
@@ -35,7 +36,10 @@ declare let window: CustomWindow;
class JavaCodeCompletionService implements JavaCodeCompletionApi {
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<VsCodeServerlessWorkflowDiagramEditorChannelApi>
+ private readonly envelopeContext: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+ VsCodeServerlessWorkflowDiagramEditorChannelApi
+ >
) {}
getAccessors(fqcn: string, query: string) {
return
this.envelopeContext.channelApi.requests.kogitoJavaCodeCompletion__getAccessors(fqcn,
query);
@@ -49,12 +53,20 @@ class JavaCodeCompletionService implements
JavaCodeCompletionApi {
}
export class VsCodeServerlessWorkflowDiagramEditorFactory
- implements EditorFactory<ServerlessWorkflowDiagramEditor,
VsCodeServerlessWorkflowDiagramEditorChannelApi>
+ implements
+ EditorFactory<
+ ServerlessWorkflowDiagramEditor,
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+ VsCodeServerlessWorkflowDiagramEditorChannelApi
+ >
{
constructor(private readonly gwtEditorEnvelopeConfig: {
shouldLoadResourcesDynamically: boolean }) {}
public createEditor(
- ctx:
KogitoEditorEnvelopeContextType<VsCodeServerlessWorkflowDiagramEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowDiagramEditorEnvelopeApi,
+ VsCodeServerlessWorkflowDiagramEditorChannelApi
+ >,
initArgs: EditorInitArgs
): Promise<ServerlessWorkflowDiagramEditor> {
window.envelope = {
diff --git
a/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorFactory.ts
b/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorFactory.ts
index 338268e2f1e..2a88bdb991b 100644
---
a/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorFactory.ts
+++
b/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorFactory.ts
@@ -24,14 +24,17 @@ import {
EditorTheme,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
-import { ServerlessWorkflowTextEditorChannelApi } from "../api";
+import { ServerlessWorkflowTextEditorChannelApi,
ServerlessWorkflowTextEditorEnvelopeApi } from "../api";
import { ServerlessWorkflowTextEditorView } from
"./ServerlessWorkflowTextEditorView";
export class ServerlessWorkflowTextEditorFactory
- implements EditorFactory<Editor, ServerlessWorkflowTextEditorChannelApi>
+ implements EditorFactory<Editor, ServerlessWorkflowTextEditorEnvelopeApi,
ServerlessWorkflowTextEditorChannelApi>
{
public async createEditor(
- ctx:
KogitoEditorEnvelopeContextType<ServerlessWorkflowTextEditorChannelApi>,
+ ctx: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowTextEditorEnvelopeApi,
+ ServerlessWorkflowTextEditorChannelApi
+ >,
initArgs: EditorInitArgs
) {
ctx.supportedThemes = [EditorTheme.LIGHT, EditorTheme.DARK];
diff --git
a/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorView.tsx
b/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorView.tsx
index 56ae8a6cfbf..a0666e97571 100644
---
a/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorView.tsx
+++
b/packages/serverless-workflow-text-editor/src/editor/ServerlessWorkflowTextEditorView.tsx
@@ -21,7 +21,11 @@ import { EditorInitArgs, EditorTheme,
KogitoEditorEnvelopeContextType } from "@k
import { Notification } from "@kie-tools-core/notifications/dist/api";
import { Position } from "monaco-editor";
import * as React from "react";
-import { ServerlessWorkflowTextEditorApi,
ServerlessWorkflowTextEditorChannelApi } from "../api";
+import {
+ ServerlessWorkflowTextEditorApi,
+ ServerlessWorkflowTextEditorChannelApi,
+ ServerlessWorkflowTextEditorEnvelopeApi,
+} from "../api";
import { ServerlessWorkflowTextEditor } from "./ServerlessWorkflowTextEditor";
export class ServerlessWorkflowTextEditorView implements
ServerlessWorkflowTextEditorApi {
@@ -31,7 +35,10 @@ export class ServerlessWorkflowTextEditorView implements
ServerlessWorkflowTextE
public af_componentTitle: "Serverless Workflow Text Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<ServerlessWorkflowTextEditorChannelApi>,
+ private readonly envelopeContext: KogitoEditorEnvelopeContextType<
+ ServerlessWorkflowTextEditorEnvelopeApi,
+ ServerlessWorkflowTextEditorChannelApi
+ >,
private readonly initArgs: EditorInitArgs
) {
this.editorRef = React.createRef<ServerlessWorkflowTextEditorApi>();
diff --git
a/packages/serverless-workflow-text-editor/src/editor/textEditor/SwfTextEditor.tsx
b/packages/serverless-workflow-text-editor/src/editor/textEditor/SwfTextEditor.tsx
index 71fdbd51743..f01a1bc1f03 100644
---
a/packages/serverless-workflow-text-editor/src/editor/textEditor/SwfTextEditor.tsx
+++
b/packages/serverless-workflow-text-editor/src/editor/textEditor/SwfTextEditor.tsx
@@ -26,7 +26,7 @@ import { initAugmentationCommands } from
"./augmentation/commands";
import { ChannelType, EditorTheme, useKogitoEditorEnvelopeContext } from
"@kie-tools-core/editor/dist/api";
import { useSharedValue } from "@kie-tools-core/envelope-bus/dist/hooks";
import { getFileLanguage } from
"@kie-tools/serverless-workflow-language-service/dist/api";
-import { ServerlessWorkflowTextEditorChannelApi } from "../../api";
+import { ServerlessWorkflowTextEditorChannelApi,
ServerlessWorkflowTextEditorEnvelopeApi } from "../../api";
import { editor } from "monaco-editor";
interface Props {
@@ -43,7 +43,10 @@ const RefForwardingSwfTextEditor:
React.ForwardRefRenderFunction<SwfTextEditorAp
forwardedRef
) => {
const container = useRef<HTMLDivElement>(null);
- const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<ServerlessWorkflowTextEditorChannelApi>();
+ const editorEnvelopeCtx = useKogitoEditorEnvelopeContext<
+ ServerlessWorkflowTextEditorEnvelopeApi,
+ ServerlessWorkflowTextEditorChannelApi
+ >();
const [theme] =
useSharedValue(editorEnvelopeCtx.channelApi?.shared.kogitoEditor_theme);
const [services] =
useSharedValue(editorEnvelopeCtx.channelApi?.shared.kogitoSwfServiceCatalog_services);
const [serviceRegistriesSettings] = useSharedValue(
diff --git
a/packages/serverless-workflow-text-editor/src/envelope/ServerlessWorkflowTextEditorEnvelopeApiImpl.ts
b/packages/serverless-workflow-text-editor/src/envelope/ServerlessWorkflowTextEditorEnvelopeApiImpl.ts
index f0ef5bc6840..cefb23bc139 100644
---
a/packages/serverless-workflow-text-editor/src/envelope/ServerlessWorkflowTextEditorEnvelopeApiImpl.ts
+++
b/packages/serverless-workflow-text-editor/src/envelope/ServerlessWorkflowTextEditorEnvelopeApiImpl.ts
@@ -31,7 +31,7 @@ export type ServerlessWorkflowTextEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArg
ServerlessWorkflowTextEditorEnvelopeApi,
ServerlessWorkflowTextEditorChannelApi,
EditorEnvelopeViewApi<ServerlessWorkflowTextEditorApi>,
- KogitoEditorEnvelopeContextType<ServerlessWorkflowTextEditorChannelApi>
+ KogitoEditorEnvelopeContextType<ServerlessWorkflowTextEditorEnvelopeApi,
ServerlessWorkflowTextEditorChannelApi>
>;
export class ServerlessWorkflowTextEditorEnvelopeApiImpl
@@ -44,7 +44,11 @@ export class ServerlessWorkflowTextEditorEnvelopeApiImpl
{
constructor(
private readonly serverlessWorkflowArgs:
ServerlessWorkflowTextEnvelopeApiFactoryArgs,
- editorFactory: EditorFactory<ServerlessWorkflowTextEditorApi,
ServerlessWorkflowTextEditorChannelApi>
+ editorFactory: EditorFactory<
+ ServerlessWorkflowTextEditorApi,
+ ServerlessWorkflowTextEditorEnvelopeApi,
+ ServerlessWorkflowTextEditorChannelApi
+ >
) {
super(serverlessWorkflowArgs, editorFactory);
}
diff --git a/packages/text-editor/src/editor/TextEditorFactory.ts
b/packages/text-editor/src/editor/TextEditorFactory.ts
index 95fc1e56ac2..c3098702c11 100644
--- a/packages/text-editor/src/editor/TextEditorFactory.ts
+++ b/packages/text-editor/src/editor/TextEditorFactory.ts
@@ -21,13 +21,17 @@ import {
Editor,
EditorFactory,
EditorInitArgs,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { TextEditorChannelApi } from "../api";
import { TextEditorView } from "./TextEditorView";
-export class TextEditorFactory implements EditorFactory<Editor,
TextEditorChannelApi> {
- public async createEditor(ctx:
KogitoEditorEnvelopeContextType<TextEditorChannelApi>, initArgs:
EditorInitArgs) {
+export class TextEditorFactory implements EditorFactory<Editor,
KogitoEditorEnvelopeApi, TextEditorChannelApi> {
+ public async createEditor(
+ ctx: KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi,
TextEditorChannelApi>,
+ initArgs: EditorInitArgs
+ ) {
return new TextEditorView(ctx, initArgs);
}
}
diff --git a/packages/text-editor/src/editor/TextEditorView.tsx
b/packages/text-editor/src/editor/TextEditorView.tsx
index 7318f90a0d8..e39d668a237 100644
--- a/packages/text-editor/src/editor/TextEditorView.tsx
+++ b/packages/text-editor/src/editor/TextEditorView.tsx
@@ -22,6 +22,7 @@ import {
EditorApi,
EditorInitArgs,
EditorTheme,
+ KogitoEditorEnvelopeApi,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
import { Notification } from "@kie-tools-core/notifications/dist/api";
@@ -36,7 +37,7 @@ export class TextEditorView implements Editor {
public af_componentTitle: "Text Editor";
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<TextEditorChannelApi>,
+ private readonly envelopeContext:
KogitoEditorEnvelopeContextType<KogitoEditorEnvelopeApi, TextEditorChannelApi>,
private readonly initArgs: EditorInitArgs
) {
this.editorRef = React.createRef<EditorApi>();
diff --git a/packages/text-editor/src/editor/monaco/MonacoEditor.tsx
b/packages/text-editor/src/editor/monaco/MonacoEditor.tsx
index 53f924cb409..ae71b4c64e4 100644
--- a/packages/text-editor/src/editor/monaco/MonacoEditor.tsx
+++ b/packages/text-editor/src/editor/monaco/MonacoEditor.tsx
@@ -17,7 +17,12 @@
* under the License.
*/
-import { ChannelType, EditorTheme, useKogitoEditorEnvelopeContext } from
"@kie-tools-core/editor/dist/api";
+import {
+ ChannelType,
+ EditorTheme,
+ KogitoEditorEnvelopeApi,
+ useKogitoEditorEnvelopeContext,
+} from "@kie-tools-core/editor/dist/api";
import { useSharedValue } from "@kie-tools-core/envelope-bus/dist/hooks";
import { editor } from "monaco-editor";
import { extname } from "path";
@@ -50,7 +55,7 @@ const RefForwardingMonacoEditor:
React.ForwardRefRenderFunction<MonacoEditorApi
forwardedRef
) => {
const container = useRef<HTMLDivElement>(null);
- const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<TextEditorChannelApi>();
+ const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<KogitoEditorEnvelopeApi, TextEditorChannelApi>();
const [theme] =
useSharedValue(editorEnvelopeCtx.channelApi?.shared.kogitoEditor_theme);
const controller: MonacoEditorApi = useMemo<MonacoEditorApi>(() => {
diff --git a/packages/yard-editor/src/editor/YardEditorFactory.ts
b/packages/yard-editor/src/editor/YardEditorFactory.ts
index d00cef8c512..c86d48b364d 100644
--- a/packages/yard-editor/src/editor/YardEditorFactory.ts
+++ b/packages/yard-editor/src/editor/YardEditorFactory.ts
@@ -24,10 +24,13 @@ import {
EditorInitArgs,
KogitoEditorEnvelopeContextType,
} from "@kie-tools-core/editor/dist/api";
-import { YardEditorChannelApi } from "../api";
+import { YardEditorChannelApi, YardEditorEnvelopeApi } from "../api";
-export class YardEditorFactory implements EditorFactory<Editor,
YardEditorChannelApi> {
- public async createEditor(ctx:
KogitoEditorEnvelopeContextType<YardEditorChannelApi>, initArgs:
EditorInitArgs) {
+export class YardEditorFactory implements EditorFactory<Editor,
YardEditorEnvelopeApi, YardEditorChannelApi> {
+ public async createEditor(
+ ctx: KogitoEditorEnvelopeContextType<YardEditorEnvelopeApi,
YardEditorChannelApi>,
+ initArgs: EditorInitArgs
+ ) {
return new YardEditorView(ctx, initArgs);
}
}
diff --git a/packages/yard-editor/src/editor/YardEditorView.tsx
b/packages/yard-editor/src/editor/YardEditorView.tsx
index e583bed9481..40cdd42ba80 100644
--- a/packages/yard-editor/src/editor/YardEditorView.tsx
+++ b/packages/yard-editor/src/editor/YardEditorView.tsx
@@ -20,7 +20,7 @@ import { Editor, EditorInitArgs, EditorTheme,
KogitoEditorEnvelopeContextType }
import { Notification } from "@kie-tools-core/notifications/dist/api";
import * as React from "react";
import { YardEditor } from "./YardEditor";
-import { YardEditorApi, YardEditorChannelApi } from "../api";
+import { YardEditorApi, YardEditorChannelApi, YardEditorEnvelopeApi } from
"../api";
import { Position } from "monaco-editor";
import { validationPromise } from "@kie-tools/yard-validator/dist/";
@@ -33,7 +33,7 @@ export class YardEditorView implements Editor {
private path: string;
constructor(
- private readonly envelopeContext:
KogitoEditorEnvelopeContextType<YardEditorChannelApi>,
+ private readonly envelopeContext:
KogitoEditorEnvelopeContextType<YardEditorEnvelopeApi, YardEditorChannelApi>,
initArgs: EditorInitArgs
) {
this.editorRef = React.createRef<YardEditorApi>();
diff --git a/packages/yard-editor/src/impl/YardEditorEnvelopeApiImpl.ts
b/packages/yard-editor/src/impl/YardEditorEnvelopeApiImpl.ts
index 26749ac32bf..3888db228c1 100644
--- a/packages/yard-editor/src/impl/YardEditorEnvelopeApiImpl.ts
+++ b/packages/yard-editor/src/impl/YardEditorEnvelopeApiImpl.ts
@@ -27,7 +27,7 @@ export type YardEnvelopeApiFactoryArgs =
EnvelopeApiFactoryArgs<
YardEditorEnvelopeApi,
YardEditorChannelApi,
EditorEnvelopeViewApi<YardEditorApi>,
- KogitoEditorEnvelopeContextType<YardEditorChannelApi>
+ KogitoEditorEnvelopeContextType<YardEditorEnvelopeApi, YardEditorChannelApi>
>;
export class YardEditorEnvelopeApiImpl
@@ -36,7 +36,7 @@ export class YardEditorEnvelopeApiImpl
{
constructor(
private readonly factoryArgs: YardEnvelopeApiFactoryArgs,
- editorFactory: EditorFactory<YardEditorApi, YardEditorChannelApi>
+ editorFactory: EditorFactory<YardEditorApi, YardEditorEnvelopeApi,
YardEditorChannelApi>
) {
super(factoryArgs, editorFactory);
}
diff --git a/packages/yard-editor/src/textEditor/YardTextEditor.tsx
b/packages/yard-editor/src/textEditor/YardTextEditor.tsx
index c34601f8e31..71bdcc7a55c 100644
--- a/packages/yard-editor/src/textEditor/YardTextEditor.tsx
+++ b/packages/yard-editor/src/textEditor/YardTextEditor.tsx
@@ -22,7 +22,7 @@ import { useEffect, useImperativeHandle, useMemo, useRef }
from "react";
import { YardTextEditorController, YardTextEditorApi } from
"./YardTextEditorController";
import { ChannelType, EditorTheme, useKogitoEditorEnvelopeContext } from
"@kie-tools-core/editor/dist/api";
import { useSharedValue } from "@kie-tools-core/envelope-bus/dist/hooks";
-import { YardEditorChannelApi } from "../api";
+import { YardEditorChannelApi, YardEditorEnvelopeApi } from "../api";
import { editor } from "monaco-editor";
import { YardFile } from "../types";
import { initCodeLenses } from "./augmentation/codeLenses";
@@ -42,7 +42,7 @@ const RefForwardingYardTextEditor:
React.ForwardRefRenderFunction<YardTextEditor
forwardedRef
) => {
const container = useRef<HTMLDivElement>(null);
- const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<YardEditorChannelApi>();
+ const editorEnvelopeCtx =
useKogitoEditorEnvelopeContext<YardEditorEnvelopeApi, YardEditorChannelApi>();
const [theme] =
useSharedValue(editorEnvelopeCtx.channelApi?.shared.kogitoEditor_theme);
const controller: YardTextEditorApi = useMemo<YardTextEditorApi>(() => {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]