@raclettejs/core 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +65 -1
  2. package/dist/cli.js +104 -104
  3. package/dist/cli.js.map +4 -4
  4. package/dist/index.js.map +2 -2
  5. package/package.json +2 -2
  6. package/services/backend/package.json +1 -1
  7. package/services/frontend/eslint.config.js +31 -9
  8. package/services/frontend/src/core/setup/socketBootstrap.ts +4 -3
  9. package/services/frontend/src/core/store/state.ts +2 -7
  10. package/services/frontend/src/core/store/types/index.ts +2 -0
  11. package/services/frontend/src/orchestrator/ProductOrchestrator.vue +33 -22
  12. package/services/frontend/src/orchestrator/components/LoadingWidgetState.vue +7 -3
  13. package/services/frontend/src/orchestrator/components/composition/WidgetsLayoutLoader.vue +179 -195
  14. package/services/frontend/src/orchestrator/components/dataExport/DataExporter.vue +79 -24
  15. package/services/frontend/src/orchestrator/components/dataTable/BaseDataTable.vue +27 -14
  16. package/services/frontend/src/orchestrator/components/dataTable/BaseDataTableGroupSelectCheckbox.vue +42 -0
  17. package/services/frontend/src/orchestrator/components/index.ts +2 -0
  18. package/services/frontend/src/orchestrator/components/menu/ServerStatus.vue +2 -4
  19. package/services/frontend/src/orchestrator/components/menu/UserMenu.vue +1 -1
  20. package/services/frontend/src/orchestrator/components/welcomeScreen/AdminWelcomeScreen.vue +1 -1
  21. package/services/frontend/src/orchestrator/composables/index.ts +1 -0
  22. package/services/frontend/src/orchestrator/composables/useAppLoadingCoordinator.ts +77 -0
  23. package/services/frontend/src/orchestrator/composables/usePageNavigation.ts +1 -1
  24. package/services/frontend/src/orchestrator/composables/useUiState.ts +2 -0
  25. package/services/frontend/src/orchestrator/composables/useWidgetLifecycle.ts +65 -76
  26. package/services/frontend/src/orchestrator/composables/useWidgets/helperFunctions.ts +7 -4
  27. package/services/frontend/src/orchestrator/constants/index.ts +2 -0
  28. package/services/frontend/src/orchestrator/constants/widgetSlot.ts +7 -0
  29. package/services/frontend/src/orchestrator/exports.ts +1 -0
  30. package/services/frontend/src/orchestrator/helpers/staticWidgetRegistry.ts +9 -44
  31. package/services/frontend/src/orchestrator/helpers/widgetLayoutHelper.ts +37 -0
  32. package/services/frontend/src/orchestrator/helpers/widgetLoader.ts +0 -1
  33. package/services/frontend/src/orchestrator/helpers/widgetSlotHelper.ts +20 -0
  34. package/services/frontend/src/orchestrator/helpers/widgetVisuals.ts +11 -12
  35. package/services/frontend/src/orchestrator/helpers/wrapWidgetWithLifecycle.ts +32 -0
  36. package/services/frontend/src/orchestrator/router/routerHooks/afterEach.ts +1 -20
  37. package/services/frontend/src/orchestrator/types/Widgets.ts +12 -6
  38. package/src/types.ts +7 -1
