@lystech/sections 0.4.3 → 0.4.4
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/editeur.js +121 -117
- package/package.json +1 -1
package/dist/editeur.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as e, jsxs as f, Fragment as ne } from "react/jsx-runtime";
|
|
2
2
|
import { createRoot as oe } from "react-dom/client";
|
|
3
|
-
import { useState as M, useRef as V, useEffect as
|
|
3
|
+
import { useState as M, useRef as V, useEffect as j, useCallback as Y, useMemo as $ } from "react";
|
|
4
4
|
function me({
|
|
5
5
|
jeton: n,
|
|
6
6
|
site: t,
|
|
@@ -20,7 +20,7 @@ function me({
|
|
|
20
20
|
});
|
|
21
21
|
return d(h, i), await h.json();
|
|
22
22
|
}
|
|
23
|
-
async function
|
|
23
|
+
async function b(o, i, h) {
|
|
24
24
|
const v = await fetch(s + o, {
|
|
25
25
|
method: i,
|
|
26
26
|
headers: a,
|
|
@@ -33,14 +33,14 @@ function me({
|
|
|
33
33
|
schemas: () => l("/site-sections/public/" + encodeURIComponent(t) + "/schemas", !1),
|
|
34
34
|
/** Ce qui existe sur une page, brouillons compris. */
|
|
35
35
|
pourPage: (o) => l("/site-sections?page=" + encodeURIComponent(o)),
|
|
36
|
-
creer: (o, i, h) =>
|
|
37
|
-
enregistrerBrouillon: (o, i) =>
|
|
38
|
-
publier: (o) =>
|
|
36
|
+
creer: (o, i, h) => b("/site-sections", "POST", { page: o, blockType: i, draft: h }),
|
|
37
|
+
enregistrerBrouillon: (o, i) => b("/site-sections/" + o + "/draft", "PUT", { draft: i }),
|
|
38
|
+
publier: (o) => b("/site-sections/" + o + "/publish", "POST"),
|
|
39
39
|
/** Ramène le brouillon à ce qui est en ligne. */
|
|
40
|
-
annuler: (o) =>
|
|
40
|
+
annuler: (o) => b("/site-sections/" + o + "/revert", "POST")
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
const fe = "data:image/png;base64,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",
|
|
43
|
+
const fe = "data:image/png;base64,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", be = {
|
|
44
44
|
apiKey: "AIzaSyCpAeHlt1wZvM5KtYg7X7MDVnWVJT86gvc",
|
|
45
45
|
authDomain: "lystech.firebaseapp.com",
|
|
46
46
|
projectId: "lystech",
|
|
@@ -48,7 +48,7 @@ const fe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAA
|
|
|
48
48
|
messagingSenderId: "237347321732",
|
|
49
49
|
appId: "1:237347321732:web:7f9586d48e488d73ddcfd1"
|
|
50
50
|
};
|
|
51
|
-
function
|
|
51
|
+
function ge() {
|
|
52
52
|
return /* @__PURE__ */ f("span", { className: "marque", children: [
|
|
53
53
|
/* @__PURE__ */ e("img", { src: fe, alt: "", width: 22, height: 22 }),
|
|
54
54
|
/* @__PURE__ */ e("span", { className: "marque__mot", children: "Lystech" })
|
|
@@ -78,7 +78,7 @@ function ve({
|
|
|
78
78
|
surJeton: r,
|
|
79
79
|
surFermer: a
|
|
80
80
|
}) {
|
|
81
|
-
const [d, l] = M({ nom: "repos" }),
|
|
81
|
+
const [d, l] = M({ nom: "repos" }), b = (v) => {
|
|
82
82
|
switch (v) {
|
|
83
83
|
case "auth/popup-blocked":
|
|
84
84
|
return "Votre navigateur a bloqué la fenêtre de connexion. Autorisez les fenêtres pour ce site, puis réessayez.";
|
|
@@ -94,7 +94,7 @@ function ve({
|
|
|
94
94
|
default:
|
|
95
95
|
return "La connexion a échoué. Réessayez dans un instant.";
|
|
96
96
|
}
|
|
97
|
-
}, o = async (v,
|
|
97
|
+
}, o = async (v, N = !1) => {
|
|
98
98
|
const D = await fetch(t + "/site-sections/edit-login/third-party", {
|
|
99
99
|
method: "POST",
|
|
100
100
|
headers: { "Content-Type": "application/json" },
|
|
@@ -102,7 +102,7 @@ function ve({
|
|
|
102
102
|
site: n,
|
|
103
103
|
token: v,
|
|
104
104
|
tokenType: "firebase",
|
|
105
|
-
demanderAcces:
|
|
105
|
+
demanderAcces: N
|
|
106
106
|
})
|
|
107
107
|
});
|
|
108
108
|
if (D.status === 429) {
|
|
@@ -148,13 +148,13 @@ function ve({
|
|
|
148
148
|
}, i = async (v) => {
|
|
149
149
|
l({ nom: "envoi", quoi: v });
|
|
150
150
|
try {
|
|
151
|
-
const [{ initializeApp:
|
|
151
|
+
const [{ initializeApp: N, getApps: D }, A] = await Promise.all([
|
|
152
152
|
import("./morceaux/index.esm-B4AB50RA.js"),
|
|
153
153
|
import("./morceaux/index.esm-B4hL1FOE.js")
|
|
154
|
-
]), q = D().find((
|
|
155
|
-
await o(
|
|
156
|
-
} catch (
|
|
157
|
-
l({ nom: "erreur", texte:
|
|
154
|
+
]), q = D().find((T) => T.name === "lystech-edition") ?? N(be, "lystech-edition"), U = v === "google" ? new A.GoogleAuthProvider() : new A.FacebookAuthProvider(), w = await (await A.signInWithPopup(A.getAuth(q), U)).user.getIdToken();
|
|
155
|
+
await o(w);
|
|
156
|
+
} catch (N) {
|
|
157
|
+
l({ nom: "erreur", texte: b(String(N?.code ?? "")) });
|
|
158
158
|
}
|
|
159
159
|
}, h = d.nom === "envoi";
|
|
160
160
|
return /* @__PURE__ */ e("div", { className: "voile", role: "dialog", "aria-modal": "true", "aria-label": "Modifier ce site", children: /* @__PURE__ */ f("div", { className: "fenetre", children: [
|
|
@@ -169,7 +169,7 @@ function ve({
|
|
|
169
169
|
}
|
|
170
170
|
),
|
|
171
171
|
/* @__PURE__ */ f("div", { className: "fenetre__tete", children: [
|
|
172
|
-
/* @__PURE__ */ e(
|
|
172
|
+
/* @__PURE__ */ e(ge, {}),
|
|
173
173
|
/* @__PURE__ */ e("h2", { className: "fenetre__titre", children: "Modifier ce site" }),
|
|
174
174
|
/* @__PURE__ */ e("p", { className: "fenetre__sous", children: "Vous vous connectez à Lystech. Cet accès ne sert qu'à modifier le contenu de ce site." })
|
|
175
175
|
] }),
|
|
@@ -335,14 +335,14 @@ function ee({ champ: n, valeur: t, changer: s }) {
|
|
|
335
335
|
}
|
|
336
336
|
function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
337
337
|
if (n.type === "list") {
|
|
338
|
-
const a = Array.isArray(t) ? t : [], d = n.of ?? [], l = (
|
|
339
|
-
const h = a.map((v,
|
|
338
|
+
const a = Array.isArray(t) ? t : [], d = n.of ?? [], l = (b, o, i) => {
|
|
339
|
+
const h = a.map((v, N) => N === b ? { ...v, [o]: i } : v);
|
|
340
340
|
s(h);
|
|
341
341
|
};
|
|
342
342
|
return /* @__PURE__ */ f("div", { className: "champ", children: [
|
|
343
343
|
/* @__PURE__ */ e("span", { className: "champ__etiquette", children: n.label }),
|
|
344
344
|
n.help && /* @__PURE__ */ e("p", { className: "champ__aide", children: n.help }),
|
|
345
|
-
a.map((
|
|
345
|
+
a.map((b, o) => /* @__PURE__ */ f("div", { className: "liste__item", children: [
|
|
346
346
|
/* @__PURE__ */ f("div", { className: "liste__tete", children: [
|
|
347
347
|
/* @__PURE__ */ e("span", { className: "liste__rang", children: o + 1 }),
|
|
348
348
|
/* @__PURE__ */ f("span", { style: { display: "flex", gap: 4 }, children: [
|
|
@@ -391,7 +391,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
391
391
|
{
|
|
392
392
|
champ: i,
|
|
393
393
|
langue: r,
|
|
394
|
-
valeur:
|
|
394
|
+
valeur: b?.[i.key],
|
|
395
395
|
changer: (h) => l(o, i.key, h)
|
|
396
396
|
},
|
|
397
397
|
i.key
|
|
@@ -404,7 +404,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
404
404
|
className: "bouton",
|
|
405
405
|
onClick: () => s([
|
|
406
406
|
...a,
|
|
407
|
-
Object.fromEntries(d.map((
|
|
407
|
+
Object.fromEntries(d.map((b) => [b.key, ye(b)]))
|
|
408
408
|
]),
|
|
409
409
|
children: "+ Ajouter"
|
|
410
410
|
}
|
|
@@ -423,7 +423,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
423
423
|
{
|
|
424
424
|
champ: n,
|
|
425
425
|
valeur: d[l],
|
|
426
|
-
changer: (
|
|
426
|
+
changer: (b) => s({ ...d, [l]: b })
|
|
427
427
|
}
|
|
428
428
|
)
|
|
429
429
|
] }, l))
|
|
@@ -442,8 +442,8 @@ function we(n) {
|
|
|
442
442
|
for (const [a, d] of Object.entries(r)) {
|
|
443
443
|
const l = String(d ?? "").trim();
|
|
444
444
|
if (l.length < 2 || l.includes("{{")) continue;
|
|
445
|
-
const
|
|
446
|
-
|
|
445
|
+
const b = t.get(l);
|
|
446
|
+
b ? b.push({ ns: s, chemin: a }) : t.set(l, [{ ns: s, chemin: a }]);
|
|
447
447
|
}
|
|
448
448
|
return t;
|
|
449
449
|
}
|
|
@@ -463,18 +463,18 @@ function Ne({
|
|
|
463
463
|
actif: t,
|
|
464
464
|
surModification: s
|
|
465
465
|
}) {
|
|
466
|
-
const r = V(/* @__PURE__ */ new Map()), a = V(null), [d, l] = M(null),
|
|
467
|
-
|
|
466
|
+
const r = V(/* @__PURE__ */ new Map()), a = V(null), [d, l] = M(null), b = V(n);
|
|
467
|
+
b.current = n;
|
|
468
468
|
const o = V(s);
|
|
469
|
-
return o.current = s,
|
|
469
|
+
return o.current = s, j(() => {
|
|
470
470
|
if (!t) return;
|
|
471
|
-
const i =
|
|
471
|
+
const i = b.current.langueCourante(), h = we(b.current.dictionnaire(i)), v = () => {
|
|
472
472
|
r.current = Ce(h);
|
|
473
473
|
};
|
|
474
474
|
v();
|
|
475
|
-
let
|
|
475
|
+
let N;
|
|
476
476
|
const D = new MutationObserver(() => {
|
|
477
|
-
a.current || (clearTimeout(
|
|
477
|
+
a.current || (clearTimeout(N), N = setTimeout(v, 250));
|
|
478
478
|
});
|
|
479
479
|
D.observe(document.body, { childList: !0, subtree: !0 });
|
|
480
480
|
const A = "outline:2px dashed rgba(59,165,141,.85);outline-offset:3px;border-radius:3px;cursor:text;", q = (p) => {
|
|
@@ -502,7 +502,7 @@ function Ne({
|
|
|
502
502
|
), p.focus();
|
|
503
503
|
const _ = window.getSelection(), Q = document.createRange();
|
|
504
504
|
Q.selectNodeContents(p), _?.removeAllRanges(), _?.addRange(Q);
|
|
505
|
-
},
|
|
505
|
+
}, w = async (p) => {
|
|
506
506
|
const c = a.current;
|
|
507
507
|
if (!c) return;
|
|
508
508
|
a.current = null;
|
|
@@ -513,14 +513,14 @@ function Ne({
|
|
|
513
513
|
p && (c.el.textContent = c.avant);
|
|
514
514
|
return;
|
|
515
515
|
}
|
|
516
|
-
const Q =
|
|
517
|
-
|
|
518
|
-
},
|
|
516
|
+
const Q = b.current.langueCourante();
|
|
517
|
+
b.current.poser(Q, c.ns, c.chemin, x), await o.current(c.ns, c.chemin, Q, x);
|
|
518
|
+
}, T = (p) => {
|
|
519
519
|
const c = p.target;
|
|
520
520
|
if (!(c instanceof HTMLElement)) return;
|
|
521
521
|
if (a.current) {
|
|
522
522
|
if (a.current.el === c) return;
|
|
523
|
-
|
|
523
|
+
w(!1);
|
|
524
524
|
}
|
|
525
525
|
const x = r.current.get(c);
|
|
526
526
|
if (x) {
|
|
@@ -535,21 +535,21 @@ function Ne({
|
|
|
535
535
|
y: p.clientY
|
|
536
536
|
});
|
|
537
537
|
}
|
|
538
|
-
},
|
|
539
|
-
a.current && (p.key === "Escape" ? (p.preventDefault(),
|
|
538
|
+
}, E = (p) => {
|
|
539
|
+
a.current && (p.key === "Escape" ? (p.preventDefault(), w(!0)) : p.key === "Enter" && !p.shiftKey && (p.preventDefault(), w(!1)));
|
|
540
540
|
}, O = () => {
|
|
541
|
-
a.current &&
|
|
541
|
+
a.current && w(!1);
|
|
542
542
|
};
|
|
543
|
-
document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click",
|
|
543
|
+
document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click", T, !0);
|
|
544
544
|
const R = (p) => {
|
|
545
545
|
if (!a.current) return;
|
|
546
546
|
const c = p.inputType;
|
|
547
|
-
(c === "insertParagraph" || c === "insertLineBreak") && (p.preventDefault(),
|
|
547
|
+
(c === "insertParagraph" || c === "insertLineBreak") && (p.preventDefault(), w(!1));
|
|
548
548
|
};
|
|
549
|
-
return document.addEventListener("beforeinput", R, !0), document.addEventListener("keydown",
|
|
549
|
+
return document.addEventListener("beforeinput", R, !0), document.addEventListener("keydown", E, !0), document.addEventListener("focusout", O, !0), window.__lysChoisir = (p, c) => {
|
|
550
550
|
l(null), I(c, p);
|
|
551
551
|
}, () => {
|
|
552
|
-
clearTimeout(
|
|
552
|
+
clearTimeout(N), D.disconnect(), document.removeEventListener("mouseover", q, !0), document.removeEventListener("mouseout", U, !0), document.removeEventListener("click", T, !0), document.removeEventListener("beforeinput", R, !0), document.removeEventListener("keydown", E, !0), document.removeEventListener("focusout", O, !0), a.current && w(!0), delete window.__lysChoisir;
|
|
553
553
|
};
|
|
554
554
|
}, [t]), d ? /* @__PURE__ */ f(
|
|
555
555
|
"div",
|
|
@@ -588,12 +588,12 @@ function Ne({
|
|
|
588
588
|
}
|
|
589
589
|
) : null;
|
|
590
590
|
}
|
|
591
|
-
const
|
|
591
|
+
const X = /^i18n:([^:]+):(.*)$/, G = "commun", H = "lystech-edit-mode";
|
|
592
592
|
function te(n, t) {
|
|
593
593
|
return JSON.stringify(n ?? {}) === JSON.stringify(t ?? {});
|
|
594
594
|
}
|
|
595
595
|
function Ee({ api: n, pont: t }) {
|
|
596
|
-
const [s, r] = M([]), [a, d] = M([]), [l,
|
|
596
|
+
const [s, r] = M([]), [a, d] = M([]), [l, b] = M(t.page), [o, i] = M(null), [h, v] = M({}), [N, D] = M(!1), [A, q] = M(() => {
|
|
597
597
|
try {
|
|
598
598
|
return window.localStorage.getItem(H) === "circuler" ? "circuler" : "modifier";
|
|
599
599
|
} catch {
|
|
@@ -606,11 +606,11 @@ function Ee({ api: n, pont: t }) {
|
|
|
606
606
|
} catch {
|
|
607
607
|
}
|
|
608
608
|
return m;
|
|
609
|
-
}), [I,
|
|
609
|
+
}), [I, w] = M(!1), [T, E] = M(
|
|
610
610
|
null
|
|
611
611
|
);
|
|
612
|
-
|
|
613
|
-
|
|
612
|
+
j(() => (t.surChangementDePage = (u) => {
|
|
613
|
+
b(u), i(null), D(!1);
|
|
614
614
|
}, () => {
|
|
615
615
|
t.surChangementDePage = void 0;
|
|
616
616
|
}), [t]);
|
|
@@ -619,32 +619,32 @@ function Ee({ api: n, pont: t }) {
|
|
|
619
619
|
const [u, m] = await Promise.all([
|
|
620
620
|
n.pourPage(l),
|
|
621
621
|
l === G ? Promise.resolve([]) : n.pourPage(G)
|
|
622
|
-
]),
|
|
623
|
-
return d(
|
|
622
|
+
]), g = [...u, ...m];
|
|
623
|
+
return d(g), g;
|
|
624
624
|
} catch {
|
|
625
|
-
return
|
|
625
|
+
return E({
|
|
626
626
|
ton: "erreur",
|
|
627
627
|
texte: "Impossible de lire le contenu du site."
|
|
628
628
|
}), [];
|
|
629
629
|
}
|
|
630
630
|
}, [n, l]);
|
|
631
|
-
|
|
631
|
+
j(() => {
|
|
632
632
|
n.schemas().then(r).catch(() => r([]));
|
|
633
|
-
}, [n]),
|
|
633
|
+
}, [n]), j(() => {
|
|
634
634
|
O();
|
|
635
635
|
}, [O]);
|
|
636
636
|
const R = Y(
|
|
637
637
|
(u, m) => {
|
|
638
|
-
let
|
|
638
|
+
let g = null, y = -1;
|
|
639
639
|
for (const z of s) {
|
|
640
|
-
const
|
|
641
|
-
if (!
|
|
642
|
-
const
|
|
643
|
-
(
|
|
640
|
+
const k = X.exec(z.blockType);
|
|
641
|
+
if (!k || k[1] !== u) continue;
|
|
642
|
+
const C = k[2];
|
|
643
|
+
(C === "" || m === C || m.startsWith(C + ".")) && C.length > y && (g = z, y = C.length);
|
|
644
644
|
}
|
|
645
|
-
if (!
|
|
646
|
-
const S =
|
|
647
|
-
return { bloc:
|
|
645
|
+
if (!g) return null;
|
|
646
|
+
const S = X.exec(g.blockType)?.[2] ?? "", P = S ? m.slice(S.length + 1) : m;
|
|
647
|
+
return { bloc: g, champ: P };
|
|
648
648
|
},
|
|
649
649
|
[s]
|
|
650
650
|
), p = Y(
|
|
@@ -660,26 +660,26 @@ function Ee({ api: n, pont: t }) {
|
|
|
660
660
|
() => a.filter((u) => u.draft && !te(u.draft, u.data)),
|
|
661
661
|
[a]
|
|
662
662
|
), _ = Y(
|
|
663
|
-
async (u, m,
|
|
663
|
+
async (u, m, g, y) => {
|
|
664
664
|
const S = R(u, m);
|
|
665
665
|
if (!S) {
|
|
666
|
-
|
|
666
|
+
E({
|
|
667
667
|
ton: "erreur",
|
|
668
668
|
texte: `Ce texte (${u}:${m}) n'appartient à aucun bloc déclaré.`
|
|
669
669
|
});
|
|
670
670
|
return;
|
|
671
671
|
}
|
|
672
|
-
const
|
|
672
|
+
const P = a.find((L) => L.blockType === S.bloc.blockType), z = P?.draft ?? P?.data ?? {}, k = z[S.champ], C = k && typeof k == "object" && !Array.isArray(k) ? { ...k, [g]: y } : { [g]: y }, B = { ...z, [S.champ]: C };
|
|
673
673
|
try {
|
|
674
|
-
if (
|
|
675
|
-
await n.enregistrerBrouillon(
|
|
674
|
+
if (P?.UID)
|
|
675
|
+
await n.enregistrerBrouillon(P.UID, B);
|
|
676
676
|
else {
|
|
677
677
|
const L = S.bloc.pages?.[0] ?? l;
|
|
678
678
|
await n.creer(L, S.bloc.blockType, B);
|
|
679
679
|
}
|
|
680
|
-
await O(),
|
|
680
|
+
await O(), E(null);
|
|
681
681
|
} catch {
|
|
682
|
-
|
|
682
|
+
E({
|
|
683
683
|
ton: "erreur",
|
|
684
684
|
texte: "Enregistrement impossible. Votre texte est toujours à l'écran."
|
|
685
685
|
});
|
|
@@ -688,87 +688,91 @@ function Ee({ api: n, pont: t }) {
|
|
|
688
688
|
[n, R, l, O, a]
|
|
689
689
|
), Q = async () => {
|
|
690
690
|
if (!x.length) return;
|
|
691
|
-
|
|
691
|
+
w(!0), E(null);
|
|
692
692
|
const u = x.length;
|
|
693
693
|
try {
|
|
694
694
|
for (const m of x) await n.publier(m.UID);
|
|
695
|
-
await O()
|
|
695
|
+
await O();
|
|
696
|
+
for (const m of x) t.poserApercu(m.blockType, null);
|
|
697
|
+
t.recharger(), E({
|
|
696
698
|
ton: "ok",
|
|
697
699
|
texte: u === 1 ? "Publié. Vos visiteurs le voient maintenant." : `${u} modifications publiées.`
|
|
698
700
|
});
|
|
699
701
|
} catch {
|
|
700
|
-
|
|
702
|
+
E({
|
|
701
703
|
ton: "erreur",
|
|
702
704
|
texte: "La publication a échoué. Rien n'a été mis en ligne."
|
|
703
705
|
});
|
|
704
706
|
} finally {
|
|
705
|
-
|
|
707
|
+
w(!1);
|
|
706
708
|
}
|
|
707
709
|
}, ie = async () => {
|
|
708
|
-
|
|
710
|
+
w(!0);
|
|
709
711
|
try {
|
|
710
|
-
|
|
711
|
-
const
|
|
712
|
+
const u = x.map((g) => g.blockType);
|
|
713
|
+
for (const g of x) await n.annuler(g.UID);
|
|
714
|
+
const m = await O();
|
|
715
|
+
for (const g of u) t.poserApercu(g, null);
|
|
712
716
|
if (t.sourceTexte) {
|
|
713
|
-
const { appliquerAuxTextes:
|
|
714
|
-
|
|
715
|
-
|
|
717
|
+
const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
718
|
+
g(
|
|
719
|
+
m.map((y) => ({ blockType: y.blockType, data: y.data })),
|
|
716
720
|
t.sourceTexte
|
|
717
721
|
);
|
|
718
722
|
}
|
|
719
|
-
|
|
723
|
+
E({
|
|
720
724
|
ton: "info",
|
|
721
725
|
texte: "Modifications abandonnées. On est revenu à ce qui est en ligne."
|
|
722
726
|
});
|
|
723
727
|
} finally {
|
|
724
|
-
|
|
728
|
+
w(!1);
|
|
725
729
|
}
|
|
726
730
|
}, ce = (u) => {
|
|
727
|
-
const m = a.find((z) => z.blockType === u),
|
|
728
|
-
if (S &&
|
|
729
|
-
const z = S[1],
|
|
730
|
-
for (const L of
|
|
731
|
+
const m = a.find((z) => z.blockType === u), g = m?.draft ?? m?.data ?? {}, y = p(u), S = X.exec(u), P = {};
|
|
732
|
+
if (S && y && t.sourceTexte) {
|
|
733
|
+
const z = S[1], k = S[2], C = t.sourceTexte.langues(), B = {};
|
|
734
|
+
for (const L of C)
|
|
731
735
|
B[L] = t.sourceTexte.dictionnaire(L)[z] ?? {};
|
|
732
|
-
for (const L of
|
|
733
|
-
const pe =
|
|
734
|
-
for (const J of
|
|
736
|
+
for (const L of y.fields) {
|
|
737
|
+
const pe = k ? k + "." + L.key : L.key, Z = {};
|
|
738
|
+
for (const J of C) {
|
|
735
739
|
const K = B[J]?.[pe];
|
|
736
|
-
typeof K == "string" && (
|
|
740
|
+
typeof K == "string" && (Z[J] = K);
|
|
737
741
|
}
|
|
738
|
-
Object.keys(
|
|
742
|
+
Object.keys(Z).length && (P[L.key] = Z);
|
|
739
743
|
}
|
|
740
744
|
}
|
|
741
|
-
for (const [z,
|
|
742
|
-
const
|
|
743
|
-
|
|
745
|
+
for (const [z, k] of Object.entries(g)) {
|
|
746
|
+
const C = P[z], B = k && typeof k == "object" && !Array.isArray(k) && C && typeof C == "object" && !Array.isArray(C);
|
|
747
|
+
P[z] = B ? { ...C, ...k } : k;
|
|
744
748
|
}
|
|
745
|
-
v(
|
|
746
|
-
}, le = (u, m) => v((
|
|
749
|
+
v(P), i(u), D(!1), E(null);
|
|
750
|
+
}, le = (u, m) => v((g) => ({ ...g, [u]: m })), ue = async () => {
|
|
747
751
|
if (o) {
|
|
748
|
-
|
|
752
|
+
w(!0);
|
|
749
753
|
try {
|
|
750
|
-
const u = a.find((
|
|
754
|
+
const u = a.find((g) => g.blockType === o);
|
|
751
755
|
if (u?.UID) await n.enregistrerBrouillon(u.UID, h);
|
|
752
756
|
else {
|
|
753
|
-
const
|
|
754
|
-
await n.creer(
|
|
757
|
+
const g = p(o)?.pages?.[0] ?? l;
|
|
758
|
+
await n.creer(g, o, h);
|
|
755
759
|
}
|
|
756
760
|
const m = await O();
|
|
757
761
|
if (t.sourceTexte) {
|
|
758
|
-
const { appliquerAuxTextes:
|
|
759
|
-
|
|
760
|
-
m.map((
|
|
762
|
+
const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
763
|
+
g(
|
|
764
|
+
m.map((y) => ({ blockType: y.blockType, data: y.draft ?? y.data })),
|
|
761
765
|
t.sourceTexte
|
|
762
766
|
);
|
|
763
767
|
}
|
|
764
|
-
|
|
768
|
+
X.test(o) || t.poserApercu(o, h), E({
|
|
765
769
|
ton: "ok",
|
|
766
770
|
texte: "Enregistré. Rien n'a encore changé pour vos visiteurs."
|
|
767
771
|
});
|
|
768
772
|
} catch {
|
|
769
|
-
|
|
773
|
+
E({ ton: "erreur", texte: "L'enregistrement a échoué." });
|
|
770
774
|
} finally {
|
|
771
|
-
|
|
775
|
+
w(!1);
|
|
772
776
|
}
|
|
773
777
|
}
|
|
774
778
|
}, de = () => {
|
|
@@ -781,7 +785,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
781
785
|
} catch {
|
|
782
786
|
}
|
|
783
787
|
window.location.reload();
|
|
784
|
-
}, F = o ? p(o) : void 0,
|
|
788
|
+
}, F = o ? p(o) : void 0, W = !o && !N;
|
|
785
789
|
return /* @__PURE__ */ f("div", { className: "calque", children: [
|
|
786
790
|
/* @__PURE__ */ e(
|
|
787
791
|
"div",
|
|
@@ -794,11 +798,11 @@ function Ee({ api: n, pont: t }) {
|
|
|
794
798
|
Ne,
|
|
795
799
|
{
|
|
796
800
|
source: t.sourceTexte,
|
|
797
|
-
actif:
|
|
801
|
+
actif: W && !I && A === "modifier",
|
|
798
802
|
surModification: _
|
|
799
803
|
}
|
|
800
804
|
),
|
|
801
|
-
|
|
805
|
+
W && /* @__PURE__ */ f("div", { className: "barre", children: [
|
|
802
806
|
/* @__PURE__ */ e("span", { className: "barre__point" }),
|
|
803
807
|
/* @__PURE__ */ e("span", { className: "barre__texte", children: A === "modifier" ? "Cliquez un texte pour le corriger" : "Navigation libre — les clics ouvrent les liens" }),
|
|
804
808
|
/* @__PURE__ */ e(
|
|
@@ -857,8 +861,8 @@ function Ee({ api: n, pont: t }) {
|
|
|
857
861
|
}
|
|
858
862
|
)
|
|
859
863
|
] }),
|
|
860
|
-
|
|
861
|
-
|
|
864
|
+
T && W && /* @__PURE__ */ e("div", { className: "flottant", children: /* @__PURE__ */ e("p", { className: "message message--" + T.ton, children: T.texte }) }),
|
|
865
|
+
N && /* @__PURE__ */ f("div", { className: "panneau", role: "dialog", "aria-label": "Tous les contenus", children: [
|
|
862
866
|
/* @__PURE__ */ f("div", { className: "panneau__tete", children: [
|
|
863
867
|
/* @__PURE__ */ f("div", { style: { flex: 1 }, children: [
|
|
864
868
|
/* @__PURE__ */ e("h2", { className: "panneau__titre", children: "Tous les contenus" }),
|
|
@@ -878,7 +882,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
878
882
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
879
883
|
c.length === 0 && /* @__PURE__ */ e("p", { className: "message message--info", children: "Aucun contenu déclaré pour cette page." }),
|
|
880
884
|
c.map((u) => {
|
|
881
|
-
const m = a.find((
|
|
885
|
+
const m = a.find((y) => y.blockType === u.blockType), g = m?.draft && !te(m.draft, m.data);
|
|
882
886
|
return /* @__PURE__ */ f(
|
|
883
887
|
"button",
|
|
884
888
|
{
|
|
@@ -887,7 +891,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
887
891
|
onClick: () => ce(u.blockType),
|
|
888
892
|
children: [
|
|
889
893
|
/* @__PURE__ */ e("span", { className: "rangee__nom", children: u.label }),
|
|
890
|
-
/* @__PURE__ */ e("span", { className: "rangee__info", children:
|
|
894
|
+
/* @__PURE__ */ e("span", { className: "rangee__info", children: g ? "non publié" : `${u.fields.length} textes` })
|
|
891
895
|
]
|
|
892
896
|
},
|
|
893
897
|
u.blockType
|
|
@@ -919,7 +923,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
919
923
|
)
|
|
920
924
|
] }),
|
|
921
925
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
922
|
-
|
|
926
|
+
T && /* @__PURE__ */ e("p", { className: "message message--" + T.ton, children: T.texte }),
|
|
923
927
|
F.fields.map((u) => /* @__PURE__ */ e(
|
|
924
928
|
re,
|
|
925
929
|
{
|
|
@@ -1339,7 +1343,7 @@ input:focus, select:focus, textarea:focus {
|
|
|
1339
1343
|
discrete le reste du temps — c'est le geste qu'on fait une fois. */
|
|
1340
1344
|
.bouton--sortie { color: var(--texte-doux); background: transparent; border-color: transparent; }
|
|
1341
1345
|
.bouton--sortie:hover { background: rgba(217, 119, 106, 0.16); color: var(--danger); }
|
|
1342
|
-
`,
|
|
1346
|
+
`, Te = "lystech-editeur-hote", Pe = "lystech-connexion-hote";
|
|
1343
1347
|
function ae(n) {
|
|
1344
1348
|
document.getElementById(n)?.remove();
|
|
1345
1349
|
const t = document.createElement("div");
|
|
@@ -1364,7 +1368,7 @@ function Ie({
|
|
|
1364
1368
|
methodes: s,
|
|
1365
1369
|
surJeton: r
|
|
1366
1370
|
}) {
|
|
1367
|
-
const { hote: a, point: d } = ae(
|
|
1371
|
+
const { hote: a, point: d } = ae(Pe), l = oe(d), b = () => o();
|
|
1368
1372
|
l.render(
|
|
1369
1373
|
/* @__PURE__ */ e(
|
|
1370
1374
|
ve,
|
|
@@ -1375,7 +1379,7 @@ function Ie({
|
|
|
1375
1379
|
surJeton: (i) => {
|
|
1376
1380
|
o(), r(i);
|
|
1377
1381
|
},
|
|
1378
|
-
surFermer:
|
|
1382
|
+
surFermer: b
|
|
1379
1383
|
}
|
|
1380
1384
|
)
|
|
1381
1385
|
);
|
|
@@ -1388,7 +1392,7 @@ function Be({
|
|
|
1388
1392
|
apiBaseUrl: s,
|
|
1389
1393
|
pont: r
|
|
1390
1394
|
}) {
|
|
1391
|
-
const { hote: a, point: d } = ae(
|
|
1395
|
+
const { hote: a, point: d } = ae(Te), l = oe(d), b = () => {
|
|
1392
1396
|
try {
|
|
1393
1397
|
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit");
|
|
1394
1398
|
} catch {
|
|
@@ -1403,7 +1407,7 @@ function Be({
|
|
|
1403
1407
|
/* @__PURE__ */ e(
|
|
1404
1408
|
Ee,
|
|
1405
1409
|
{
|
|
1406
|
-
api: me({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse:
|
|
1410
|
+
api: me({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse: b }),
|
|
1407
1411
|
pont: r
|
|
1408
1412
|
}
|
|
1409
1413
|
)
|