@hgdc/ui 0.74.0 → 0.74.1
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/dist/product-switch.d.ts +5 -1
- package/dist/product-switch.js +12 -3
- package/package.json +1 -1
package/dist/product-switch.d.ts
CHANGED
|
@@ -27,7 +27,11 @@ export declare const SESSION_OPEN_KEY_PREFIX = "hgdc-session-open:";
|
|
|
27
27
|
* déconnexion (changer de compte, poste partagé) n'est jamais défaite sans la personne.
|
|
28
28
|
*/
|
|
29
29
|
export declare const SESSION_OPEN_PAUSED_KEY = "hgdc-session-open:paused";
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* À la déconnexion d'un module : plus d'ouverture en arrière-plan jusqu'à la prochaine connexion, et
|
|
32
|
+
* les cadres d'ouverture en cours sont retirés (un cadre en vol reposerait la session d'un module
|
|
33
|
+
* juste après la déconnexion).
|
|
34
|
+
*/
|
|
31
35
|
export declare function pauseSessionOpening(win?: Window | null): void;
|
|
32
36
|
/** Marque d'un lien de la barre vers un autre produit servi sous la même origine : prérendu au survol. */
|
|
33
37
|
export declare const PRODUCT_PRERENDER_ATTRIBUTE = "data-hgdc-prerender";
|
package/dist/product-switch.js
CHANGED
|
@@ -38,7 +38,13 @@ export const SESSION_OPEN_KEY_PREFIX = "hgdc-session-open:";
|
|
|
38
38
|
* déconnexion (changer de compte, poste partagé) n'est jamais défaite sans la personne.
|
|
39
39
|
*/
|
|
40
40
|
export const SESSION_OPEN_PAUSED_KEY = "hgdc-session-open:paused";
|
|
41
|
-
/**
|
|
41
|
+
/** Marque des cadres d'ouverture (`startSessionOpening`), retirés par `pauseSessionOpening`. */
|
|
42
|
+
const SESSION_OPEN_FRAME_ATTRIBUTE = "data-hgdc-session-open";
|
|
43
|
+
/**
|
|
44
|
+
* À la déconnexion d'un module : plus d'ouverture en arrière-plan jusqu'à la prochaine connexion, et
|
|
45
|
+
* les cadres d'ouverture en cours sont retirés (un cadre en vol reposerait la session d'un module
|
|
46
|
+
* juste après la déconnexion).
|
|
47
|
+
*/
|
|
42
48
|
export function pauseSessionOpening(win = typeof window === "undefined" ? null : window) {
|
|
43
49
|
try {
|
|
44
50
|
win?.localStorage.setItem(SESSION_OPEN_PAUSED_KEY, String(Date.now()));
|
|
@@ -46,6 +52,8 @@ export function pauseSessionOpening(win = typeof window === "undefined" ? null :
|
|
|
46
52
|
catch {
|
|
47
53
|
// Stockage refusé : l'ouverture n'a pas lieu non plus sans lui (`startSessionOpening`).
|
|
48
54
|
}
|
|
55
|
+
for (const frame of win?.document.querySelectorAll(`iframe[${SESSION_OPEN_FRAME_ATTRIBUTE}]`) ?? [])
|
|
56
|
+
frame.remove();
|
|
49
57
|
}
|
|
50
58
|
/** Marque d'un lien de la barre vers un autre produit servi sous la même origine : prérendu au survol. */
|
|
51
59
|
export const PRODUCT_PRERENDER_ATTRIBUTE = "data-hgdc-prerender";
|
|
@@ -219,9 +227,10 @@ export function startSessionOpening(bases, doc = document) {
|
|
|
219
227
|
let stopped = false;
|
|
220
228
|
const next = () => {
|
|
221
229
|
const base = queue.shift();
|
|
222
|
-
|
|
230
|
+
// Relu avant chaque cadre : une déconnexion pendant la file l'arrête.
|
|
231
|
+
if (stopped || base === undefined || openingPaused(win))
|
|
223
232
|
return;
|
|
224
|
-
openHiddenFrame(doc, `${base}${SESSION_OPEN_PATH}`, next);
|
|
233
|
+
openHiddenFrame(doc, `${base}${SESSION_OPEN_PATH}`, next).setAttribute(SESSION_OPEN_FRAME_ATTRIBUTE, "");
|
|
225
234
|
};
|
|
226
235
|
next();
|
|
227
236
|
return () => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hgdc/ui",
|
|
3
|
-
"version": "0.74.
|
|
3
|
+
"version": "0.74.1",
|
|
4
4
|
"description": "Interface de la H Collection : jetons de la DA, thèmes, polices et composants.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"homepage": "https://github.com/hugogebel-boop/hgdc-kit/tree/main/packages/ui#readme",
|