package/CHANGELOG.md CHANGED
@@ -7,8 +7,72 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [0.1.39] - 2026-06-29 <a href="https://gitlab.com/raclettejs/core-dev/-/compare/v0.1.38...v0.1.39" target="_blank" rel="noopener"><b>Overview of all changes</b></a>
10
+ ## [0.1.41] - 2026-07-07 <a href="https://gitlab.com/raclettejs/core-dev/-/compare/v0.1.40...v0.1.41" target="_blank" rel="noopener"><b>Overview of all changes</b></a>
11
+
12
+
13
+ ### Changed
14
+
15
+ - Share Valkey default DB across app, workbench, and core containers, with per-role overrides and improved widget loading coordination.
16
+
17
+ **Cache / Valkey**
18
+ - Add `services.cache.db` (shared default) and `services.cache.dbs` (`app`, `workbench`, `core`) to `raclette.config.js`; workbench reads cache settings from the starting app via `RACLETTE_APP_PATH`.
19
+ - Add `cacheUrl` helpers and Docker Compose `CACHE_URL` generation with correct DB suffix resolution; `RACLETTE_CACHE_URL` remains a full override.
20
+ - Default all stacks to DB `0` so app and workbench share the same Valkey namespace unless configured otherwise.
21
+ - Remove workbench's hardcoded `services.cache.db: 1`.
22
+
23
+ **Frontend orchestrator**
24
+ - Gate global page loading on socket bootstrap plus page widget slot readiness (`useAppLoadingCoordinator`); remove the router `afterEach` loading timeout.
25
+ - Track widget readiness at slot-container level; inject `onAllWidgetsReady` via `wrapWidgetWithLifecycle`.
26
+ - Show modal loading overlays until modal composition slots are ready (`trackReadiness` / `revealWhenReady`).
27
+ - Render `ErrorWidgetState` for failed widgets without blocking page or modal loading.
28
+ - Reverse `interactionLinks` `sortOrder` semantics — higher values appear first.
11
29
 
30
+ **BaseDataTable**
31
+ - Forward `#group-header` slot with `selectionActive`; add `BaseDataTableGroupSelectCheckbox` for custom group headers.
32
+ - Fix scoped slot content detection when probing for slot content.
33
+
34
+ **Workbench**
35
+ - Localize cache list TTL labels and truncation notices (en, de, sk).
36
+ - Move Cache interaction link to footer navigation.
37
+
38
+ **Docs**
39
+ - Document `services.cache` configuration, DB resolution order, and examples.
40
+ - Add BaseDataTable FAQ, widget loading behavior guide, and interactionLinks `sortOrder` notes.
41
+
42
+ ### Added
43
+
44
+ - `services.cache.dbs` per-role Valkey DB configuration (`app`, `workbench`, `core`) with shared `services.cache.db` fallback
45
+ - `cacheUrl` helpers for resolving cache connection URLs in Docker Compose and local dev
46
+ - `loadAppConfigFromPath` to load the starting app's `raclette.config.js` (workbench inherits cache settings via `RACLETTE_APP_PATH`)
47
+ - `useAppLoadingCoordinator` composable gating global page loading until socket bootstrap and page widget slots are ready
48
+ - `BaseDataTableGroupSelectCheckbox` for group-row selection in custom `#group-header` slots
49
+ - modal loading overlay (`trackReadiness` / `revealWhenReady`) before composition content is shown
50
+
51
+ ### Changed
52
+
53
+ - global: workbench, core and app now use per default the same db. Can be configured via raclette.config of app
54
+ - frontend: interactionLinks `sortOrder` now reversed — higher values appear first
55
+ - frontend: widget lifecycle tracks slot containers instead of widget roots; injects `onAllWidgetsReady` via `wrapWidgetWithLifecycle`
56
+ - frontend: page loading clears only after bootstrap and all page widget slots report ready (replaces router `afterEach` timeout)
57
+ - frontend: `BaseDataTable` forwards `#group-header` slot with `selectionActive`; fixes scoped slot content detection
58
+ - frontend: `LoadingWidgetState` marks async chunk loads so readiness detection ignores in-flight placeholders
59
+
60
+ ### Fixed
61
+
62
+ - frontend: error component is now always properly rendered
63
+ - frontend: failed widgets render `ErrorWidgetState` without blocking page or modal loading
64
+
65
+ ## [0.1.40] - 2026-06-30 <a href="https://gitlab.com/raclettejs/core-dev/-/compare/v0.1.39...v0.1.40" target="_blank" rel="noopener"><b>Overview of all changes</b></a>
66
+
67
+ ### Changed
68
+
69
+ - fix: build of shared resoures
70
+
71
+ ### Fixed
72
+
73
+ - backend: `build:assets:src` does not strip away `src` anymore for built files
74
+
75
+ ## [0.1.39] - 2026-06-29 <a href="https://gitlab.com/raclettejs/core-dev/-/compare/v0.1.38...v0.1.39" target="_blank" rel="noopener"><b>Overview of all changes</b></a>
12
76
 
13
77
  ### Patch Changes
14
78