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
+94 -94
View File
@@ -1,7 +1,7 @@
/*
@license
Rollup.js v4.59.0
Sun, 22 Feb 2026 07:31:53 GMT - commit ae846957f109690a866cc3e4c073613c338d3476
Rollup.js v4.52.3
Sat, 27 Sep 2025 07:05:38 GMT - commit 74c555c8e9ef7b62c2f57925bb2a5c0627ef8ae1
https://github.com/rollup/rollup
@@ -11,8 +11,8 @@ import { getAugmentedNamespace, fseventsImporter, getDefaultExportFromCjs, creat
import path from 'node:path';
import process$1 from 'node:process';
import require$$0$1 from 'path';
import require$$0$2 from 'fs';
import require$$2 from 'util';
import require$$0$2 from 'fs';
import require$$1 from 'stream';
import require$$2$1 from 'os';
import require$$0$3 from 'events';
@@ -218,7 +218,7 @@ var hasRequiredUtils$2;
function requireUtils$2 () {
if (hasRequiredUtils$2) return utils$2;
hasRequiredUtils$2 = 1;
(function (exports$1) {
(function (exports) {
const path = require$$0$1;
const win32 = process.platform === 'win32';
@@ -229,19 +229,19 @@ function requireUtils$2 () {
REGEX_SPECIAL_CHARS_GLOBAL
} = /*@__PURE__*/ requireConstants$3();
exports$1.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
exports$1.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
exports$1.isRegexChar = str => str.length === 1 && exports$1.hasRegexChars(str);
exports$1.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
exports$1.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);
exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
exports$1.removeBackslashes = str => {
exports.removeBackslashes = str => {
return str.replace(REGEX_REMOVE_BACKSLASH, match => {
return match === '\\' ? '' : match;
});
};
exports$1.supportsLookbehinds = () => {
exports.supportsLookbehinds = () => {
const segs = process.version.slice(1).split('.').map(Number);
if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) {
return true;
@@ -249,21 +249,21 @@ function requireUtils$2 () {
return false;
};
exports$1.isWindows = options => {
exports.isWindows = options => {
if (options && typeof options.windows === 'boolean') {
return options.windows;
}
return win32 === true || path.sep === '\\';
};
exports$1.escapeLast = (input, char, lastIdx) => {
exports.escapeLast = (input, char, lastIdx) => {
const idx = input.lastIndexOf(char, lastIdx);
if (idx === -1) return input;
if (input[idx - 1] === '\\') return exports$1.escapeLast(input, char, idx - 1);
if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1);
return `${input.slice(0, idx)}\\${input.slice(idx)}`;
};
exports$1.removePrefix = (input, state = {}) => {
exports.removePrefix = (input, state = {}) => {
let output = input;
if (output.startsWith('./')) {
output = output.slice(2);
@@ -272,7 +272,7 @@ function requireUtils$2 () {
return output;
};
exports$1.wrapOutput = (input, state = {}, options = {}) => {
exports.wrapOutput = (input, state = {}, options = {}) => {
const prepend = options.contains ? '' : '^';
const append = options.contains ? '' : '$';
@@ -2629,7 +2629,7 @@ var hasRequiredUtils$1;
function requireUtils$1 () {
if (hasRequiredUtils$1) return utils$1;
hasRequiredUtils$1 = 1;
(function (exports$1) {
(function (exports) {
const path = require$$0$1;
const win32 = process.platform === 'win32';
@@ -2640,19 +2640,19 @@ function requireUtils$1 () {
REGEX_SPECIAL_CHARS_GLOBAL
} = /*@__PURE__*/ requireConstants$2();
exports$1.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
exports$1.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
exports$1.isRegexChar = str => str.length === 1 && exports$1.hasRegexChars(str);
exports$1.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
exports$1.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val);
exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str);
exports.isRegexChar = str => str.length === 1 && exports.hasRegexChars(str);
exports.escapeRegex = str => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, '\\$1');
exports.toPosixSlashes = str => str.replace(REGEX_BACKSLASH, '/');
exports$1.removeBackslashes = str => {
exports.removeBackslashes = str => {
return str.replace(REGEX_REMOVE_BACKSLASH, match => {
return match === '\\' ? '' : match;
});
};
exports$1.supportsLookbehinds = () => {
exports.supportsLookbehinds = () => {
const segs = process.version.slice(1).split('.').map(Number);
if (segs.length === 3 && segs[0] >= 9 || (segs[0] === 8 && segs[1] >= 10)) {
return true;
@@ -2660,21 +2660,21 @@ function requireUtils$1 () {
return false;
};
exports$1.isWindows = options => {
exports.isWindows = options => {
if (options && typeof options.windows === 'boolean') {
return options.windows;
}
return win32 === true || path.sep === '\\';
};
exports$1.escapeLast = (input, char, lastIdx) => {
exports.escapeLast = (input, char, lastIdx) => {
const idx = input.lastIndexOf(char, lastIdx);
if (idx === -1) return input;
if (input[idx - 1] === '\\') return exports$1.escapeLast(input, char, idx - 1);
if (input[idx - 1] === '\\') return exports.escapeLast(input, char, idx - 1);
return `${input.slice(0, idx)}\\${input.slice(idx)}`;
};
exports$1.removePrefix = (input, state = {}) => {
exports.removePrefix = (input, state = {}) => {
let output = input;
if (output.startsWith('./')) {
output = output.slice(2);
@@ -2683,7 +2683,7 @@ function requireUtils$1 () {
return output;
};
exports$1.wrapOutput = (input, state = {}, options = {}) => {
exports.wrapOutput = (input, state = {}, options = {}) => {
const prepend = options.contains ? '' : '^';
const append = options.contains ? '' : '$';
@@ -4951,9 +4951,9 @@ var hasRequiredUtils;
function requireUtils () {
if (hasRequiredUtils) return utils;
hasRequiredUtils = 1;
(function (exports$1) {
(function (exports) {
exports$1.isInteger = num => {
exports.isInteger = num => {
if (typeof num === 'number') {
return Number.isInteger(num);
}
@@ -4967,15 +4967,15 @@ function requireUtils () {
* Find a node of the given type
*/
exports$1.find = (node, type) => node.nodes.find(node => node.type === type);
exports.find = (node, type) => node.nodes.find(node => node.type === type);
/**
* Find a node of the given type
*/
exports$1.exceedsLimit = (min, max, step = 1, limit) => {
exports.exceedsLimit = (min, max, step = 1, limit) => {
if (limit === false) return false;
if (!exports$1.isInteger(min) || !exports$1.isInteger(max)) return false;
if (!exports.isInteger(min) || !exports.isInteger(max)) return false;
return ((Number(max) - Number(min)) / Number(step)) >= limit;
};
@@ -4983,7 +4983,7 @@ function requireUtils () {
* Escape the given node with '\\' before node.value
*/
exports$1.escapeNode = (block, n = 0, type) => {
exports.escapeNode = (block, n = 0, type) => {
const node = block.nodes[n];
if (!node) return;
@@ -4999,7 +4999,7 @@ function requireUtils () {
* Returns true if the given brace node should be enclosed in literal braces
*/
exports$1.encloseBrace = node => {
exports.encloseBrace = node => {
if (node.type !== 'brace') return false;
if ((node.commas >> 0 + node.ranges >> 0) === 0) {
node.invalid = true;
@@ -5012,7 +5012,7 @@ function requireUtils () {
* Returns true if a brace node is invalid.
*/
exports$1.isInvalidBrace = block => {
exports.isInvalidBrace = block => {
if (block.type !== 'brace') return false;
if (block.invalid === true || block.dollar) return true;
if ((block.commas >> 0 + block.ranges >> 0) === 0) {
@@ -5030,7 +5030,7 @@ function requireUtils () {
* Returns true if a node is an open or close node
*/
exports$1.isOpenOrClose = node => {
exports.isOpenOrClose = node => {
if (node.type === 'open' || node.type === 'close') {
return true;
}
@@ -5041,7 +5041,7 @@ function requireUtils () {
* Reduce an array of text nodes.
*/
exports$1.reduce = nodes => nodes.reduce((acc, node) => {
exports.reduce = nodes => nodes.reduce((acc, node) => {
if (node.type === 'text') acc.push(node.value);
if (node.type === 'range') node.type = 'text';
return acc;
@@ -5051,7 +5051,7 @@ function requireUtils () {
* Flatten an array
*/
exports$1.flatten = (...args) => {
exports.flatten = (...args) => {
const result = [];
const flat = arr => {
@@ -6761,72 +6761,72 @@ var hasRequiredConstants;
function requireConstants () {
if (hasRequiredConstants) return constants;
hasRequiredConstants = 1;
(function (exports$1) {
(function (exports) {
const {sep} = require$$0$1;
const {platform} = process;
const os = require$$2$1;
exports$1.EV_ALL = 'all';
exports$1.EV_READY = 'ready';
exports$1.EV_ADD = 'add';
exports$1.EV_CHANGE = 'change';
exports$1.EV_ADD_DIR = 'addDir';
exports$1.EV_UNLINK = 'unlink';
exports$1.EV_UNLINK_DIR = 'unlinkDir';
exports$1.EV_RAW = 'raw';
exports$1.EV_ERROR = 'error';
exports.EV_ALL = 'all';
exports.EV_READY = 'ready';
exports.EV_ADD = 'add';
exports.EV_CHANGE = 'change';
exports.EV_ADD_DIR = 'addDir';
exports.EV_UNLINK = 'unlink';
exports.EV_UNLINK_DIR = 'unlinkDir';
exports.EV_RAW = 'raw';
exports.EV_ERROR = 'error';
exports$1.STR_DATA = 'data';
exports$1.STR_END = 'end';
exports$1.STR_CLOSE = 'close';
exports.STR_DATA = 'data';
exports.STR_END = 'end';
exports.STR_CLOSE = 'close';
exports$1.FSEVENT_CREATED = 'created';
exports$1.FSEVENT_MODIFIED = 'modified';
exports$1.FSEVENT_DELETED = 'deleted';
exports$1.FSEVENT_MOVED = 'moved';
exports$1.FSEVENT_CLONED = 'cloned';
exports$1.FSEVENT_UNKNOWN = 'unknown';
exports$1.FSEVENT_FLAG_MUST_SCAN_SUBDIRS = 1;
exports$1.FSEVENT_TYPE_FILE = 'file';
exports$1.FSEVENT_TYPE_DIRECTORY = 'directory';
exports$1.FSEVENT_TYPE_SYMLINK = 'symlink';
exports.FSEVENT_CREATED = 'created';
exports.FSEVENT_MODIFIED = 'modified';
exports.FSEVENT_DELETED = 'deleted';
exports.FSEVENT_MOVED = 'moved';
exports.FSEVENT_CLONED = 'cloned';
exports.FSEVENT_UNKNOWN = 'unknown';
exports.FSEVENT_FLAG_MUST_SCAN_SUBDIRS = 1;
exports.FSEVENT_TYPE_FILE = 'file';
exports.FSEVENT_TYPE_DIRECTORY = 'directory';
exports.FSEVENT_TYPE_SYMLINK = 'symlink';
exports$1.KEY_LISTENERS = 'listeners';
exports$1.KEY_ERR = 'errHandlers';
exports$1.KEY_RAW = 'rawEmitters';
exports$1.HANDLER_KEYS = [exports$1.KEY_LISTENERS, exports$1.KEY_ERR, exports$1.KEY_RAW];
exports.KEY_LISTENERS = 'listeners';
exports.KEY_ERR = 'errHandlers';
exports.KEY_RAW = 'rawEmitters';
exports.HANDLER_KEYS = [exports.KEY_LISTENERS, exports.KEY_ERR, exports.KEY_RAW];
exports$1.DOT_SLASH = `.${sep}`;
exports.DOT_SLASH = `.${sep}`;
exports$1.BACK_SLASH_RE = /\\/g;
exports$1.DOUBLE_SLASH_RE = /\/\//;
exports$1.SLASH_OR_BACK_SLASH_RE = /[/\\]/;
exports$1.DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/;
exports$1.REPLACER_RE = /^\.[/\\]/;
exports.BACK_SLASH_RE = /\\/g;
exports.DOUBLE_SLASH_RE = /\/\//;
exports.SLASH_OR_BACK_SLASH_RE = /[/\\]/;
exports.DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/;
exports.REPLACER_RE = /^\.[/\\]/;
exports$1.SLASH = '/';
exports$1.SLASH_SLASH = '//';
exports$1.BRACE_START = '{';
exports$1.BANG = '!';
exports$1.ONE_DOT = '.';
exports$1.TWO_DOTS = '..';
exports$1.STAR = '*';
exports$1.GLOBSTAR = '**';
exports$1.ROOT_GLOBSTAR = '/**/*';
exports$1.SLASH_GLOBSTAR = '/**';
exports$1.DIR_SUFFIX = 'Dir';
exports$1.ANYMATCH_OPTS = {dot: true};
exports$1.STRING_TYPE = 'string';
exports$1.FUNCTION_TYPE = 'function';
exports$1.EMPTY_STR = '';
exports$1.EMPTY_FN = () => {};
exports$1.IDENTITY_FN = val => val;
exports.SLASH = '/';
exports.SLASH_SLASH = '//';
exports.BRACE_START = '{';
exports.BANG = '!';
exports.ONE_DOT = '.';
exports.TWO_DOTS = '..';
exports.STAR = '*';
exports.GLOBSTAR = '**';
exports.ROOT_GLOBSTAR = '/**/*';
exports.SLASH_GLOBSTAR = '/**';
exports.DIR_SUFFIX = 'Dir';
exports.ANYMATCH_OPTS = {dot: true};
exports.STRING_TYPE = 'string';
exports.FUNCTION_TYPE = 'function';
exports.EMPTY_STR = '';
exports.EMPTY_FN = () => {};
exports.IDENTITY_FN = val => val;
exports$1.isWindows = platform === 'win32';
exports$1.isMacos = platform === 'darwin';
exports$1.isLinux = platform === 'linux';
exports$1.isIBMi = os.type() === 'OS400';
exports.isWindows = platform === 'win32';
exports.isMacos = platform === 'darwin';
exports.isLinux = platform === 'linux';
exports.isIBMi = os.type() === 'OS400';
} (constants));
return constants;
}