Commit f95015d
Feature/1/go zoneless (#4502)
* refactor(visualization): add OnPush to features/ components for zoneless (#1)
Backfill ChangeDetectionStrategy.OnPush across all 25 features/ components
(3dPrint, changelog, globalSettings, scenarios). Convert importFeedbackDialog's
mutable feedback field to a signal so it updates under OnPush/zoneless.
Part of the convert-first, flip-last zoneless migration.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* refactor(visualization): add OnPush to ui/ + root components for zoneless (#1)
Backfill ChangeDetectionStrategy.OnPush across all remaining ui/ components
and the root codeCharta component. Convert fileExtensionBar's metricDistribution
subscribe to a requireSync toSignal and showAbsoluteValues to a signal so they
update under OnPush/zoneless.
All async sources (viewCube Three.js callbacks render directly; zoomSlider uses
detectChanges; segment/dialogs/buttons set signals) are zoneless-safe.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* test(visualization): run unit tests zoneless (#1)
Switch the Jest test env from setupZoneTestEnv to setupZonelessTestEnv so
TestBed uses zoneless change detection, matching the app target. Drop
zone.js/testing from the angular.json karma test polyfills.
Fixes surfaced by removing zone's error/rejection swallowing:
- Remove waitForAsync wrappers around synchronous TestBed setup (needs zone).
- Polyfill the JSDOM Popover API (:popover-open, show/hide/togglePopover).
- ScenarioIndexedDBService: await the request and tx.done together so an
aborted transaction's done rejection is always handled (no orphaned reject).
- Stub the heavy 3D export dialog in the export3DMapButton button test.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat(visualization)!: enable zoneless change detection, remove zone.js (#1)
Flip the app to provideZonelessChangeDetection and drop zone.js entirely:
- main.ts: provideZoneChangeDetection -> provideZonelessChangeDetection,
remove the zone.js side-effect import.
- angular.json: empty the build polyfills (no zone.js needed; modern browsers).
- Delete the dead app/polyfills.ts and drop it from tsconfig.app.json.
- Uninstall zone.js from package.json and refresh the lockfile.
All components are OnPush and every async source is signal/markForCheck driven,
so change detection is now fully explicit. The production bundle ships zero
zone symbols.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* build(visualization): remove unused dependencies
Drop dependencies no longer referenced anywhere in source or build config:
@ngrx/operators, @ngrx/store-devtools, percent-round,
@babel/plugin-transform-class-static-block, autoprefixer, html-loader,
webpack-glsl-loader. Remove the now-obsolete @ngrx/store-devtools exception
from the dependency-cruiser ngrx rule.
Verified: dependency-cruiser passes (0 errors), production build succeeds,
full unit suite (2244 tests) green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Christian Hühn <christian.huehn@maibornwolff.de>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent af03fd0 commit f95015d
52 files changed
Lines changed: 239 additions & 1131 deletions
File tree
- visualization
- app
- codeCharta
- features
- 3dPrint/components
- export3DMapButton
- export3DMapDialog
- exportActions
- frontTextInput
- logoUpload
- printerPresetSelection
- qrCodeSettings
- scaleSlider
- secondRowTextInput
- changelog/components
- changelogButton
- changelogDialog
- globalSettings/components
- globalConfigurationButton
- globalConfigurationDialog
- confirmResetMapDialog
- externalLinks
- mapLayoutSelection
- resetSettingsButton
- settingToggle
- scenarios
- components
- applyScenarioDialog
- saveScenarioDialog
- scenarioListDialog
- deleteConfirmDialog
- importFeedbackDialog
- scenarioItem
- scenarioItemActions
- scenarioItemBadges
- stores
- ui
- actionIcon
- codeMap
- dialogs/errorDialog
- fileExtensionBar
- distributionMetric
- fileExtensionBarSegment
- loadingFileProgressSpinner
- resetSettingsButton
- viewCube
- conf
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
101 | | - | |
102 | | - | |
| 101 | + | |
103 | 102 | | |
104 | 103 | | |
105 | 104 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| |||
Lines changed: 16 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
1 | 2 | | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| 8 | + | |
| 9 | + | |
7 | 10 | | |
8 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
9 | 21 | | |
10 | 22 | | |
11 | 23 | | |
| |||
21 | 33 | | |
22 | 34 | | |
23 | 35 | | |
24 | | - | |
| 36 | + | |
25 | 37 | | |
26 | 38 | | |
27 | 39 | | |
| |||
32 | 44 | | |
33 | 45 | | |
34 | 46 | | |
| 47 | + | |
35 | 48 | | |
36 | 49 | | |
37 | 50 | | |
| |||
54 | 67 | | |
55 | 68 | | |
56 | 69 | | |
| 70 | + | |
57 | 71 | | |
58 | 72 | | |
59 | 73 | | |
| |||
78 | 92 | | |
79 | 93 | | |
80 | 94 | | |
| 95 | + | |
81 | 96 | | |
82 | 97 | | |
83 | 98 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
| 40 | + | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
| 19 | + | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
0 commit comments