Skip to content

Commit b689399

Browse files
authored
0.16.10. (#101)
1 parent 1435fca commit b689399

File tree

17 files changed

+116
-54
lines changed

17 files changed

+116
-54
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 0.16.10
2+
3+
This version fixes the error: `Failed to execute 'removeChild' on 'Node'` when a user uses the undo feature [#100](https://github.com/nocode-js/sequential-workflow-designer/issues/100).
4+
5+
Additionally, this version introduces `getViewport`, `setViewport` methods and `onViewportChanged` event in the `Designer` class.
6+
17
## 0.16.9
28

39
This version adds a possibility to disable keyboard shortcuts. Additionally you may filter keyboard events handled by the designer.

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,10 @@ Add the below code to your head section in HTML document.
9696
```html
9797
<head>
9898
...
99-
<link href="https://cdn.jsdelivr.net/npm/[email protected].9/css/designer.css" rel="stylesheet">
100-
<link href="https://cdn.jsdelivr.net/npm/[email protected].9/css/designer-light.css" rel="stylesheet">
101-
<link href="https://cdn.jsdelivr.net/npm/[email protected].9/css/designer-dark.css" rel="stylesheet">
102-
<script src="https://cdn.jsdelivr.net/npm/[email protected].9/dist/index.umd.js"></script>
99+
<link href="https://cdn.jsdelivr.net/npm/[email protected].10/css/designer.css" rel="stylesheet">
100+
<link href="https://cdn.jsdelivr.net/npm/[email protected].10/css/designer-light.css" rel="stylesheet">
101+
<link href="https://cdn.jsdelivr.net/npm/[email protected].10/css/designer-dark.css" rel="stylesheet">
102+
<script src="https://cdn.jsdelivr.net/npm/[email protected].10/dist/index.umd.js"></script>
103103
```
104104

105105
Call the designer by:

angular/designer/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sequential-workflow-designer-angular",
33
"description": "Angular wrapper for Sequential Workflow Designer component.",
4-
"version": "0.16.9",
4+
"version": "0.16.10",
55
"author": {
66
"name": "NoCode JS",
77
"url": "https://nocode-js.com/"
@@ -15,7 +15,7 @@
1515
"peerDependencies": {
1616
"@angular/common": "12 - 16",
1717
"@angular/core": "12 - 16",
18-
"sequential-workflow-designer": "^0.16.9"
18+
"sequential-workflow-designer": "^0.16.10"
1919
},
2020
"dependencies": {
2121
"tslib": "^2.3.0"

demos/angular-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
"@angular/platform-browser-dynamic": "^15.2.9",
2727
"@angular/router": "^15.2.9",
2828
"rxjs": "~7.8.0",
29-
"sequential-workflow-designer": "^0.16.9",
30-
"sequential-workflow-designer-angular": "^0.16.9",
29+
"sequential-workflow-designer": "^0.16.10",
30+
"sequential-workflow-designer-angular": "^0.16.10",
3131
"tslib": "^2.3.0",
3232
"zone.js": "~0.13.0"
3333
},

demos/angular-app/yarn.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5956,17 +5956,17 @@ [email protected]:
59565956
range-parser "~1.2.1"
59575957
statuses "2.0.1"
59585958

5959-
sequential-workflow-designer-angular@^0.16.9:
5960-
version "0.16.9"
5961-
resolved "https://registry.yarnpkg.com/sequential-workflow-designer-angular/-/sequential-workflow-designer-angular-0.16.9.tgz#78d2ad7bd37435bc6c17845cab0f9f41629d4e5c"
5962-
integrity sha512-yxhTNoN5pXWpIRH2st0wv43ugsxUVgSZMy4zhHS7mOv5slDnOK2WByzJEsTRMteHk4FMFdjnSAX7+K2jTuX0mA==
5959+
sequential-workflow-designer-angular@^0.16.10:
5960+
version "0.16.10"
5961+
resolved "https://registry.yarnpkg.com/sequential-workflow-designer-angular/-/sequential-workflow-designer-angular-0.16.10.tgz#25094a86e9713c95008616c21425b796bf28f947"
5962+
integrity sha512-Cr7xABHuJwVNsDaU3dr0qOCOgRGLojQTFOZ2bXH1OpXRzwhxK4xEpmuKptnYhyl1piR5NuhWrfHAfODBJs21bQ==
59635963
dependencies:
59645964
tslib "^2.3.0"
59655965

5966-
sequential-workflow-designer@^0.16.9:
5967-
version "0.16.9"
5968-
resolved "https://registry.yarnpkg.com/sequential-workflow-designer/-/sequential-workflow-designer-0.16.9.tgz#7fc328e131125945acd588d108d0b36c61a42293"
5969-
integrity sha512-OIktDfaA7NWVZ+AE27QrEXXDuAwrDzMP97dJAa9bUX3cH9EOVFVKg7OSz7qCuTaDDSkzfgX5PF1U6hMgo4CAmg==
5966+
sequential-workflow-designer@^0.16.10:
5967+
version "0.16.10"
5968+
resolved "https://registry.yarnpkg.com/sequential-workflow-designer/-/sequential-workflow-designer-0.16.10.tgz#a8c75397cdc1e87c7ca5d787983ee394811fa9d8"
5969+
integrity sha512-4r5eDOPuiTNUoCYPJr5wJXVvB7rFOVgCjk7tgLEoivvaiMXxdqP3PC/n3/JwKuwxsnJyf6skvjHerwdqV6/e4Q==
59705970
dependencies:
59715971
sequential-workflow-model "^0.2.0"
59725972

demos/react-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
"dependencies": {
77
"react": "^18.2.0",
88
"react-dom": "^18.2.0",
9-
"sequential-workflow-designer": "^0.16.9",
10-
"sequential-workflow-designer-react": "^0.16.9"
9+
"sequential-workflow-designer": "^0.16.10",
10+
"sequential-workflow-designer-react": "^0.16.10"
1111
},
1212
"devDependencies": {
1313
"@types/jest": "^29.2.5",

demos/svelte-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
"eslint": "eslint ./src --ext .ts"
1717
},
1818
"dependencies": {
19-
"sequential-workflow-designer": "^0.16.9",
20-
"sequential-workflow-designer-svelte": "^0.16.9"
19+
"sequential-workflow-designer": "^0.16.10",
20+
"sequential-workflow-designer-svelte": "^0.16.10"
2121
},
2222
"devDependencies": {
2323
"@sveltejs/adapter-static": "^2.0.3",

demos/svelte-app/src/routes/+page.svelte

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@
9292
</script>
9393

9494
<SequentialWorkflowDesigner
95+
undoStackSize={4}
9596
{definition}
9697
on:definitionChanged={onDefinitionChanged}
9798
{steps}

designer/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sequential-workflow-designer",
33
"description": "Customizable no-code component for building flow-based programming applications.",
4-
"version": "0.16.9",
4+
"version": "0.16.10",
55
"type": "module",
66
"main": "./lib/esm/index.js",
77
"types": "./lib/index.d.ts",

designer/src/api/editor-renderer.ts

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,17 @@
11
import { DefinitionWalker, Step } from '../definition';
2-
import { race } from '../core';
2+
import { SimpleEvent, race } from '../core';
33
import { DefinitionChangedEvent, DesignerState } from '../designer-state';
44
import { DefinitionChangeType } from '../designer-configuration';
55

66
export type EditorRendererHandler = (step: Step | null) => void;
77

8+
type RaceEventArgs = [(DefinitionChangedEvent | undefined)?, (string | null | undefined)?, unknown?];
9+
810
export class EditorRenderer {
911
public static create(state: DesignerState, definitionWalker: DefinitionWalker, handler: EditorRendererHandler): EditorRenderer {
10-
const listener = new EditorRenderer(state, definitionWalker, handler);
11-
12-
race(0, state.onDefinitionChanged, state.onSelectedStepIdChanged).subscribe(r => {
13-
const [definitionChanged, selectedStepId] = r;
14-
if (definitionChanged) {
15-
listener.onDefinitionChanged(definitionChanged);
16-
} else if (selectedStepId !== undefined) {
17-
listener.onSelectedStepIdChanged(selectedStepId);
18-
}
19-
});
20-
12+
const raceEvent = race(0, state.onDefinitionChanged, state.onSelectedStepIdChanged);
13+
const listener = new EditorRenderer(state, definitionWalker, handler, raceEvent);
14+
raceEvent.subscribe(listener.raceEventHandler);
2115
listener.tryRender(state.selectedStepId);
2216
return listener;
2317
}
@@ -27,11 +21,12 @@ export class EditorRenderer {
2721
private constructor(
2822
private readonly state: DesignerState,
2923
private readonly definitionWalker: DefinitionWalker,
30-
private readonly handler: EditorRendererHandler
24+
private readonly handler: EditorRendererHandler,
25+
private readonly raceEvent: SimpleEvent<RaceEventArgs>
3126
) {}
3227

3328
public destroy() {
34-
// TODO: unsubscribe from events
29+
this.raceEvent.unsubscribe(this.raceEventHandler);
3530
}
3631

3732
private render(stepId: string | null) {
@@ -46,6 +41,14 @@ export class EditorRenderer {
4641
}
4742
}
4843

44+
private readonly raceEventHandler = ([definitionChanged, selectedStepId]: RaceEventArgs) => {
45+
if (definitionChanged) {
46+
this.onDefinitionChanged(definitionChanged);
47+
} else if (selectedStepId !== undefined) {
48+
this.onSelectedStepIdChanged(selectedStepId);
49+
}
50+
};
51+
4952
private onDefinitionChanged(event: DefinitionChangedEvent) {
5053
if (event.changeType === DefinitionChangeType.rootReplaced) {
5154
this.render(this.state.selectedStepId);

0 commit comments

Comments
 (0)