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",