diff --git a/CHANGELOG.md b/CHANGELOG.md
index e23618c4..a2131fea 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.27.3
+
+This version adds the `onIsReadyChanged` event to the `SequentialWorkflowDesignerController` class for React.
+
# 0.27.2
Added a new method to the internal control bar api.
diff --git a/README.md b/README.md
index 5ef030da..83a60c9a 100644
--- a/README.md
+++ b/README.md
@@ -104,10 +104,10 @@ Add the below code to your head section in HTML document.
```html
...
-
-
-
-
+
+
+
+
```
Call the designer by:
diff --git a/angular/designer/package.json b/angular/designer/package.json
index d0f6d7cf..6d61e52d 100644
--- a/angular/designer/package.json
+++ b/angular/designer/package.json
@@ -1,7 +1,7 @@
{
"name": "sequential-workflow-designer-angular",
"description": "Angular wrapper for Sequential Workflow Designer component.",
- "version": "0.27.2",
+ "version": "0.27.3",
"author": {
"name": "NoCode JS",
"url": "https://nocode-js.com/"
@@ -15,7 +15,7 @@
"peerDependencies": {
"@angular/common": "12 - 19",
"@angular/core": "12 - 19",
- "sequential-workflow-designer": "^0.27.2"
+ "sequential-workflow-designer": "^0.27.3"
},
"dependencies": {
"tslib": "^2.3.0"
diff --git a/demos/angular-app/package.json b/demos/angular-app/package.json
index 16e7236f..f306a163 100644
--- a/demos/angular-app/package.json
+++ b/demos/angular-app/package.json
@@ -26,8 +26,8 @@
"@angular/platform-browser-dynamic": "^17.3.9",
"@angular/router": "^17.3.9",
"rxjs": "~7.8.0",
- "sequential-workflow-designer": "^0.27.2",
- "sequential-workflow-designer-angular": "^0.27.2",
+ "sequential-workflow-designer": "^0.27.3",
+ "sequential-workflow-designer-angular": "^0.27.3",
"tslib": "^2.3.0",
"zone.js": "~0.14.6"
},
diff --git a/demos/angular-app/yarn.lock b/demos/angular-app/yarn.lock
index 748816ae..dde73f0f 100644
--- a/demos/angular-app/yarn.lock
+++ b/demos/angular-app/yarn.lock
@@ -6744,17 +6744,17 @@ send@0.18.0:
range-parser "~1.2.1"
statuses "2.0.1"
-sequential-workflow-designer-angular@^0.27.1:
- version "0.27.1"
- resolved "https://registry.yarnpkg.com/sequential-workflow-designer-angular/-/sequential-workflow-designer-angular-0.27.1.tgz#98a35929692c024088212374f5b973460103bff7"
- integrity sha512-ApE/NFLax7WpkYAXFCXFyNTKnF3yITSUJyMpBcF/C3F9n/afwkuvyX2sg8PjhrBUje0oTHxMgYqRKlQ1q7xrXg==
+sequential-workflow-designer-angular@^0.27.3:
+ version "0.27.3"
+ resolved "https://registry.yarnpkg.com/sequential-workflow-designer-angular/-/sequential-workflow-designer-angular-0.27.3.tgz#a09afa54f775545d9520c23fde58ad14fb80f2ff"
+ integrity sha512-NOZ9y+oT5o5thTzDtW0socanJvZWC7vIttFR+2BlDX1wKbxOjrjM9xtOFXd1arZb1nDv6Uu8rKO22hcf6TgNCw==
dependencies:
tslib "^2.3.0"
-sequential-workflow-designer@^0.27.1:
- version "0.27.1"
- resolved "https://registry.yarnpkg.com/sequential-workflow-designer/-/sequential-workflow-designer-0.27.1.tgz#65d08367625deb5b56b7cbbceb3720d49d8fb973"
- integrity sha512-cGmGplWopdMT5JDqR9r8pxIVqAZcmLe34MmRmr3D/dJ0jfJP5gyU4CvtntpFrGh9oriWsyPUZG4TldjPEQf9kg==
+sequential-workflow-designer@^0.27.3:
+ version "0.27.3"
+ resolved "https://registry.yarnpkg.com/sequential-workflow-designer/-/sequential-workflow-designer-0.27.3.tgz#387c33ece069ba922a2c693866308d04213aa118"
+ integrity sha512-3G1By8XFG6fpD6pWjnkXnk3Gt4P1GHQVANd1XiD9ffcmYwZV5RfNkc/MLTMhYp2pcp4qIivt52Iq3J92i7h1TQ==
dependencies:
sequential-workflow-model "^0.2.0"
diff --git a/demos/react-app/package.json b/demos/react-app/package.json
index 37376217..44821cab 100644
--- a/demos/react-app/package.json
+++ b/demos/react-app/package.json
@@ -6,8 +6,8 @@
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "sequential-workflow-designer": "^0.27.2",
- "sequential-workflow-designer-react": "^0.27.2"
+ "sequential-workflow-designer": "^0.27.3",
+ "sequential-workflow-designer-react": "^0.27.3"
},
"devDependencies": {
"@types/jest": "^29.2.5",
diff --git a/demos/react-app/src/playground/Playground.tsx b/demos/react-app/src/playground/Playground.tsx
index 9bc109a8..c0de9095 100644
--- a/demos/react-app/src/playground/Playground.tsx
+++ b/demos/react-app/src/playground/Playground.tsx
@@ -45,6 +45,16 @@ export function Playground() {
const [moveViewportToStep, setMoveViewportToStep] = useState(null);
const definitionJson = JSON.stringify(definition.value, null, 2);
+ useEffect(() => {
+ function onIsReadyChanged() {
+ console.log(`isReady=${controller.isReady()}`);
+ }
+ controller.onIsReadyChanged.subscribe(onIsReadyChanged);
+ return () => {
+ controller.onIsReadyChanged.unsubscribe(onIsReadyChanged);
+ };
+ }, [controller]);
+
useEffect(() => {
console.log(`definition updated, isValid=${definition.isValid}`);
}, [definition]);
diff --git a/demos/svelte-app/package.json b/demos/svelte-app/package.json
index 2f0aeae4..a12e3719 100644
--- a/demos/svelte-app/package.json
+++ b/demos/svelte-app/package.json
@@ -16,8 +16,8 @@
"eslint": "eslint ./src --ext .ts"
},
"dependencies": {
- "sequential-workflow-designer": "^0.27.2",
- "sequential-workflow-designer-svelte": "^0.27.2"
+ "sequential-workflow-designer": "^0.27.3",
+ "sequential-workflow-designer-svelte": "^0.27.3"
},
"devDependencies": {
"@sveltejs/adapter-static": "^2.0.3",
diff --git a/designer/package.json b/designer/package.json
index a29a8c9a..c634ab37 100644
--- a/designer/package.json
+++ b/designer/package.json
@@ -1,7 +1,7 @@
{
"name": "sequential-workflow-designer",
"description": "Customizable no-code component for building flow-based programming applications.",
- "version": "0.27.2",
+ "version": "0.27.3",
"type": "module",
"main": "./lib/esm/index.js",
"types": "./lib/index.d.ts",
diff --git a/examples/assets/lib.js b/examples/assets/lib.js
index fa736ccd..57106c21 100644
--- a/examples/assets/lib.js
+++ b/examples/assets/lib.js
@@ -13,7 +13,7 @@ function embedStylesheet(url) {
document.write(` `);
}
-const baseUrl = isTestEnv() ? '../designer' : '//cdn.jsdelivr.net/npm/sequential-workflow-designer@0.27.2';
+const baseUrl = isTestEnv() ? '../designer' : '//cdn.jsdelivr.net/npm/sequential-workflow-designer@0.27.3';
embedScript(`${baseUrl}/dist/index.umd.js`);
embedStylesheet(`${baseUrl}/css/designer.css`);
diff --git a/react/package.json b/react/package.json
index 66b96b5f..328ce7f0 100644
--- a/react/package.json
+++ b/react/package.json
@@ -1,7 +1,7 @@
{
"name": "sequential-workflow-designer-react",
"description": "React wrapper for Sequential Workflow Designer component.",
- "version": "0.27.2",
+ "version": "0.27.3",
"type": "module",
"main": "./lib/esm/index.js",
"types": "./lib/index.d.ts",
@@ -47,7 +47,7 @@
"peerDependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "sequential-workflow-designer": "^0.27.2"
+ "sequential-workflow-designer": "^0.27.3"
},
"devDependencies": {
"@rollup/plugin-node-resolve": "^15.0.1",
@@ -63,7 +63,7 @@
"prettier": "^3.2.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
- "sequential-workflow-designer": "^0.27.2",
+ "sequential-workflow-designer": "^0.27.3",
"rollup": "^3.18.0",
"rollup-plugin-dts": "^5.2.0",
"rollup-plugin-typescript2": "^0.34.1",
diff --git a/react/src/SequentialWorkflowDesignerController.ts b/react/src/SequentialWorkflowDesignerController.ts
index cc1365c2..90c10b31 100644
--- a/react/src/SequentialWorkflowDesignerController.ts
+++ b/react/src/SequentialWorkflowDesignerController.ts
@@ -1,11 +1,16 @@
import { DependencyList, useMemo } from 'react';
-import { Definition, Designer } from 'sequential-workflow-designer';
+import { Definition, Designer, SimpleEvent } from 'sequential-workflow-designer';
export class SequentialWorkflowDesignerController {
public static create(): SequentialWorkflowDesignerController {
return new SequentialWorkflowDesignerController();
}
+ /**
+ * @description Event that is raised when the controller is ready to be used.
+ */
+ public readonly onIsReadyChanged = new SimpleEvent();
+
private designer: Designer | null = null;
private constructor() {
@@ -52,7 +57,7 @@ export class SequentialWorkflowDesignerController {
* @returns `true` if the controller is ready to be used, `false` otherwise.
*/
public isReady(): boolean {
- return !!this.designer;
+ return Boolean(this.designer);
}
public setDesigner(designer: Designer | null) {
@@ -60,6 +65,7 @@ export class SequentialWorkflowDesignerController {
throw new Error('Designer is already set');
}
this.designer = designer;
+ this.onIsReadyChanged.forward();
}
private getDesigner(): Designer {
diff --git a/svelte/package.json b/svelte/package.json
index 0cdfb927..b346cb43 100644
--- a/svelte/package.json
+++ b/svelte/package.json
@@ -1,7 +1,7 @@
{
"name": "sequential-workflow-designer-svelte",
"description": "Svelte wrapper for Sequential Workflow Designer component.",
- "version": "0.27.2",
+ "version": "0.27.3",
"license": "MIT",
"scripts": {
"prepare": "cp ../LICENSE LICENSE",
@@ -28,10 +28,10 @@
],
"peerDependencies": {
"svelte": "^4.0.0",
- "sequential-workflow-designer": "^0.27.2"
+ "sequential-workflow-designer": "^0.27.3"
},
"devDependencies": {
- "sequential-workflow-designer": "^0.27.2",
+ "sequential-workflow-designer": "^0.27.3",
"@sveltejs/adapter-static": "^2.0.3",
"@sveltejs/kit": "^1.20.4",
"@sveltejs/package": "^2.0.0",