Skip to content

Commit ca02ee7

Browse files
authored
0.24.6. (#167)
1 parent 56c53d8 commit ca02ee7

File tree

14 files changed

+67
-33
lines changed

14 files changed

+67
-33
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 0.24.6
2+
3+
Fixed a bug where the designer remained in an invalid state when rendered inside a placeholder with a width or height of 0px.
4+
15
# 0.24.5
26

37
Fixed another bug with event handling when the designer is placed in a shadow DOM.

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,10 @@ Add the below code to your head section in HTML document.
103103
```html
104104
<head>
105105
...
106-
<link href="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.5/css/designer.css" rel="stylesheet">
107-
<link href="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.5/css/designer-light.css" rel="stylesheet">
108-
<link href="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.5/css/designer-dark.css" rel="stylesheet">
109-
<script src="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.5/dist/index.umd.js"></script>
106+
<link href="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.6/css/designer.css" rel="stylesheet">
107+
<link href="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.6/css/designer-light.css" rel="stylesheet">
108+
<link href="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.6/css/designer-dark.css" rel="stylesheet">
109+
<script src="https://cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.6/dist/index.umd.js"></script>
110110
```
111111

112112
Call the designer by:

angular/designer/package.json

+2-2
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.24.5",
4+
"version": "0.24.6",
55
"author": {
66
"name": "NoCode JS",
77
"url": "https://nocode-js.com/"
@@ -15,7 +15,7 @@
1515
"peerDependencies": {
1616
"@angular/common": "12 - 18",
1717
"@angular/core": "12 - 18",
18-
"sequential-workflow-designer": "^0.24.5"
18+
"sequential-workflow-designer": "^0.24.6"
1919
},
2020
"dependencies": {
2121
"tslib": "^2.3.0"

demos/angular-app/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
"@angular/platform-browser-dynamic": "^17.3.9",
2727
"@angular/router": "^17.3.9",
2828
"rxjs": "~7.8.0",
29-
"sequential-workflow-designer": "^0.24.5",
30-
"sequential-workflow-designer-angular": "^0.24.5",
29+
"sequential-workflow-designer": "^0.24.6",
30+
"sequential-workflow-designer-angular": "^0.24.6",
3131
"tslib": "^2.3.0",
3232
"zone.js": "~0.14.6"
3333
},

demos/angular-app/yarn.lock

+8-8
Original file line numberDiff line numberDiff line change
@@ -6744,17 +6744,17 @@ send@0.18.0:
67446744
range-parser "~1.2.1"
67456745
statuses "2.0.1"
67466746

6747-
sequential-workflow-designer-angular@^0.24.4:
6748-
version "0.24.4"
6749-
resolved "https://registry.yarnpkg.com/sequential-workflow-designer-angular/-/sequential-workflow-designer-angular-0.24.4.tgz#50842a31c9ac5c6d45733ba5ffd0704dda4cfe9a"
6750-
integrity sha512-kiIhcoOzpaRNGK4ii1rotZHu49/zosdTodD71mQRXIqDNbpqVHMS4CktWwEWdQ13LIsSQxEbfMnpZJJ5+eIW3w==
6747+
sequential-workflow-designer-angular@^0.24.6:
6748+
version "0.24.6"
6749+
resolved "https://registry.yarnpkg.com/sequential-workflow-designer-angular/-/sequential-workflow-designer-angular-0.24.6.tgz#342e7b3aa75b5bd021ddd3fa8b7271001f2b14ac"
6750+
integrity sha512-USyB8FXHEIZ6IXBzHe31jPovMtfqjHCsAhOeWQ6qAZCjVVRe1ymCIdAoixVK7TvKONursMqlcGoQ2O+iAdMABw==
67516751
dependencies:
67526752
tslib "^2.3.0"
67536753

6754-
sequential-workflow-designer@^0.24.4:
6755-
version "0.24.4"
6756-
resolved "https://registry.yarnpkg.com/sequential-workflow-designer/-/sequential-workflow-designer-0.24.4.tgz#68db6ec198ec7941a5e87994156f15ec91e83cc5"
6757-
integrity sha512-fIdZDT6nozMAuIXvJ6uOVVy4h9XA+DMTfIO63bM6+vi/5BmQlxyUJ+4uVFKOiHJ7Tx5MQI8eBchcWDtknBA8nQ==
6754+
sequential-workflow-designer@^0.24.6:
6755+
version "0.24.6"
6756+
resolved "https://registry.yarnpkg.com/sequential-workflow-designer/-/sequential-workflow-designer-0.24.6.tgz#0be6112837177db19c2e5e69e15e5a827243097d"
6757+
integrity sha512-zjv60NrWKYZY8ZiL+PAG3DZK3lJX/cjBkgQ/IYElsk2rwHl6+srOFWSRKx2cEfHHNueTovNQLFVsFIWRvAtVNg==
67586758
dependencies:
67596759
sequential-workflow-model "^0.2.0"
67606760

demos/react-app/package.json

+2-2
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.24.5",
10-
"sequential-workflow-designer-react": "^0.24.5"
9+
"sequential-workflow-designer": "^0.24.6",
10+
"sequential-workflow-designer-react": "^0.24.6"
1111
},
1212
"devDependencies": {
1313
"@types/jest": "^29.2.5",

demos/svelte-app/package.json

+2-2
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.24.5",
20-
"sequential-workflow-designer-svelte": "^0.24.5"
19+
"sequential-workflow-designer": "^0.24.6",
20+
"sequential-workflow-designer-svelte": "^0.24.6"
2121
},
2222
"devDependencies": {
2323
"@sveltejs/adapter-static": "^2.0.3",

designer/package.json

+1-1
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.24.5",
4+
"version": "0.24.6",
55
"type": "module",
66
"main": "./lib/esm/index.js",
77
"types": "./lib/index.d.ts",

designer/src/designer.ts

+7
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,13 @@ export class Designer<TDefinition extends Definition = Definition> {
168168
this.state.setViewport(viewport);
169169
}
170170

171+
/**
172+
* @description Resets the viewport.
173+
*/
174+
public resetViewport() {
175+
this.api.viewport.resetViewport();
176+
}
177+
171178
/**
172179
* @description Unselects the selected step.
173180
*/

designer/src/workspace/viewport/centered-viewport-calculator.spec.ts

+21-5
Original file line numberDiff line numberDiff line change
@@ -3,38 +3,54 @@ import { CenteredViewportCalculator } from './centered-viewport-calculator';
33

44
describe('CenteredViewportCalculator', () => {
55
describe('center()', () => {
6-
const c100x100 = new Vector(100, 100);
6+
const v100x100 = new Vector(100, 100);
77

88
it('root component fills 100% of canvas (margin = 0)', () => {
9-
const vp = CenteredViewportCalculator.center(0, c100x100, new Vector(100, 100));
9+
const vp = CenteredViewportCalculator.center(0, v100x100, new Vector(100, 100));
1010

1111
expect(vp.position.x).toBe(0);
1212
expect(vp.position.y).toBe(0);
1313
expect(vp.scale).toBe(1);
1414
});
1515

1616
it('root component fills 100% of canvas (margin = 20)', () => {
17-
const vp = CenteredViewportCalculator.center(20, c100x100, new Vector(100, 100));
17+
const vp = CenteredViewportCalculator.center(20, v100x100, new Vector(100, 100));
1818

1919
expect(vp.position.x).toBe(20);
2020
expect(vp.position.y).toBe(20);
2121
expect(vp.scale).toBe(0.6);
2222
});
2323

2424
it('root component is smaller than canvas (margin = 20)', () => {
25-
const vp = CenteredViewportCalculator.center(20, c100x100, new Vector(10, 20));
25+
const vp = CenteredViewportCalculator.center(20, v100x100, new Vector(10, 20));
2626

2727
expect(vp.position.x).toBe(45);
2828
expect(vp.position.y).toBe(40);
2929
expect(vp.scale).toBe(1);
3030
});
3131

3232
it('root component is bigger than canvas (margin = 20)', () => {
33-
const vp = CenteredViewportCalculator.center(20, c100x100, new Vector(200, 200));
33+
const vp = CenteredViewportCalculator.center(20, v100x100, new Vector(200, 200));
3434

3535
expect(vp.position.x).toBe(20);
3636
expect(vp.position.y).toBe(20);
3737
expect(vp.scale).toBe(0.3);
3838
});
39+
40+
it('returns scale=1 when canvas size is 0x(1+)', () => {
41+
const vp = CenteredViewportCalculator.center(20, new Vector(0, 100), v100x100);
42+
43+
expect(vp.position.x).toBe(0);
44+
expect(vp.position.y).toBe(0);
45+
expect(vp.scale).toBe(1);
46+
});
47+
48+
it('returns scale=1 when canvas size is (1+)x0', () => {
49+
const vp = CenteredViewportCalculator.center(20, new Vector(100, 0), v100x100);
50+
51+
expect(vp.position.x).toBe(0);
52+
expect(vp.position.y).toBe(0);
53+
expect(vp.scale).toBe(1);
54+
});
3955
});
4056
});

designer/src/workspace/viewport/centered-viewport-calculator.ts

+7
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@ import { Viewport } from '../../designer-extension';
33

44
export class CenteredViewportCalculator {
55
public static center(margin: number, canvasSize: Vector, rootComponentSize: Vector): Viewport {
6+
if (canvasSize.x === 0 || canvasSize.y === 0) {
7+
return {
8+
position: new Vector(0, 0),
9+
scale: 1
10+
};
11+
}
12+
613
const canvasSafeWidth = Math.max(canvasSize.x - margin * 2, 0);
714
const canvasSafeHeight = Math.max(canvasSize.y - margin * 2, 0);
815

examples/assets/lib.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ function embedStylesheet(url) {
1313
document.write(`<link href="${url}" rel="stylesheet">`);
1414
}
1515

16-
const baseUrl = isTestEnv() ? '../designer' : '//cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.5';
16+
const baseUrl = isTestEnv() ? '../designer' : '//cdn.jsdelivr.net/npm/sequential-workflow-designer@0.24.6';
1717

1818
embedScript(`${baseUrl}/dist/index.umd.js`);
1919
embedStylesheet(`${baseUrl}/css/designer.css`);

react/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sequential-workflow-designer-react",
33
"description": "React wrapper for Sequential Workflow Designer component.",
4-
"version": "0.24.5",
4+
"version": "0.24.6",
55
"type": "module",
66
"main": "./lib/esm/index.js",
77
"types": "./lib/index.d.ts",
@@ -47,7 +47,7 @@
4747
"peerDependencies": {
4848
"react": "^18.2.0",
4949
"react-dom": "^18.2.0",
50-
"sequential-workflow-designer": "^0.24.5"
50+
"sequential-workflow-designer": "^0.24.6"
5151
},
5252
"devDependencies": {
5353
"@rollup/plugin-node-resolve": "^15.0.1",
@@ -63,7 +63,7 @@
6363
"prettier": "^3.2.5",
6464
"react": "^18.2.0",
6565
"react-dom": "^18.2.0",
66-
"sequential-workflow-designer": "^0.24.5",
66+
"sequential-workflow-designer": "^0.24.6",
6767
"rollup": "^3.18.0",
6868
"rollup-plugin-dts": "^5.2.0",
6969
"rollup-plugin-typescript2": "^0.34.1",

svelte/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sequential-workflow-designer-svelte",
33
"description": "Svelte wrapper for Sequential Workflow Designer component.",
4-
"version": "0.24.5",
4+
"version": "0.24.6",
55
"license": "MIT",
66
"scripts": {
77
"prepare": "cp ../LICENSE LICENSE",
@@ -28,10 +28,10 @@
2828
],
2929
"peerDependencies": {
3030
"svelte": "^4.0.0",
31-
"sequential-workflow-designer": "^0.24.5"
31+
"sequential-workflow-designer": "^0.24.6"
3232
},
3333
"devDependencies": {
34-
"sequential-workflow-designer": "^0.24.5",
34+
"sequential-workflow-designer": "^0.24.6",
3535
"@sveltejs/adapter-static": "^2.0.3",
3636
"@sveltejs/kit": "^1.20.4",
3737
"@sveltejs/package": "^2.0.0",

0 commit comments

Comments
 (0)