feat(planning): grille hebdomadaire complète avec API et filtres

- Connexion API via proxy Angular (résolution CORS, base path /api)
- Import CSS ng-zorro global pour les modales et composants
- Filtres Camion/Show câblés sur l'affichage de la grille
- Camions affichés via TrucksService (linkés au show du même créneau)
- Panneau de détails : spectacles + camions du jour sélectionné
- Modale de création de spectacle stylisée avec fond et centrage
- Positionnement précis des events à la minute dans leur créneau
- Auto-scroll vers l'heure courante au chargement
- Ligne "maintenant" sur la colonne du jour actuel
- Régénération des services OpenAPI (nouveaux noms de types)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-27 20:36:03 +02:00
parent 150b97cd2e
commit 654b297e2e
3131 changed files with 149304 additions and 104334 deletions
+15 -10
View File
@@ -1,5 +1,5 @@
/**
* @license Angular v20.3.21
* @license Angular v20.3.11
* (c) 2010-2025 Google LLC. https://angular.dev/
* License: MIT
*/
@@ -19,8 +19,6 @@ import { untracked as untracked$1, BASE_EFFECT_NODE, runEffect, createLinkedSign
* <my-comp (valueChange)="processNewValue($event)" />
* ```
*
* @see [Custom events with outputs](guide/components/outputs)
*
* @publicAPI
*/
class OutputEmitterRef {
@@ -87,7 +85,6 @@ function getOutputDestroyRef(ref) {
/**
* Execute an arbitrary function in a non-reactive (non-tracking) context. The executed function
* can, optionally, return a value.
* @see [Reading without tracking dependencies](guide/signals#reading-without-tracking-dependencies)
*/
function untracked(nonReactiveReadsFn) {
return untracked$1(nonReactiveReadsFn);
@@ -95,7 +92,6 @@ function untracked(nonReactiveReadsFn) {
/**
* Create a computed `Signal` which derives a reactive value from an expression.
* @see [Computed signals](guide/signals#computed-signals)
*/
function computed(computation, options) {
const getter = createComputed(computation, options?.equal);
@@ -131,8 +127,6 @@ class EffectRefImpl {
*
* `effect()` must be run in injection context, unless the `injector` option is manually specified.
*
* @see [Effects](guide/signals#effects)
*
* @publicApi 20.0
*/
function effect(effectFn, options) {
@@ -300,13 +294,19 @@ function upgradeLinkedSignalGetter(getter, debugName) {
return upgradedGetter;
}
/**
* Whether a `Resource.value()` should throw an error when the resource is in the error state.
*
* This internal flag is being used to gradually roll out this behavior.
*/
let RESOURCE_VALUE_THROWS_ERRORS_DEFAULT = true;
function resource(options) {
if (ngDevMode && !options?.injector) {
assertInInjectionContext(resource);
}
const oldNameForParams = options.request;
const params = (options.params ?? oldNameForParams ?? (() => null));
return new ResourceImpl(params, getLoader(options), options.defaultValue, options.equal ? wrapEqualityFn(options.equal) : undefined, options.injector ?? inject(Injector));
return new ResourceImpl(params, getLoader(options), options.defaultValue, options.equal ? wrapEqualityFn(options.equal) : undefined, options.injector ?? inject(Injector), RESOURCE_VALUE_THROWS_ERRORS_DEFAULT);
}
/**
* Base class which implements `.value` as a `WritableSignal` by delegating `.set` and `.update`.
@@ -361,7 +361,7 @@ class ResourceImpl extends BaseWritableResource {
resolvePendingTask = undefined;
destroyed = false;
unregisterOnDestroy;
constructor(request, loaderFn, defaultValue, equal, injector) {
constructor(request, loaderFn, defaultValue, equal, injector, throwErrorsFromValue = RESOURCE_VALUE_THROWS_ERRORS_DEFAULT) {
super(
// Feed a computed signal for the value to `BaseWritableResource`, which will upgrade it to a
// `WritableSignal` that delegates to `ResourceImpl.set`.
@@ -375,7 +375,12 @@ class ResourceImpl extends BaseWritableResource {
return defaultValue;
}
if (!isResolved(streamValue)) {
throw new ResourceValueError(this.error());
if (throwErrorsFromValue) {
throw new ResourceValueError(this.error());
}
else {
return defaultValue;
}
}
return streamValue.value;
}, { equal }));