@egen-civitas/esm-extensions 1.3.0 → 1.5.0

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @egen-civitas/esm-extensions
2
2
 
3
+ ## 1.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 0978f93: Rails : le rail droit porte aussi un groupe bas ; `ToolWindowMeta.rail` ('left' par défaut | 'right') choisit le rail d'une option de la zone basse (pleine largeur entre les rails).
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [ac88343]
12
+ - @egen-civitas/esm-globals@1.0.3
13
+
14
+ ## 1.4.0
15
+
16
+ ### Minor Changes
17
+
18
+ - af95904: Rail gauche : options globales avec sous-options.
19
+
20
+ - `ToolWindowMeta.global` : une extension du slot `shell-rail-left-slot` (ou `shell-rail-bottom-slot`) déclarée avec `meta.global: true` reste affichée dans le rail quelle que soit l'app active, comme le rail droit. Sans ce drapeau, le comportement est inchangé (seules les extensions de l'app active apparaissent).
21
+ - Nouveau composant `SectionNavPanel` (`section`) : contenu prêt à l'emploi d'une option globale. Il liste, dans la zone gauche, les sous-options d'une section (entrées `NavEntryMeta` déclarées par l'app sur `topbar-level2-nav`), regroupées par `group`, avec icône, et navigue vers la route de la sous-option au clic ; la sous-option de la page courante est marquée active. La zone centrale se met à jour par la navigation habituelle.
22
+ - Liste blanche d'icônes du plan de travail étendue (`Calendar`, `CalendarCheck`, `Compass`, `Contact`, `FileCheck`, `FileText`, `Globe`, `Layers`, `Radio`, `Star`, `Zap`).
23
+
3
24
  ## 1.3.0
4
25
 
5
26
  ### Minor Changes
@@ -9,13 +9,16 @@
9
9
  *
