@lystech/sections 0.4.4 → 0.4.5
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 +186 -174
- package/package.json +1 -1
package/dist/editeur.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsx as e, jsxs as f, Fragment as
|
|
2
|
-
import { createRoot as
|
|
3
|
-
import { useState as
|
|
4
|
-
function
|
|
1
|
+
import { jsx as e, jsxs as f, Fragment as re } from "react/jsx-runtime";
|
|
2
|
+
import { createRoot as ae } from "react-dom/client";
|
|
3
|
+
import { useState as O, useRef as j, useEffect as G, useCallback as W, useMemo as te } from "react";
|
|
4
|
+
function fe({
|
|
5
5
|
jeton: n,
|
|
6
6
|
site: t,
|
|
7
7
|
apiBaseUrl: s,
|
|
@@ -40,7 +40,7 @@ function me({
|
|
|
40
40
|
annuler: (o) => b("/site-sections/" + o + "/revert", "POST")
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
-
const
|
|
43
|
+
const be = "data:image/png;base64,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", ge = {
|
|
44
44
|
apiKey: "AIzaSyCpAeHlt1wZvM5KtYg7X7MDVnWVJT86gvc",
|
|
45
45
|
authDomain: "lystech.firebaseapp.com",
|
|
46
46
|
projectId: "lystech",
|
|
@@ -48,13 +48,13 @@ const fe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAA
|
|
|
48
48
|
messagingSenderId: "237347321732",
|
|
49
49
|
appId: "1:237347321732:web:7f9586d48e488d73ddcfd1"
|
|
50
50
|
};
|
|
51
|
-
function
|
|
51
|
+
function he() {
|
|
52
52
|
return /* @__PURE__ */ f("span", { className: "marque", children: [
|
|
53
|
-
/* @__PURE__ */ e("img", { src:
|
|
53
|
+
/* @__PURE__ */ e("img", { src: be, alt: "", width: 22, height: 22 }),
|
|
54
54
|
/* @__PURE__ */ e("span", { className: "marque__mot", children: "Lystech" })
|
|
55
55
|
] });
|
|
56
56
|
}
|
|
57
|
-
function
|
|
57
|
+
function xe() {
|
|
58
58
|
return /* @__PURE__ */ f("svg", { viewBox: "0 0 18 18", "aria-hidden": "true", focusable: "false", className: "logo", children: [
|
|
59
59
|
/* @__PURE__ */ e("path", { fill: "#4285F4", d: "M17.64 9.2c0-.64-.06-1.25-.16-1.84H9v3.48h4.84a4.14 4.14 0 0 1-1.8 2.72v2.26h2.91c1.7-1.57 2.69-3.88 2.69-6.62z" }),
|
|
60
60
|
/* @__PURE__ */ e("path", { fill: "#34A853", d: "M9 18c2.43 0 4.47-.8 5.96-2.18l-2.91-2.26c-.81.54-1.84.86-3.05.86-2.34 0-4.33-1.58-5.04-3.71H.96v2.33A9 9 0 0 0 9 18z" }),
|
|
@@ -62,7 +62,7 @@ function he() {
|
|
|
62
62
|
/* @__PURE__ */ e("path", { fill: "#EA4335", d: "M9 3.58c1.32 0 2.5.45 3.44 1.35l2.58-2.59C13.46.89 11.43 0 9 0A9 9 0 0 0 .96 4.96l3 2.33C4.67 5.16 6.66 3.58 9 3.58z" })
|
|
63
63
|
] });
|
|
64
64
|
}
|
|
65
|
-
function
|
|
65
|
+
function ve() {
|
|
66
66
|
return /* @__PURE__ */ e("svg", { viewBox: "0 0 24 24", "aria-hidden": "true", focusable: "false", className: "logo", children: /* @__PURE__ */ e(
|
|
67
67
|
"path",
|
|
68
68
|
{
|
|
@@ -71,14 +71,14 @@ function xe() {
|
|
|
71
71
|
}
|
|
72
72
|
) });
|
|
73
73
|
}
|
|
74
|
-
function
|
|
74
|
+
function ye({
|
|
75
75
|
site: n,
|
|
76
76
|
apiBaseUrl: t,
|
|
77
77
|
methodes: s = ["google", "facebook"],
|
|
78
78
|
surJeton: r,
|
|
79
79
|
surFermer: a
|
|
80
80
|
}) {
|
|
81
|
-
const [d, l] =
|
|
81
|
+
const [d, l] = O({ 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, E = !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: E
|
|
106
106
|
})
|
|
107
107
|
});
|
|
108
108
|
if (D.status === 429) {
|
|
@@ -112,12 +112,12 @@ function ve({
|
|
|
112
112
|
});
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
|
-
const
|
|
116
|
-
if (
|
|
117
|
-
r(
|
|
115
|
+
const y = await D.json().catch(() => null);
|
|
116
|
+
if (y?.ok && y?.token) {
|
|
117
|
+
r(y.token);
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
|
-
switch (
|
|
120
|
+
switch (y?.raison) {
|
|
121
121
|
case "sans_acces":
|
|
122
122
|
l({ nom: "sans-acces", jeton: v });
|
|
123
123
|
return;
|
|
@@ -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: E, getApps: D }, y] = 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: b(String(
|
|
154
|
+
]), q = D().find((M) => M.name === "lystech-edition") ?? E(ge, "lystech-edition"), U = v === "google" ? new y.GoogleAuthProvider() : new y.FacebookAuthProvider(), C = await (await y.signInWithPopup(y.getAuth(q), U)).user.getIdToken();
|
|
155
|
+
await o(C);
|
|
156
|
+
} catch (E) {
|
|
157
|
+
l({ nom: "erreur", texte: b(String(E?.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(he, {}),
|
|
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
|
] }),
|
|
@@ -207,7 +207,7 @@ function ve({
|
|
|
207
207
|
i("google");
|
|
208
208
|
},
|
|
209
209
|
children: [
|
|
210
|
-
/* @__PURE__ */ e(
|
|
210
|
+
/* @__PURE__ */ e(xe, {}),
|
|
211
211
|
/* @__PURE__ */ e("span", { children: d.nom === "envoi" && d.quoi === "google" ? "Connexion…" : "Continuer avec Google" })
|
|
212
212
|
]
|
|
213
213
|
}
|
|
@@ -222,7 +222,7 @@ function ve({
|
|
|
222
222
|
i("facebook");
|
|
223
223
|
},
|
|
224
224
|
children: [
|
|
225
|
-
/* @__PURE__ */ e(
|
|
225
|
+
/* @__PURE__ */ e(ve, {}),
|
|
226
226
|
/* @__PURE__ */ e("span", { children: d.nom === "envoi" && d.quoi === "facebook" ? "Connexion…" : "Continuer avec Facebook" })
|
|
227
227
|
]
|
|
228
228
|
}
|
|
@@ -235,7 +235,7 @@ function Ae(n, t) {
|
|
|
235
235
|
const s = n && typeof n == "object" && !Array.isArray(n) ? Object.keys(n).filter((a) => /^[a-z]{2}(-[A-Za-z]{2})?$/.test(a)) : [], r = t.slice(0, 2);
|
|
236
236
|
return Array.from(/* @__PURE__ */ new Set([r, ...s]));
|
|
237
237
|
}
|
|
238
|
-
function
|
|
238
|
+
function ke(n) {
|
|
239
239
|
switch (n.type) {
|
|
240
240
|
case "number":
|
|
241
241
|
return 0;
|
|
@@ -247,7 +247,7 @@ function ye(n) {
|
|
|
247
247
|
return "";
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
|
-
function
|
|
250
|
+
function ne({ champ: n, valeur: t, changer: s }) {
|
|
251
251
|
switch (n.type) {
|
|
252
252
|
case "richText":
|
|
253
253
|
return /* @__PURE__ */ e(
|
|
@@ -310,7 +310,7 @@ function ee({ champ: n, valeur: t, changer: s }) {
|
|
|
310
310
|
}
|
|
311
311
|
);
|
|
312
312
|
case "image":
|
|
313
|
-
return /* @__PURE__ */ f(
|
|
313
|
+
return /* @__PURE__ */ f(re, { children: [
|
|
314
314
|
/* @__PURE__ */ e(
|
|
315
315
|
"input",
|
|
316
316
|
{
|
|
@@ -333,10 +333,10 @@ function ee({ champ: n, valeur: t, changer: s }) {
|
|
|
333
333
|
);
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
|
-
function
|
|
336
|
+
function se({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
337
337
|
if (n.type === "list") {
|
|
338
338
|
const a = Array.isArray(t) ? t : [], d = n.of ?? [], l = (b, o, i) => {
|
|
339
|
-
const h = a.map((v,
|
|
339
|
+
const h = a.map((v, E) => E === b ? { ...v, [o]: i } : v);
|
|
340
340
|
s(h);
|
|
341
341
|
};
|
|
342
342
|
return /* @__PURE__ */ f("div", { className: "champ", children: [
|
|
@@ -387,7 +387,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
387
387
|
] })
|
|
388
388
|
] }),
|
|
389
389
|
d.map((i) => /* @__PURE__ */ e(
|
|
390
|
-
|
|
390
|
+
se,
|
|
391
391
|
{
|
|
392
392
|
champ: i,
|
|
393
393
|
langue: r,
|
|
@@ -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((b) => [b.key,
|
|
407
|
+
Object.fromEntries(d.map((b) => [b.key, ke(b)]))
|
|
408
408
|
]),
|
|
409
409
|
children: "+ Ajouter"
|
|
410
410
|
}
|
|
@@ -419,7 +419,7 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
419
419
|
a.map((l) => /* @__PURE__ */ f("div", { style: { marginBottom: 8 }, children: [
|
|
420
420
|
/* @__PURE__ */ e("span", { className: "champ__langue", children: l }),
|
|
421
421
|
/* @__PURE__ */ e(
|
|
422
|
-
|
|
422
|
+
ne,
|
|
423
423
|
{
|
|
424
424
|
champ: n,
|
|
425
425
|
valeur: d[l],
|
|
@@ -431,12 +431,12 @@ function re({ champ: n, valeur: t, changer: s, langue: r }) {
|
|
|
431
431
|
}
|
|
432
432
|
return /* @__PURE__ */ f("div", { className: "champ", children: [
|
|
433
433
|
/* @__PURE__ */ e("label", { className: "champ__etiquette", children: n.label }),
|
|
434
|
-
/* @__PURE__ */ e(
|
|
434
|
+
/* @__PURE__ */ e(ne, { champ: n, valeur: t, changer: s }),
|
|
435
435
|
n.help && /* @__PURE__ */ e("p", { className: "champ__aide", children: n.help })
|
|
436
436
|
] });
|
|
437
437
|
}
|
|
438
|
-
const
|
|
439
|
-
function
|
|
438
|
+
const we = ["lystech-editeur-hote", "lystech-connexion-hote"];
|
|
439
|
+
function Ce(n) {
|
|
440
440
|
const t = /* @__PURE__ */ new Map();
|
|
441
441
|
for (const [s, r] of Object.entries(n))
|
|
442
442
|
for (const [a, d] of Object.entries(r)) {
|
|
@@ -447,10 +447,10 @@ function we(n) {
|
|
|
447
447
|
}
|
|
448
448
|
return t;
|
|
449
449
|
}
|
|
450
|
-
function
|
|
450
|
+
function Ne(n) {
|
|
451
451
|
const t = /* @__PURE__ */ new Map(), s = document.body.querySelectorAll("*");
|
|
452
452
|
for (const r of s) {
|
|
453
|
-
if (
|
|
453
|
+
if (we.some((l) => r.id === l || r.closest("#" + l)) || r.children.length > 0) continue;
|
|
454
454
|
const a = (r.textContent ?? "").trim();
|
|
455
455
|
if (a.length < 2) continue;
|
|
456
456
|
const d = n.get(a);
|
|
@@ -458,30 +458,30 @@ function Ce(n) {
|
|
|
458
458
|
}
|
|
459
459
|
return t;
|
|
460
460
|
}
|
|
461
|
-
function
|
|
461
|
+
function Ee({
|
|
462
462
|
source: n,
|
|
463
463
|
actif: t,
|
|
464
464
|
surModification: s
|
|
465
465
|
}) {
|
|
466
|
-
const r =
|
|
466
|
+
const r = j(/* @__PURE__ */ new Map()), a = j(null), [d, l] = O(null), b = j(n);
|
|
467
467
|
b.current = n;
|
|
468
|
-
const o =
|
|
469
|
-
return o.current = s,
|
|
468
|
+
const o = j(s);
|
|
469
|
+
return o.current = s, G(() => {
|
|
470
470
|
if (!t) return;
|
|
471
|
-
const i = b.current.langueCourante(), h =
|
|
472
|
-
r.current =
|
|
471
|
+
const i = b.current.langueCourante(), h = Ce(b.current.dictionnaire(i)), v = () => {
|
|
472
|
+
r.current = Ne(h);
|
|
473
473
|
};
|
|
474
474
|
v();
|
|
475
|
-
let
|
|
475
|
+
let E;
|
|
476
476
|
const D = new MutationObserver(() => {
|
|
477
|
-
a.current || (clearTimeout(
|
|
477
|
+
a.current || (clearTimeout(E), E = setTimeout(v, 250));
|
|
478
478
|
});
|
|
479
479
|
D.observe(document.body, { childList: !0, subtree: !0 });
|
|
480
|
-
const
|
|
480
|
+
const y = "outline:2px dashed rgba(59,165,141,.85);outline-offset:3px;border-radius:3px;cursor:text;", q = (p) => {
|
|
481
481
|
const c = p.target;
|
|
482
482
|
!(c instanceof HTMLElement) || a.current || r.current.has(c) && (c.dataset.lysStyleAvant || (c.dataset.lysStyleAvant = c.getAttribute("style") ?? ""), c.setAttribute(
|
|
483
483
|
"style",
|
|
484
|
-
(c.dataset.lysStyleAvant ?? "") +
|
|
484
|
+
(c.dataset.lysStyleAvant ?? "") + y
|
|
485
485
|
));
|
|
486
486
|
}, U = (p) => {
|
|
487
487
|
const c = p.target;
|
|
@@ -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
|
+
}, C = async (p) => {
|
|
506
506
|
const c = a.current;
|
|
507
507
|
if (!c) return;
|
|
508
508
|
a.current = null;
|
|
@@ -515,12 +515,12 @@ function Ne({
|
|
|
515
515
|
}
|
|
516
516
|
const Q = b.current.langueCourante();
|
|
517
517
|
b.current.poser(Q, c.ns, c.chemin, x), await o.current(c.ns, c.chemin, Q, x);
|
|
518
|
-
},
|
|
518
|
+
}, M = (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
|
+
C(!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(),
|
|
540
|
-
},
|
|
541
|
-
a.current &&
|
|
538
|
+
}, S = (p) => {
|
|
539
|
+
a.current && (p.key === "Escape" ? (p.preventDefault(), C(!0)) : p.key === "Enter" && !p.shiftKey && (p.preventDefault(), C(!1)));
|
|
540
|
+
}, L = () => {
|
|
541
|
+
a.current && C(!1);
|
|
542
542
|
};
|
|
543
|
-
document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click",
|
|
544
|
-
const
|
|
543
|
+
document.addEventListener("mouseover", q, !0), document.addEventListener("mouseout", U, !0), document.addEventListener("click", M, !0);
|
|
544
|
+
const V = (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(), C(!1));
|
|
548
548
|
};
|
|
549
|
-
return document.addEventListener("beforeinput",
|
|
549
|
+
return document.addEventListener("beforeinput", V, !0), document.addEventListener("keydown", S, !0), document.addEventListener("focusout", L, !0), window.__lysChoisir = (p, c) => {
|
|
550
550
|
l(null), I(c, p);
|
|
551
551
|
}, () => {
|
|
552
|
-
clearTimeout(
|
|
552
|
+
clearTimeout(E), D.disconnect(), document.removeEventListener("mouseover", q, !0), document.removeEventListener("mouseout", U, !0), document.removeEventListener("click", M, !0), document.removeEventListener("beforeinput", V, !0), document.removeEventListener("keydown", S, !0), document.removeEventListener("focusout", L, !0), a.current && C(!0), delete window.__lysChoisir;
|
|
553
553
|
};
|
|
554
554
|
}, [t]), d ? /* @__PURE__ */ f(
|
|
555
555
|
"div",
|
|
@@ -588,168 +588,180 @@ function Ne({
|
|
|
588
588
|
}
|
|
589
589
|
) : null;
|
|
590
590
|
}
|
|
591
|
-
const
|
|
592
|
-
function
|
|
591
|
+
const Z = /^i18n:([^:]+):(.*)$/, $ = "commun", ee = "lystech-edit-mode";
|
|
592
|
+
function oe(n, t) {
|
|
593
593
|
return JSON.stringify(n ?? {}) === JSON.stringify(t ?? {});
|
|
594
594
|
}
|
|
595
|
-
function
|
|
596
|
-
const [s, r] =
|
|
595
|
+
function Se({ api: n, pont: t }) {
|
|
596
|
+
const [s, r] = O([]), [a, d] = O([]), [l, b] = O(t.page), [o, i] = O(null), [h, v] = O({}), [E, D] = O(!1), [y, q] = O(() => {
|
|
597
597
|
try {
|
|
598
|
-
return window.localStorage.getItem(
|
|
598
|
+
return window.localStorage.getItem(ee) === "circuler" ? "circuler" : "modifier";
|
|
599
599
|
} catch {
|
|
600
600
|
return "modifier";
|
|
601
601
|
}
|
|
602
602
|
}), U = () => q((u) => {
|
|
603
603
|
const m = u === "modifier" ? "circuler" : "modifier";
|
|
604
604
|
try {
|
|
605
|
-
window.localStorage.setItem(
|
|
605
|
+
window.localStorage.setItem(ee, m);
|
|
606
606
|
} catch {
|
|
607
607
|
}
|
|
608
608
|
return m;
|
|
609
|
-
}), [I,
|
|
609
|
+
}), [I, C] = O(!1), [M, S] = O(
|
|
610
610
|
null
|
|
611
611
|
);
|
|
612
|
-
|
|
612
|
+
G(() => (t.surChangementDePage = (u) => {
|
|
613
613
|
b(u), i(null), D(!1);
|
|
614
614
|
}, () => {
|
|
615
615
|
t.surChangementDePage = void 0;
|
|
616
616
|
}), [t]);
|
|
617
|
-
const
|
|
617
|
+
const L = W(async () => {
|
|
618
618
|
try {
|
|
619
619
|
const [u, m] = await Promise.all([
|
|
620
620
|
n.pourPage(l),
|
|
621
|
-
l ===
|
|
621
|
+
l === $ ? Promise.resolve([]) : n.pourPage($)
|
|
622
622
|
]), g = [...u, ...m];
|
|
623
623
|
return d(g), g;
|
|
624
624
|
} catch {
|
|
625
|
-
return
|
|
625
|
+
return S({
|
|
626
626
|
ton: "erreur",
|
|
627
627
|
texte: "Impossible de lire le contenu du site."
|
|
628
628
|
}), [];
|
|
629
629
|
}
|
|
630
630
|
}, [n, l]);
|
|
631
|
-
|
|
631
|
+
G(() => {
|
|
632
632
|
n.schemas().then(r).catch(() => r([]));
|
|
633
|
-
}, [n]),
|
|
634
|
-
|
|
635
|
-
}, [
|
|
636
|
-
const
|
|
633
|
+
}, [n]), G(() => {
|
|
634
|
+
L();
|
|
635
|
+
}, [L]);
|
|
636
|
+
const V = W(
|
|
637
637
|
(u, m) => {
|
|
638
|
-
let g = null,
|
|
639
|
-
for (const
|
|
640
|
-
const k =
|
|
638
|
+
let g = null, A = -1;
|
|
639
|
+
for (const P of s) {
|
|
640
|
+
const k = Z.exec(P.blockType);
|
|
641
641
|
if (!k || k[1] !== u) continue;
|
|
642
|
-
const
|
|
643
|
-
(
|
|
642
|
+
const w = k[2];
|
|
643
|
+
(w === "" || m === w || m.startsWith(w + ".")) && w.length > A && (g = P, A = w.length);
|
|
644
644
|
}
|
|
645
645
|
if (!g) return null;
|
|
646
|
-
const
|
|
647
|
-
return { bloc: g, champ:
|
|
646
|
+
const N = Z.exec(g.blockType)?.[2] ?? "", T = N ? m.slice(N.length + 1) : m;
|
|
647
|
+
return { bloc: g, champ: T };
|
|
648
648
|
},
|
|
649
649
|
[s]
|
|
650
|
-
), p =
|
|
650
|
+
), p = W(
|
|
651
651
|
(u) => s.find((m) => m.blockType === u),
|
|
652
652
|
[s]
|
|
653
|
-
), c =
|
|
653
|
+
), c = te(
|
|
654
654
|
() => s.filter((u) => {
|
|
655
655
|
const m = u.pages ?? [];
|
|
656
|
-
return m.includes(l) || m.includes(
|
|
656
|
+
return m.includes(l) || m.includes($);
|
|
657
657
|
}),
|
|
658
658
|
[s, l]
|
|
659
|
-
), x =
|
|
660
|
-
() => a.filter((u) => u.draft && !
|
|
659
|
+
), x = te(
|
|
660
|
+
() => a.filter((u) => u.draft && !oe(u.draft, u.data)),
|
|
661
661
|
[a]
|
|
662
|
-
), _ =
|
|
663
|
-
async (u, m, g,
|
|
664
|
-
const
|
|
665
|
-
if (!
|
|
666
|
-
|
|
662
|
+
), _ = W(
|
|
663
|
+
async (u, m, g, A) => {
|
|
664
|
+
const N = V(u, m);
|
|
665
|
+
if (!N) {
|
|
666
|
+
S({
|
|
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 T = a.find((z) => z.blockType === N.bloc.blockType), P = T?.draft ?? T?.data ?? {}, k = P[N.champ], w = N.bloc.fields.find((z) => z.key === N.champ), B = (
|
|
673
|
+
/* `!declare.localized` et non `=== false` : un champ non traduit
|
|
674
|
+
OMET la cle plutot que de la mettre a faux. Tester l'egalite
|
|
675
|
+
stricte ne se declenchait donc jamais. */
|
|
676
|
+
w && !w.localized ? A : k && typeof k == "object" && !Array.isArray(k) ? { ...k, [g]: A } : { [g]: A }
|
|
677
|
+
), X = { ...P, [N.champ]: B };
|
|
673
678
|
try {
|
|
674
|
-
if (
|
|
675
|
-
await n.enregistrerBrouillon(
|
|
679
|
+
if (T?.UID)
|
|
680
|
+
await n.enregistrerBrouillon(T.UID, X);
|
|
676
681
|
else {
|
|
677
|
-
const
|
|
678
|
-
await n.creer(
|
|
682
|
+
const z = N.bloc.pages?.[0] ?? l;
|
|
683
|
+
await n.creer(z, N.bloc.blockType, X);
|
|
679
684
|
}
|
|
680
|
-
await
|
|
685
|
+
await L(), S(null);
|
|
681
686
|
} catch {
|
|
682
|
-
|
|
687
|
+
S({
|
|
683
688
|
ton: "erreur",
|
|
684
689
|
texte: "Enregistrement impossible. Votre texte est toujours à l'écran."
|
|
685
690
|
});
|
|
686
691
|
}
|
|
687
692
|
},
|
|
688
|
-
[n,
|
|
693
|
+
[n, V, l, L, a]
|
|
689
694
|
), Q = async () => {
|
|
690
695
|
if (!x.length) return;
|
|
691
|
-
|
|
696
|
+
C(!0), S(null);
|
|
692
697
|
const u = x.length;
|
|
693
698
|
try {
|
|
694
699
|
for (const m of x) await n.publier(m.UID);
|
|
695
|
-
await
|
|
700
|
+
await L();
|
|
696
701
|
for (const m of x) t.poserApercu(m.blockType, null);
|
|
697
|
-
t.recharger(),
|
|
702
|
+
t.recharger(), S({
|
|
698
703
|
ton: "ok",
|
|
699
704
|
texte: u === 1 ? "Publié. Vos visiteurs le voient maintenant." : `${u} modifications publiées.`
|
|
700
705
|
});
|
|
701
706
|
} catch {
|
|
702
|
-
|
|
707
|
+
S({
|
|
703
708
|
ton: "erreur",
|
|
704
709
|
texte: "La publication a échoué. Rien n'a été mis en ligne."
|
|
705
710
|
});
|
|
706
711
|
} finally {
|
|
707
|
-
|
|
712
|
+
C(!1);
|
|
708
713
|
}
|
|
709
|
-
},
|
|
710
|
-
|
|
714
|
+
}, le = async () => {
|
|
715
|
+
C(!0);
|
|
711
716
|
try {
|
|
712
717
|
const u = x.map((g) => g.blockType);
|
|
713
718
|
for (const g of x) await n.annuler(g.UID);
|
|
714
|
-
const m = await
|
|
719
|
+
const m = await L();
|
|
715
720
|
for (const g of u) t.poserApercu(g, null);
|
|
716
721
|
if (t.sourceTexte) {
|
|
717
722
|
const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
718
723
|
g(
|
|
719
|
-
m.map((
|
|
724
|
+
m.map((A) => ({ blockType: A.blockType, data: A.data })),
|
|
720
725
|
t.sourceTexte
|
|
721
726
|
);
|
|
722
727
|
}
|
|
723
|
-
|
|
728
|
+
S({
|
|
724
729
|
ton: "info",
|
|
725
730
|
texte: "Modifications abandonnées. On est revenu à ce qui est en ligne."
|
|
726
731
|
});
|
|
727
732
|
} finally {
|
|
728
|
-
|
|
733
|
+
C(!1);
|
|
729
734
|
}
|
|
730
|
-
},
|
|
731
|
-
const m = a.find((
|
|
732
|
-
if (
|
|
733
|
-
const
|
|
734
|
-
for (const
|
|
735
|
-
B[
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
735
|
+
}, ue = (u) => {
|
|
736
|
+
const m = a.find((P) => P.blockType === u), g = m?.draft ?? m?.data ?? {}, A = p(u), N = Z.exec(u), T = {};
|
|
737
|
+
if (N && A && t.sourceTexte) {
|
|
738
|
+
const P = N[1], k = N[2], w = t.sourceTexte.langues(), B = {};
|
|
739
|
+
for (const z of w)
|
|
740
|
+
B[z] = t.sourceTexte.dictionnaire(z)[P] ?? {};
|
|
741
|
+
const X = t.sourceTexte.langueCourante();
|
|
742
|
+
for (const z of A.fields) {
|
|
743
|
+
const J = k ? k + "." + z.key : z.key;
|
|
744
|
+
if (!z.localized) {
|
|
745
|
+
const Y = B[X]?.[J] ?? w.map((R) => B[R]?.[J]).find((R) => typeof R == "string");
|
|
746
|
+
typeof Y == "string" && (T[z.key] = Y);
|
|
747
|
+
continue;
|
|
748
|
+
}
|
|
749
|
+
const K = {};
|
|
750
|
+
for (const Y of w) {
|
|
751
|
+
const R = B[Y]?.[J];
|
|
752
|
+
typeof R == "string" && (K[Y] = R);
|
|
741
753
|
}
|
|
742
|
-
Object.keys(
|
|
754
|
+
Object.keys(K).length && (T[z.key] = K);
|
|
743
755
|
}
|
|
744
756
|
}
|
|
745
|
-
for (const [
|
|
746
|
-
const
|
|
747
|
-
P
|
|
757
|
+
for (const [P, k] of Object.entries(g)) {
|
|
758
|
+
const w = T[P], B = k && typeof k == "object" && !Array.isArray(k) && w && typeof w == "object" && !Array.isArray(w);
|
|
759
|
+
T[P] = B ? { ...w, ...k } : k;
|
|
748
760
|
}
|
|
749
|
-
v(
|
|
750
|
-
},
|
|
761
|
+
v(T), i(u), D(!1), S(null);
|
|
762
|
+
}, de = (u, m) => v((g) => ({ ...g, [u]: m })), pe = async () => {
|
|
751
763
|
if (o) {
|
|
752
|
-
|
|
764
|
+
C(!0);
|
|
753
765
|
try {
|
|
754
766
|
const u = a.find((g) => g.blockType === o);
|
|
755
767
|
if (u?.UID) await n.enregistrerBrouillon(u.UID, h);
|
|
@@ -757,27 +769,27 @@ function Ee({ api: n, pont: t }) {
|
|
|
757
769
|
const g = p(o)?.pages?.[0] ?? l;
|
|
758
770
|
await n.creer(g, o, h);
|
|
759
771
|
}
|
|
760
|
-
const m = await
|
|
772
|
+
const m = await L();
|
|
761
773
|
if (t.sourceTexte) {
|
|
762
774
|
const { appliquerAuxTextes: g } = await import("./morceaux/sourceTexte-BMPMpNg9.js");
|
|
763
775
|
g(
|
|
764
|
-
m.map((
|
|
776
|
+
m.map((A) => ({ blockType: A.blockType, data: A.draft ?? A.data })),
|
|
765
777
|
t.sourceTexte
|
|
766
778
|
);
|
|
767
779
|
}
|
|
768
|
-
|
|
780
|
+
Z.test(o) || t.poserApercu(o, h), S({
|
|
769
781
|
ton: "ok",
|
|
770
782
|
texte: "Enregistré. Rien n'a encore changé pour vos visiteurs."
|
|
771
783
|
});
|
|
772
784
|
} catch {
|
|
773
|
-
|
|
785
|
+
S({ ton: "erreur", texte: "L'enregistrement a échoué." });
|
|
774
786
|
} finally {
|
|
775
|
-
|
|
787
|
+
C(!1);
|
|
776
788
|
}
|
|
777
789
|
}
|
|
778
|
-
},
|
|
790
|
+
}, me = () => {
|
|
779
791
|
try {
|
|
780
|
-
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(
|
|
792
|
+
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit"), window.localStorage.removeItem(ee);
|
|
781
793
|
} catch {
|
|
782
794
|
}
|
|
783
795
|
try {
|
|
@@ -785,37 +797,37 @@ function Ee({ api: n, pont: t }) {
|
|
|
785
797
|
} catch {
|
|
786
798
|
}
|
|
787
799
|
window.location.reload();
|
|
788
|
-
}, F = o ? p(o) : void 0,
|
|
800
|
+
}, F = o ? p(o) : void 0, H = !o && !E;
|
|
789
801
|
return /* @__PURE__ */ f("div", { className: "calque", children: [
|
|
790
802
|
/* @__PURE__ */ e(
|
|
791
803
|
"div",
|
|
792
804
|
{
|
|
793
|
-
className: "cadre-global" + (
|
|
805
|
+
className: "cadre-global" + (y === "circuler" ? " cadre-global--circuler" : ""),
|
|
794
806
|
"aria-hidden": "true"
|
|
795
807
|
}
|
|
796
808
|
),
|
|
797
809
|
t.sourceTexte && /* @__PURE__ */ e(
|
|
798
|
-
|
|
810
|
+
Ee,
|
|
799
811
|
{
|
|
800
812
|
source: t.sourceTexte,
|
|
801
|
-
actif:
|
|
813
|
+
actif: H && !I && y === "modifier",
|
|
802
814
|
surModification: _
|
|
803
815
|
}
|
|
804
816
|
),
|
|
805
|
-
|
|
817
|
+
H && /* @__PURE__ */ f("div", { className: "barre", children: [
|
|
806
818
|
/* @__PURE__ */ e("span", { className: "barre__point" }),
|
|
807
|
-
/* @__PURE__ */ e("span", { className: "barre__texte", children:
|
|
819
|
+
/* @__PURE__ */ e("span", { className: "barre__texte", children: y === "modifier" ? "Cliquez un texte pour le corriger" : "Navigation libre — les clics ouvrent les liens" }),
|
|
808
820
|
/* @__PURE__ */ e(
|
|
809
821
|
"button",
|
|
810
822
|
{
|
|
811
823
|
type: "button",
|
|
812
|
-
className: "bouton " + (
|
|
824
|
+
className: "bouton " + (y === "circuler" ? "bouton--principal" : ""),
|
|
813
825
|
onClick: U,
|
|
814
|
-
title:
|
|
815
|
-
children:
|
|
826
|
+
title: y === "modifier" ? "Passer en navigation pour changer de page" : "Revenir a la modification des textes",
|
|
827
|
+
children: y === "modifier" ? "Circuler" : "Modifier"
|
|
816
828
|
}
|
|
817
829
|
),
|
|
818
|
-
x.length > 0 ? /* @__PURE__ */ f(
|
|
830
|
+
x.length > 0 ? /* @__PURE__ */ f(re, { children: [
|
|
819
831
|
/* @__PURE__ */ e("span", { className: "barre__compte", children: x.length === 1 ? "1 modification non publiée" : `${x.length} modifications non publiées` }),
|
|
820
832
|
/* @__PURE__ */ e(
|
|
821
833
|
"button",
|
|
@@ -832,7 +844,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
832
844
|
{
|
|
833
845
|
type: "button",
|
|
834
846
|
className: "bouton bouton--discret",
|
|
835
|
-
onClick:
|
|
847
|
+
onClick: le,
|
|
836
848
|
disabled: I,
|
|
837
849
|
children: "Abandonner"
|
|
838
850
|
}
|
|
@@ -854,15 +866,15 @@ function Ee({ api: n, pont: t }) {
|
|
|
854
866
|
{
|
|
855
867
|
type: "button",
|
|
856
868
|
className: "bouton bouton--icone bouton--sortie",
|
|
857
|
-
onClick:
|
|
869
|
+
onClick: me,
|
|
858
870
|
title: "Quitter le mode édition",
|
|
859
871
|
"aria-label": "Quitter le mode édition",
|
|
860
872
|
children: "✕"
|
|
861
873
|
}
|
|
862
874
|
)
|
|
863
875
|
] }),
|
|
864
|
-
|
|
865
|
-
|
|
876
|
+
M && H && /* @__PURE__ */ e("div", { className: "flottant", children: /* @__PURE__ */ e("p", { className: "message message--" + M.ton, children: M.texte }) }),
|
|
877
|
+
E && /* @__PURE__ */ f("div", { className: "panneau", role: "dialog", "aria-label": "Tous les contenus", children: [
|
|
866
878
|
/* @__PURE__ */ f("div", { className: "panneau__tete", children: [
|
|
867
879
|
/* @__PURE__ */ f("div", { style: { flex: 1 }, children: [
|
|
868
880
|
/* @__PURE__ */ e("h2", { className: "panneau__titre", children: "Tous les contenus" }),
|
|
@@ -882,13 +894,13 @@ function Ee({ api: n, pont: t }) {
|
|
|
882
894
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
883
895
|
c.length === 0 && /* @__PURE__ */ e("p", { className: "message message--info", children: "Aucun contenu déclaré pour cette page." }),
|
|
884
896
|
c.map((u) => {
|
|
885
|
-
const m = a.find((
|
|
897
|
+
const m = a.find((A) => A.blockType === u.blockType), g = m?.draft && !oe(m.draft, m.data);
|
|
886
898
|
return /* @__PURE__ */ f(
|
|
887
899
|
"button",
|
|
888
900
|
{
|
|
889
901
|
type: "button",
|
|
890
902
|
className: "rangee",
|
|
891
|
-
onClick: () =>
|
|
903
|
+
onClick: () => ue(u.blockType),
|
|
892
904
|
children: [
|
|
893
905
|
/* @__PURE__ */ e("span", { className: "rangee__nom", children: u.label }),
|
|
894
906
|
/* @__PURE__ */ e("span", { className: "rangee__info", children: g ? "non publié" : `${u.fields.length} textes` })
|
|
@@ -923,14 +935,14 @@ function Ee({ api: n, pont: t }) {
|
|
|
923
935
|
)
|
|
924
936
|
] }),
|
|
925
937
|
/* @__PURE__ */ f("div", { className: "panneau__corps", children: [
|
|
926
|
-
|
|
938
|
+
M && /* @__PURE__ */ e("p", { className: "message message--" + M.ton, children: M.texte }),
|
|
927
939
|
F.fields.map((u) => /* @__PURE__ */ e(
|
|
928
|
-
|
|
940
|
+
se,
|
|
929
941
|
{
|
|
930
942
|
champ: u,
|
|
931
943
|
langue: t.langue,
|
|
932
944
|
valeur: h[u.key],
|
|
933
|
-
changer: (m) =>
|
|
945
|
+
changer: (m) => de(u.key, m)
|
|
934
946
|
},
|
|
935
947
|
u.key
|
|
936
948
|
))
|
|
@@ -952,7 +964,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
952
964
|
{
|
|
953
965
|
type: "button",
|
|
954
966
|
className: "bouton bouton--principal",
|
|
955
|
-
onClick:
|
|
967
|
+
onClick: pe,
|
|
956
968
|
disabled: I,
|
|
957
969
|
children: "Enregistrer"
|
|
958
970
|
}
|
|
@@ -963,7 +975,7 @@ function Ee({ api: n, pont: t }) {
|
|
|
963
975
|
)
|
|
964
976
|
] });
|
|
965
977
|
}
|
|
966
|
-
const
|
|
978
|
+
const ze = `
|
|
967
979
|
:host {
|
|
968
980
|
all: initial;
|
|
969
981
|
--fond: #16181d;
|
|
@@ -1315,7 +1327,7 @@ input:focus, select:focus, textarea:focus {
|
|
|
1315
1327
|
max-width: min(460px, calc(100vw - 24px));
|
|
1316
1328
|
}
|
|
1317
1329
|
.flottant .message { margin: 0; box-shadow: 0 8px 26px rgba(0,0,0,.4); }
|
|
1318
|
-
`,
|
|
1330
|
+
`, Te = `
|
|
1319
1331
|
/* ON NE DOIT JAMAIS SE DEMANDER SI ON EST EN MODE EDITION. Une barre en bas
|
|
1320
1332
|
se confond avec un bandeau de temoins ; un lisere qui borde tout l'ecran,
|
|
1321
1333
|
present sur chaque page, ne se confond avec rien. Il ne prend aucun clic. */
|
|
@@ -1343,17 +1355,17 @@ input:focus, select:focus, textarea:focus {
|
|
|
1343
1355
|
discrete le reste du temps — c'est le geste qu'on fait une fois. */
|
|
1344
1356
|
.bouton--sortie { color: var(--texte-doux); background: transparent; border-color: transparent; }
|
|
1345
1357
|
.bouton--sortie:hover { background: rgba(217, 119, 106, 0.16); color: var(--danger); }
|
|
1346
|
-
`,
|
|
1347
|
-
function
|
|
1358
|
+
`, Pe = "lystech-editeur-hote", Me = "lystech-connexion-hote";
|
|
1359
|
+
function ie(n) {
|
|
1348
1360
|
document.getElementById(n)?.remove();
|
|
1349
1361
|
const t = document.createElement("div");
|
|
1350
1362
|
t.id = n, document.body.appendChild(t);
|
|
1351
1363
|
const s = t.attachShadow({ mode: "open" }), r = document.createElement("style");
|
|
1352
|
-
r.textContent =
|
|
1364
|
+
r.textContent = ze + De + Te, s.appendChild(r);
|
|
1353
1365
|
const a = document.createElement("div");
|
|
1354
1366
|
return s.appendChild(a), { hote: t, point: a };
|
|
1355
1367
|
}
|
|
1356
|
-
function
|
|
1368
|
+
function ce(n, t) {
|
|
1357
1369
|
let s = n;
|
|
1358
1370
|
return () => {
|
|
1359
1371
|
const r = s;
|
|
@@ -1362,16 +1374,16 @@ function se(n, t) {
|
|
|
1362
1374
|
}, 0);
|
|
1363
1375
|
};
|
|
1364
1376
|
}
|
|
1365
|
-
function
|
|
1377
|
+
function Be({
|
|
1366
1378
|
site: n,
|
|
1367
1379
|
apiBaseUrl: t,
|
|
1368
1380
|
methodes: s,
|
|
1369
1381
|
surJeton: r
|
|
1370
1382
|
}) {
|
|
1371
|
-
const { hote: a, point: d } =
|
|
1383
|
+
const { hote: a, point: d } = ie(Me), l = ae(d), b = () => o();
|
|
1372
1384
|
l.render(
|
|
1373
1385
|
/* @__PURE__ */ e(
|
|
1374
|
-
|
|
1386
|
+
ye,
|
|
1375
1387
|
{
|
|
1376
1388
|
site: n,
|
|
1377
1389
|
apiBaseUrl: t,
|
|
@@ -1383,16 +1395,16 @@ function Ie({
|
|
|
1383
1395
|
}
|
|
1384
1396
|
)
|
|
1385
1397
|
);
|
|
1386
|
-
const o =
|
|
1398
|
+
const o = ce(l, a);
|
|
1387
1399
|
return o;
|
|
1388
1400
|
}
|
|
1389
|
-
function
|
|
1401
|
+
function _e({
|
|
1390
1402
|
jeton: n,
|
|
1391
1403
|
site: t,
|
|
1392
1404
|
apiBaseUrl: s,
|
|
1393
1405
|
pont: r
|
|
1394
1406
|
}) {
|
|
1395
|
-
const { hote: a, point: d } =
|
|
1407
|
+
const { hote: a, point: d } = ie(Pe), l = ae(d), b = () => {
|
|
1396
1408
|
try {
|
|
1397
1409
|
window.localStorage.setItem("lystech-edit-sortie", "1"), window.localStorage.removeItem("lystech-edit");
|
|
1398
1410
|
} catch {
|
|
@@ -1405,15 +1417,15 @@ function Be({
|
|
|
1405
1417
|
};
|
|
1406
1418
|
return l.render(
|
|
1407
1419
|
/* @__PURE__ */ e(
|
|
1408
|
-
|
|
1420
|
+
Se,
|
|
1409
1421
|
{
|
|
1410
|
-
api:
|
|
1422
|
+
api: fe({ jeton: n, site: t, apiBaseUrl: s, surJetonRefuse: b }),
|
|
1411
1423
|
pont: r
|
|
1412
1424
|
}
|
|
1413
1425
|
)
|
|
1414
|
-
),
|
|
1426
|
+
), ce(l, a);
|
|
1415
1427
|
}
|
|
1416
1428
|
export {
|
|
1417
|
-
|
|
1418
|
-
|
|
1429
|
+
Be as monterConnexion,
|
|
1430
|
+
_e as monterEditeur
|
|
1419
1431
|
};
|