Skip to content

Commit de0d580

Browse files
danielwiehlMarcarrian
authored andcommitted
release(workbench): v18.0.0-beta.9
1 parent 6683bf5 commit de0d580

File tree

4 files changed

+137
-47
lines changed

4 files changed

+137
-47
lines changed

CHANGELOG_WORKBENCH.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,55 @@
1+
# [18.0.0-beta.9](https://github.com/SchweizerischeBundesbahnen/scion-workbench/compare/18.0.0-beta.8...18.0.0-beta.9) (2024-11-25)
2+
3+
4+
### Bug Fixes
5+
6+
* **workbench/view:** invoke `CanClose` guard in view injection context ([07ba936](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/07ba93604ec6862936a11badf6957d8582a0b687)), closes [#578](https://github.com/SchweizerischeBundesbahnen/scion-workbench/issues/578)
7+
* **workbench/view:** prevent `CanClose` guard from blocking workbench navigation ([12e9e91](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/12e9e9140cf8db11c8fc188f463503ccaaf35195)), closes [#558](https://github.com/SchweizerischeBundesbahnen/scion-workbench/issues/558)
8+
* **workbench/view:** prevent closing views with a pending `CanClose` guard ([4326a63](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/4326a63665ac8a40bfb040250f9a66c582aed7c6))
9+
10+
11+
### Features
12+
13+
* **workbench/view:** add functional `CanClose` guard, deprecate class-based guard ([c2ee531](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/c2ee531d483dbdbff72d468592908bb346002278))
14+
15+
16+
### Deprecations
17+
18+
* **workbench/view:** The class-based `CanClose` guard has been deprecated in favor of a functional guard that can be registered on `WorkbenchView.canClose`.
19+
20+
Migrate by registering a callback on `WorkbenchView.canClose` instead of implementing the `CanClose` interface.
21+
22+
**Before migration:**
23+
```ts
24+
import {CanClose} from '@scion/workbench';
25+
import {Component} from '@angular/core';
26+
27+
@Component({})
28+
export class ViewComponent implements CanClose {
29+
30+
public canClose(): boolean {
31+
return true;
32+
}
33+
}
34+
```
35+
36+
**After migration:**
37+
```ts
38+
import {Component, inject} from '@angular/core';
39+
import {WorkbenchView} from '@scion/workbench';
40+
41+
@Component({})
42+
export class ViewComponent {
43+
44+
constructor() {
45+
inject(WorkbenchView).canClose(() => {
46+
return true;
47+
});
48+
}
49+
}
50+
```
51+
52+
153
# [18.0.0-beta.8](https://github.com/SchweizerischeBundesbahnen/scion-workbench/compare/18.0.0-beta.7...18.0.0-beta.8) (2024-10-28)
254

355

CHANGELOG_WORKBENCH_LATEST.md

Lines changed: 32 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,50 @@
1-
# [18.0.0-beta.8](https://github.com/SchweizerischeBundesbahnen/scion-workbench/compare/18.0.0-beta.7...18.0.0-beta.8) (2024-10-28)
1+
# [18.0.0-beta.9](https://github.com/SchweizerischeBundesbahnen/scion-workbench/compare/18.0.0-beta.8...18.0.0-beta.9) (2024-11-25)
22

33

44
### Bug Fixes
55

6-
* **workbench/popup:** ensure the popup anchor not leaving view boundaries ([c629f49](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/c629f49f3ba520c2cd700a008e4ed0af1c86e01f))
7-
* **workbench/view:** ensure view overlays align with view boundaries when view position changes ([2998295](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/29982951bf8290108d3b09104ebc456f3acb9f6c))
6+
* **workbench/view:** invoke `CanClose` guard in view injection context ([07ba936](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/07ba93604ec6862936a11badf6957d8582a0b687)), closes [#578](https://github.com/SchweizerischeBundesbahnen/scion-workbench/issues/578)
7+
* **workbench/view:** prevent `CanClose` guard from blocking workbench navigation ([12e9e91](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/12e9e9140cf8db11c8fc188f463503ccaaf35195)), closes [#558](https://github.com/SchweizerischeBundesbahnen/scion-workbench/issues/558)
8+
* **workbench/view:** prevent closing views with a pending `CanClose` guard ([4326a63](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/4326a63665ac8a40bfb040250f9a66c582aed7c6))
89

910

1011
### Features
1112

12-
* **workbench:** prevent tracking unwanted dependencies in effects ([7a7eaf8](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/7a7eaf847f3ed54dcc7eeab300cbde53700b8e46))
13+
* **workbench/view:** add functional `CanClose` guard, deprecate class-based guard ([c2ee531](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/c2ee531d483dbdbff72d468592908bb346002278))
1314

1415

15-
### BREAKING CHANGES
16+
### Deprecations
1617

17-
* **workbench:** SCION Workbench requires `@scion/toolkit` version `1.6.0` or later.
18-
* **workbench:** SCION Workbench requires `@scion/components` version `18.1.1` or later.
19-
* **workbench:** Calling following workbench methods in a reactive (tracking) context (e.g., `effect`) now throws an error. Migrate by using Angular's `untracked()` function.
20-
- `WorkbenchRouter.navigate`
21-
- `WorkbenchService.registerPerspective`
22-
- `WorkbenchService.switchPerspective`
23-
- `WorkbenchService.resetPerspective`
24-
- `WorkbenchService.closeViews`
25-
- `WorkbenchService.switchTheme`
26-
- `WorkbenchService.registerPartAction`
27-
- `WorkbenchService.registerViewMenuItem`
28-
- `WorkbenchLauncher.launch`
29-
- `WorkbenchDialogService.open`
30-
- `WorkbenchMessageBoxService.open`
31-
- `NotificationService.notify`
32-
- `PopupService.open`
33-
- `WorkbenchPart.activate`
34-
- `WorkbenchView.activate`
35-
- `WorkbenchView.close`
36-
- `WorkbenchView.move`
37-
- `WorkbenchView.registerMenuItem`
38-
- `WorkbenchDialog.close`
39-
- `Popup.close`
40-
41-
**Migration Example**
18+
* **workbench/view:** The class-based `CanClose` guard has been deprecated in favor of a functional guard that can be registered on `WorkbenchView.canClose`.
19+
20+
Migrate by registering a callback on `WorkbenchView.canClose` instead of implementing the `CanClose` interface.
21+
22+
**Before migration:**
4223
```ts
43-
import {effect, inject, untracked} from '@angular/core';
44-
import {WorkbenchRouter} from '@scion/workbench';
24+
import {CanClose} from '@scion/workbench';
25+
import {Component} from '@angular/core';
4526

46-
const workbenchRouter = inject(WorkbenchRouter);
27+
@Component({})
28+
export class ViewComponent implements CanClose {
4729

48-
// Before
49-
effect(() => {
50-
if (someSignal()) {
51-
workbenchRouter.navigate(['path/to/view']);
30+
public canClose(): boolean {
31+
return true;
5232
}
53-
});
33+
}
34+
```
35+
36+
**After migration:**
37+
```ts
38+
import {Component, inject} from '@angular/core';
39+
import {WorkbenchView} from '@scion/workbench';
40+
41+
@Component({})
42+
export class ViewComponent {
5443

55-
// After
56-
effect(() => {
57-
if (someSignal()) {
58-
untracked(() => workbenchRouter.navigate(['path/to/view']));
44+
constructor() {
45+
inject(WorkbenchView).canClose(() => {
46+
return true;
47+
});
5948
}
60-
});
49+
}
6150
```
62-
63-
64-

docs/site/changelog-workbench/changelog.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,58 @@
66
## [Changelog][menu-changelog] > Workbench (@scion/workbench)
77

88

9+
# [18.0.0-beta.9](https://github.com/SchweizerischeBundesbahnen/scion-workbench/compare/18.0.0-beta.8...18.0.0-beta.9) (2024-11-25)
10+
11+
12+
### Bug Fixes
13+
14+
* **workbench/view:** invoke `CanClose` guard in view injection context ([07ba936](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/07ba93604ec6862936a11badf6957d8582a0b687)), closes [#578](https://github.com/SchweizerischeBundesbahnen/scion-workbench/issues/578)
15+
* **workbench/view:** prevent `CanClose` guard from blocking workbench navigation ([12e9e91](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/12e9e9140cf8db11c8fc188f463503ccaaf35195)), closes [#558](https://github.com/SchweizerischeBundesbahnen/scion-workbench/issues/558)
16+
* **workbench/view:** prevent closing views with a pending `CanClose` guard ([4326a63](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/4326a63665ac8a40bfb040250f9a66c582aed7c6))
17+
18+
19+
### Features
20+
21+
* **workbench/view:** add functional `CanClose` guard, deprecate class-based guard ([c2ee531](https://github.com/SchweizerischeBundesbahnen/scion-workbench/commit/c2ee531d483dbdbff72d468592908bb346002278))
22+
23+
24+
### Deprecations
25+
26+
* **workbench/view:** The class-based `CanClose` guard has been deprecated in favor of a functional guard that can be registered on `WorkbenchView.canClose`.
27+
28+
Migrate by registering a callback on `WorkbenchView.canClose` instead of implementing the `CanClose` interface.
29+
30+
**Before migration:**
31+
```ts
32+
import {CanClose} from '@scion/workbench';
33+
import {Component} from '@angular/core';
34+
35+
@Component({})
36+
export class ViewComponent implements CanClose {
37+
38+
public canClose(): boolean {
39+
return true;
40+
}
41+
}
42+
```
43+
44+
**After migration:**
45+
```ts
46+
import {Component, inject} from '@angular/core';
47+
import {WorkbenchView} from '@scion/workbench';
48+
49+
@Component({})
50+
export class ViewComponent {
51+
52+
constructor() {
53+
inject(WorkbenchView).canClose(() => {
54+
return true;
55+
});
56+
}
57+
}
58+
```
59+
60+
961
# [18.0.0-beta.8](https://github.com/SchweizerischeBundesbahnen/scion-workbench/compare/18.0.0-beta.7...18.0.0-beta.8) (2024-10-28)
1062

1163

projects/scion/workbench/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@scion/workbench",
3-
"version": "18.0.0-beta.8",
3+
"version": "18.0.0-beta.9",
44
"description": "SCION Workbench enables the creation of Angular web applications that require a flexible layout to arrange content side-by-side or stacked, all personalizable by the user via drag & drop.",
55
"license": "EPL-2.0",
66
"private": false,

0 commit comments

Comments
 (0)