10
10
  * rail gauche, groupe haut → slot `shell-rail-left-slot` → zone gauche (sidebar de l'app)
11
11
  * rail gauche, groupe bas → slot `shell-rail-bottom-slot` → zone basse (ex. terminal)
12
- * rail droit → slot `shell-rail-right-slot` → zone droite (options globales)
12
+ * rail droit, groupe haut → slot `shell-rail-right-slot` → zone droite (options globales)
13
+ * rail droit, groupe bas → slot `shell-rail-bottom-slot` + `meta.rail: 'right'` → zone basse
13
14
  *
14
15
  * Déclaration dans le `routes.json` d'une app :
15
16
  * `{ "slot": "shell-rail-left-slot", "component": "projectPanel", "meta": ToolWindowMeta }`.
16
17
  *
17
- * Les rails gauche et bas n'affichent que les extensions de l'app active ; le rail droit est
18
- * global (toutes les apps, y compris celles qui ne sont pas montées).
18
+ * Les rails gauche et bas n'affichent que les extensions de l'app active, sauf celles qui
19
+ * déclarent `meta.global: true` (toujours visibles, quelle que soit l'app active, comme le rail
20
+ * droit). Le rail droit est entièrement global (toutes les apps, y compris celles qui ne sont
21
+ * pas montées).
19
22
  */
20
23
  export declare const SHELL_RAIL_LEFT_SLOT = "shell-rail-left-slot";
21
24
  export declare const SHELL_RAIL_BOTTOM_SLOT = "shell-rail-bottom-slot";
@@ -34,6 +37,18 @@ export interface ToolWindowMeta {
34
37
  icon?: string;
35
38
  /** Ordre d'affichage dans le rail (croissant) ; défaut : ordre du slot. */
36
39
  order?: number;
40
+ /**
41
+ * Rails gauche et bas : l'entrée reste affichée quelle que soit l'app active (option globale,
42
+ * ex. Annuaire, News), au lieu de n'apparaître que quand son app est montée. Sans effet sur
43
+ * le rail droit, déjà global.
44
+ */
45
+ global?: boolean;
46
+ /**
47
+ * Zone basse uniquement : rail qui porte le bouton. `left` (défaut) : groupe bas du rail gauche ;
48
+ * `right` : groupe bas du rail droit. Dans les deux cas le contenu s'ouvre dans la zone basse,
49
+ * qui occupe toute la largeur entre les rails.
50
+ */
51
+ rail?: 'left' | 'right';
37
52
  }
38
53
  /** Valide une `meta` d'extension : vrai si c'est une `ToolWindowMeta` exploitable. */
39
54
  export declare function isToolWindowMeta(meta: unknown): meta is ToolWindowMeta;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-window.d.ts","sourceRoot":"","sources":["../src/tool-window.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAIxE,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAQtE"}
1
+ {"version":3,"file":"tool-window.d.ts","sourceRoot":"","sources":["../src/tool-window.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAElC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAC3D,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,0CAA0C;AAC1C,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAIxE,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAED,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAUtE"}
@@ -8,13 +8,16 @@
8
8
  *
9
9
  * rail gauche, groupe haut → slot `shell-rail-left-slot` → zone gauche (sidebar de l'app)
10
10
  * rail gauche, groupe bas → slot `shell-rail-bottom-slot` → zone basse (ex. terminal)
11
- * rail droit → slot `shell-rail-right-slot` → zone droite (options globales)
11
+ * rail droit, groupe haut → slot `shell-rail-right-slot` → zone droite (options globales)
12
+ * rail droit, groupe bas → slot `shell-rail-bottom-slot` + `meta.rail: 'right'` → zone basse
12
13
  *
13
14
  * Déclaration dans le `routes.json` d'une app :
14
15
  * `{ "slot": "shell-rail-left-slot", "component": "projectPanel", "meta": ToolWindowMeta }`.
15
16
  *
16
- * Les rails gauche et bas n'affichent que les extensions de l'app active ; le rail droit est
17
- * global (toutes les apps, y compris celles qui ne sont pas montées).
17
+ * Les rails gauche et bas n'affichent que les extensions de l'app active, sauf celles qui
18
+ * déclarent `meta.global: true` (toujours visibles, quelle que soit l'app active, comme le rail
19
+ * droit). Le rail droit est entièrement global (toutes les apps, y compris celles qui ne sont
20
+ * pas montées).
18
21
  */ export const SHELL_RAIL_LEFT_SLOT = 'shell-rail-left-slot';
19
22
  export const SHELL_RAIL_BOTTOM_SLOT = 'shell-rail-bottom-slot';
20
23
  export const SHELL_RAIL_RIGHT_SLOT = 'shell-rail-right-slot';
@@ -30,5 +33,7 @@ export const SHELL_RAIL_RIGHT_SLOT = 'shell-rail-right-slot';
30
33
  if (m.titleKey !== undefined && typeof m.titleKey !== 'string') return false;
31
34
  if (m.icon !== undefined && typeof m.icon !== 'string') return false;
32
35
  if (m.order !== undefined && (typeof m.order !== 'number' || !Number.isFinite(m.order))) return false;
36
+ if (m.global !== undefined && typeof m.global !== 'boolean') return false;
37
+ if (m.rail !== undefined && m.rail !== 'left' && m.rail !== 'right') return false;
33
38
  return true;
34
39
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@egen-civitas/esm-extensions",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "license": "MPL-2.0",
5
5
  "description": "Coordinates extensions and extension points in the Egen Frontend",
6
6
  "type": "module",
@@ -67,7 +67,7 @@
67
67
  "@egen-civitas/esm-config": "^1.0.0",
68
68
  "@egen-civitas/esm-expression-evaluator": "^1.0.0",
69
69
  "@egen-civitas/esm-feature-flags": "^1.0.0",
70
- "@egen-civitas/esm-globals": "^1.0.0",
70
+ "@egen-civitas/esm-globals": "^1.0.3",
71
71
  "@egen-civitas/esm-state": "^1.0.0",
72
72
  "@egen-civitas/esm-translations": "^1.0.0",
73
73
  "@egen-civitas/esm-utils": "^1.0.0",
@@ -79,7 +79,7 @@
79
79
  "@egen-civitas/esm-config": "^1.0.0",
80
80
  "@egen-civitas/esm-expression-evaluator": "^1.0.0",
81
81
  "@egen-civitas/esm-feature-flags": "^1.0.0",
82
- "@egen-civitas/esm-globals": "^1.0.0",
82
+ "@egen-civitas/esm-globals": "^1.0.3",
83
83
  "@egen-civitas/esm-state": "^1.0.0",
84
84
  "@egen-civitas/esm-translations": "^1.0.0",
85
85
  "@egen-civitas/esm-utils": "^1.0.0",