@enerex/template-studio 1.1.22 → 1.1.23
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.
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { jsx as s, jsxs as
|
|
2
|
-
import I, { useContext as
|
|
3
|
-
import { QueryClient as
|
|
1
|
+
import { jsx as s, jsxs as T } from "react/jsx-runtime";
|
|
2
|
+
import I, { useContext as Z, useState as S, useEffect as _ } from "react";
|
|
3
|
+
import { QueryClient as ce, QueryClientProvider as pe, useQuery as O, useMutation as ee, useQueryClient as me } from "@tanstack/react-query";
|
|
4
4
|
import V from "axios";
|
|
5
|
-
import { Spinner as U, Form as E, Card as K, Row as
|
|
5
|
+
import { Spinner as U, Form as E, Card as K, Row as ue, Col as $, Button as z } from "react-bootstrap";
|
|
6
6
|
import { Controller as ge, useForm as fe } from "react-hook-form";
|
|
7
|
-
import
|
|
7
|
+
import G from "react-select";
|
|
8
8
|
const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
|
|
9
9
|
<html\r
|
|
10
10
|
dir="ltr"\r
|
|
@@ -361,7 +361,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
361
361
|
</div>\r
|
|
362
362
|
</body>\r
|
|
363
363
|
</html>\r
|
|
364
|
-
`,
|
|
364
|
+
`, te = I.createContext(
|
|
365
365
|
void 0
|
|
366
366
|
), ye = ({
|
|
367
367
|
children: t,
|
|
@@ -369,16 +369,16 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
369
369
|
}) => {
|
|
370
370
|
const [i, l] = I.useState(r.clientId), [n, e] = I.useState(r.apiKey), [a, o] = I.useState(
|
|
371
371
|
r.enerexIdentifier
|
|
372
|
-
), [p,
|
|
373
|
-
e(m.apiKey), l(m.clientId),
|
|
372
|
+
), [p, y] = I.useState(r.userName), [f, h] = I.useState(r.projectId), b = (m) => {
|
|
373
|
+
e(m.apiKey), l(m.clientId), h(m.projectId), o(m.enerexIdentifier), y(m.userName);
|
|
374
374
|
};
|
|
375
375
|
return /* @__PURE__ */ s(
|
|
376
|
-
|
|
376
|
+
te.Provider,
|
|
377
377
|
{
|
|
378
378
|
value: {
|
|
379
379
|
clientId: i,
|
|
380
380
|
apiKey: n,
|
|
381
|
-
setConfiguration:
|
|
381
|
+
setConfiguration: b,
|
|
382
382
|
enerexIdentifier: a,
|
|
383
383
|
projectId: f,
|
|
384
384
|
userName: p
|
|
@@ -387,11 +387,11 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
387
387
|
}
|
|
388
388
|
);
|
|
389
389
|
}, v = () => {
|
|
390
|
-
const t =
|
|
390
|
+
const t = Z(te);
|
|
391
391
|
if (!t)
|
|
392
392
|
throw new Error("widgetConfig must be used within a ConfigProvider");
|
|
393
393
|
return t;
|
|
394
|
-
},
|
|
394
|
+
}, ne = (t = "", r) => ({ get: async (n, e) => {
|
|
395
395
|
try {
|
|
396
396
|
const a = await V.get(
|
|
397
397
|
`${t}${n}`,
|
|
@@ -421,7 +421,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
421
421
|
API_BASE_URL: "https://dev-socket.enerex.com/common/api"
|
|
422
422
|
//API_BASE_URL: "https://localhost:44338/api",
|
|
423
423
|
// more env variables...
|
|
424
|
-
},
|
|
424
|
+
}, re = I.createContext({
|
|
425
425
|
get: () => {
|
|
426
426
|
throw new Error("HttpClientContext.get not implemented");
|
|
427
427
|
},
|
|
@@ -434,11 +434,11 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
434
434
|
client_id: r,
|
|
435
435
|
"x-api-key": i
|
|
436
436
|
}
|
|
437
|
-
}, { get: n, post: e } =
|
|
438
|
-
return /* @__PURE__ */ s(
|
|
437
|
+
}, { get: n, post: e } = ne(k.API_BASE_URL, l);
|
|
438
|
+
return /* @__PURE__ */ s(re.Provider, { value: { get: n, post: e }, children: t });
|
|
439
439
|
}, be = ({ children: t }) => {
|
|
440
|
-
const r = new
|
|
441
|
-
return /* @__PURE__ */ s(he, { children: /* @__PURE__ */ s(
|
|
440
|
+
const r = new ce();
|
|
441
|
+
return /* @__PURE__ */ s(he, { children: /* @__PURE__ */ s(pe, { client: r, children: t }) });
|
|
442
442
|
}, we = (t) => {
|
|
443
443
|
const r = Array.from(new Set(t.map((l) => l.category))), i = [];
|
|
444
444
|
return r.forEach((l) => {
|
|
@@ -451,7 +451,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
451
451
|
i.push({ category: l, entries: n });
|
|
452
452
|
}), i;
|
|
453
453
|
}, A = () => {
|
|
454
|
-
const t =
|
|
454
|
+
const t = Z(re);
|
|
455
455
|
if (t)
|
|
456
456
|
return t;
|
|
457
457
|
throw new Error("useHttpClient must be used within a HttpClientProvider");
|
|
@@ -462,7 +462,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
462
462
|
ExcludeCategory: "/Template/GetExcludeCategories/",
|
|
463
463
|
SaveTemplate: "/Template/save-update/",
|
|
464
464
|
TemplateTypes: "/Template/TemplateTypes/"
|
|
465
|
-
},
|
|
465
|
+
}, Te = () => {
|
|
466
466
|
const t = A(), { enerexIdentifier: r, projectId: i } = v();
|
|
467
467
|
return O({
|
|
468
468
|
queryKey: ["getTemplateTags"],
|
|
@@ -470,7 +470,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
470
470
|
`${P.MergeTags}${i}/${r}`
|
|
471
471
|
)
|
|
472
472
|
});
|
|
473
|
-
},
|
|
473
|
+
}, ve = () => {
|
|
474
474
|
const t = A(), { enerexIdentifier: r, projectId: i } = v();
|
|
475
475
|
return O({
|
|
476
476
|
queryKey: ["getExcludeCategory"],
|
|
@@ -483,9 +483,9 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
483
483
|
className: r = "",
|
|
484
484
|
loading: i = !1
|
|
485
485
|
}) => {
|
|
486
|
-
const { post: l } =
|
|
486
|
+
const { post: l } = ne(), { data: n } = Te(), { data: e } = ve(), [a, o] = S(
|
|
487
487
|
t ?? { html: D, css: "" }
|
|
488
|
-
), { enerexIdentifier: p, projectId:
|
|
488
|
+
), { enerexIdentifier: p, projectId: y, userName: f } = v(), h = "https://plugin.stripocdn.email/content/guids/CABINET_eab4e7d5a4603ac03f4120652a3a5a540f0c79c688514939f095f67433ed4a67/images/photo256.png", b = "https://plugins.stripo.email/api/v1/auth";
|
|
489
489
|
_(() => {
|
|
490
490
|
if (n && e && !document.getElementById("UiEditorScript")) {
|
|
491
491
|
const u = document.createElement("script");
|
|
@@ -501,10 +501,10 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
501
501
|
modulesExcludedCategories: e ?? [],
|
|
502
502
|
forceRecreate: !0,
|
|
503
503
|
metadata: {
|
|
504
|
-
emailId: `${
|
|
504
|
+
emailId: `${y}_${p}`,
|
|
505
505
|
userId: "1",
|
|
506
506
|
username: f,
|
|
507
|
-
avatarUrl:
|
|
507
|
+
avatarUrl: h
|
|
508
508
|
},
|
|
509
509
|
locale: "en",
|
|
510
510
|
onTokenRefreshRequest: async function(u) {
|
|
@@ -513,7 +513,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
513
513
|
secretKey: k.EDITOR_SECRET_KEY,
|
|
514
514
|
userId: "12",
|
|
515
515
|
role: "user"
|
|
516
|
-
}, g = await l(
|
|
516
|
+
}, g = await l(b, c);
|
|
517
517
|
g && u(g.token);
|
|
518
518
|
},
|
|
519
519
|
codeEditorButtonSelector: "#codeEditor",
|
|
@@ -525,7 +525,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
525
525
|
}
|
|
526
526
|
);
|
|
527
527
|
};
|
|
528
|
-
return /* @__PURE__ */ s("div", { className: "position-relative", children: /* @__PURE__ */
|
|
528
|
+
return /* @__PURE__ */ s("div", { className: "position-relative", children: /* @__PURE__ */ T("div", { className: `editor-container ${r}`, children: [
|
|
529
529
|
i && /* @__PURE__ */ s("div", { className: "loading-overlay", children: /* @__PURE__ */ s(
|
|
530
530
|
U,
|
|
531
531
|
{
|
|
@@ -539,7 +539,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
539
539
|
/* @__PURE__ */ s("div", { id: "externalSystemContainer" }),
|
|
540
540
|
/* @__PURE__ */ s("div", { id: "stripoEditorContainer" })
|
|
541
541
|
] }) });
|
|
542
|
-
},
|
|
542
|
+
}, Q = ({
|
|
543
543
|
label: t,
|
|
544
544
|
register: r,
|
|
545
545
|
validation: i,
|
|
@@ -548,8 +548,8 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
548
548
|
error: e,
|
|
549
549
|
className: a = "",
|
|
550
550
|
...o
|
|
551
|
-
}) => /* @__PURE__ */
|
|
552
|
-
t ? /* @__PURE__ */
|
|
551
|
+
}) => /* @__PURE__ */ T(E.Group, { className: a + " mb-1", children: [
|
|
552
|
+
t ? /* @__PURE__ */ T(E.Label, { className: "mb-3 d-block form-label", children: [
|
|
553
553
|
t,
|
|
554
554
|
l && /* @__PURE__ */ s("label", { className: "text-danger", children: "*" })
|
|
555
555
|
] }) : null,
|
|
@@ -577,7 +577,7 @@ const D = `<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:
|
|
|
577
577
|
});
|
|
578
578
|
}, Ie = () => {
|
|
579
579
|
const t = A(), { enerexIdentifier: r, projectId: i } = v();
|
|
580
|
-
return
|
|
580
|
+
return ee({
|
|
581
581
|
mutationKey: ["getTemplate"],
|
|
582
582
|
mutationFn: async ({ id: n }) => {
|
|
583
583
|
if (n)
|
|
@@ -604,9 +604,9 @@ var B = { exports: {} };
|
|
|
604
604
|
Licensed under the MIT License (MIT), see
|
|
605
605
|
http://jedwatson.github.io/classnames
|
|
606
606
|
*/
|
|
607
|
-
var
|
|
607
|
+
var W;
|
|
608
608
|
function Ne() {
|
|
609
|
-
return
|
|
609
|
+
return W || (W = 1, function(t) {
|
|
610
610
|
(function() {
|
|
611
611
|
var r = {}.hasOwnProperty;
|
|
612
612
|
function i() {
|
|
@@ -638,7 +638,7 @@ function Ne() {
|
|
|
638
638
|
}(B)), B.exports;
|
|
639
639
|
}
|
|
640
640
|
var _e = Ne();
|
|
641
|
-
const
|
|
641
|
+
const Y = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
642
642
|
name: t = "",
|
|
643
643
|
control: r,
|
|
644
644
|
options: i,
|
|
@@ -648,10 +648,10 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
648
648
|
labelKey: a = "name",
|
|
649
649
|
disabled: o,
|
|
650
650
|
isInvalid: p,
|
|
651
|
-
value:
|
|
651
|
+
value: y,
|
|
652
652
|
onChange: f,
|
|
653
|
-
uncontrolled:
|
|
654
|
-
menuPlacement:
|
|
653
|
+
uncontrolled: h,
|
|
654
|
+
menuPlacement: b = "auto",
|
|
655
655
|
closeOnSelect: m = !0
|
|
656
656
|
}) => {
|
|
657
657
|
const u = {
|
|
@@ -692,10 +692,10 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
692
692
|
display: o ? "none" : "block"
|
|
693
693
|
})
|
|
694
694
|
};
|
|
695
|
-
return
|
|
696
|
-
|
|
695
|
+
return h ? /* @__PURE__ */ s(
|
|
696
|
+
G,
|
|
697
697
|
{
|
|
698
|
-
className:
|
|
698
|
+
className: Y({
|
|
699
699
|
"is-invalid": p
|
|
700
700
|
}),
|
|
701
701
|
styles: u,
|
|
@@ -705,11 +705,11 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
705
705
|
onChange: f,
|
|
706
706
|
placeholder: n,
|
|
707
707
|
menuPortalTarget: document.body,
|
|
708
|
-
value:
|
|
708
|
+
value: y,
|
|
709
709
|
getOptionLabel: typeof a == "string" ? (c) => c[a] : a,
|
|
710
710
|
getOptionValue: (c) => c.id,
|
|
711
711
|
isDisabled: o,
|
|
712
|
-
menuPlacement:
|
|
712
|
+
menuPlacement: b,
|
|
713
713
|
closeMenuOnSelect: m
|
|
714
714
|
}
|
|
715
715
|
) : /* @__PURE__ */ s(
|
|
@@ -718,40 +718,40 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
718
718
|
control: r,
|
|
719
719
|
name: t,
|
|
720
720
|
rules: e,
|
|
721
|
-
render: ({ field: { onChange: c, value: g, onBlur:
|
|
722
|
-
|
|
721
|
+
render: ({ field: { onChange: c, value: g, onBlur: L } }) => /* @__PURE__ */ s(
|
|
722
|
+
G,
|
|
723
723
|
{
|
|
724
|
-
className:
|
|
724
|
+
className: Y({
|
|
725
725
|
"is-invalid": p
|
|
726
726
|
}),
|
|
727
727
|
styles: u,
|
|
728
728
|
classNamePrefix: "react-select",
|
|
729
729
|
isMulti: l,
|
|
730
730
|
options: i,
|
|
731
|
-
onBlur:
|
|
731
|
+
onBlur: L,
|
|
732
732
|
onChange: c,
|
|
733
733
|
placeholder: n,
|
|
734
734
|
menuPortalTarget: document.body,
|
|
735
735
|
value: g,
|
|
736
|
-
getOptionLabel: typeof a == "string" ? (
|
|
737
|
-
getOptionValue: (
|
|
736
|
+
getOptionLabel: typeof a == "string" ? (w) => w[a] : a,
|
|
737
|
+
getOptionValue: (w) => w.id,
|
|
738
738
|
isDisabled: o,
|
|
739
|
-
menuPlacement:
|
|
739
|
+
menuPlacement: b,
|
|
740
740
|
closeMenuOnSelect: m
|
|
741
741
|
},
|
|
742
742
|
g ? JSON.stringify(g) : "reset"
|
|
743
743
|
)
|
|
744
744
|
}
|
|
745
745
|
);
|
|
746
|
-
},
|
|
746
|
+
}, X = ({
|
|
747
747
|
label: t,
|
|
748
748
|
name: r,
|
|
749
749
|
validation: i,
|
|
750
750
|
control: l,
|
|
751
751
|
error: n,
|
|
752
752
|
...e
|
|
753
|
-
}) => /* @__PURE__ */
|
|
754
|
-
t && /* @__PURE__ */
|
|
753
|
+
}) => /* @__PURE__ */ T(E.Group, { className: "mb-1", children: [
|
|
754
|
+
t && /* @__PURE__ */ T(E.Label, { className: "mb-3 d-block form-label", children: [
|
|
755
755
|
t,
|
|
756
756
|
" ",
|
|
757
757
|
e.required && /* @__PURE__ */ s("span", { className: "text-danger", children: "*" })
|
|
@@ -769,16 +769,16 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
769
769
|
n && n[r] ? /* @__PURE__ */ s(E.Control.Feedback, { type: "invalid", children: n[r].message }) : null
|
|
770
770
|
] }), Pe = () => {
|
|
771
771
|
const t = A();
|
|
772
|
-
|
|
772
|
+
me();
|
|
773
773
|
const { enerexIdentifier: r, projectId: i } = v();
|
|
774
|
-
return
|
|
774
|
+
return ee({
|
|
775
775
|
mutationKey: ["saveTemplate"],
|
|
776
776
|
mutationFn: async (n) => (n.enerexIdentifier = r ?? "", n.projectId = i ?? "", await t.post(
|
|
777
777
|
`${P.SaveTemplate}`,
|
|
778
778
|
n
|
|
779
779
|
))
|
|
780
780
|
});
|
|
781
|
-
},
|
|
781
|
+
}, J = { id: "", name: "New (Blank)" }, je = ({
|
|
782
782
|
onSelectItem: t,
|
|
783
783
|
templateLoading: r,
|
|
784
784
|
onReset: i
|
|
@@ -790,23 +790,23 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
790
790
|
setValue: a,
|
|
791
791
|
control: o,
|
|
792
792
|
watch: p,
|
|
793
|
-
reset:
|
|
793
|
+
reset: y,
|
|
794
794
|
formState: { errors: f }
|
|
795
795
|
} = fe({
|
|
796
796
|
defaultValues: {
|
|
797
797
|
templateName: "",
|
|
798
798
|
subject: "",
|
|
799
799
|
templateType: void 0,
|
|
800
|
-
template:
|
|
800
|
+
template: J
|
|
801
801
|
},
|
|
802
802
|
mode: "onChange"
|
|
803
803
|
}), {
|
|
804
|
-
data:
|
|
805
|
-
refetch:
|
|
804
|
+
data: h,
|
|
805
|
+
refetch: b,
|
|
806
806
|
isLoading: m
|
|
807
|
-
} = Ce(), [u, c] = S([]), [g,
|
|
807
|
+
} = Ce(), [u, c] = S([]), [g, L] = S(), [w, H] = S(), { mutateAsync: se, isPending: N } = Ie(), { mutateAsync: ie, isPending: R } = Pe(), { data: j, isLoading: M } = Se(), [F, ae] = S([]);
|
|
808
808
|
_(() => {
|
|
809
|
-
j &&
|
|
809
|
+
j && ae(
|
|
810
810
|
j.filter((d) => d.id !== void 0).map((d) => ({
|
|
811
811
|
id: `${d.id}`,
|
|
812
812
|
name: d.name
|
|
@@ -815,32 +815,32 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
815
815
|
}, [j]), _(() => {
|
|
816
816
|
r(!!N);
|
|
817
817
|
}, [N]), _(() => {
|
|
818
|
-
c(
|
|
819
|
-
}, [
|
|
820
|
-
const
|
|
821
|
-
if (
|
|
818
|
+
c(h ?? []);
|
|
819
|
+
}, [h]);
|
|
820
|
+
const le = async (d) => {
|
|
821
|
+
if (L(d), d) {
|
|
822
822
|
if (a("templateName", d?.name), j && j.find((C) => C.id === d.type)) {
|
|
823
|
-
const C = F.find((
|
|
823
|
+
const C = F.find((q) => q.id === `${d.type}`);
|
|
824
824
|
C && a("templateType", C);
|
|
825
825
|
}
|
|
826
826
|
e();
|
|
827
827
|
} else
|
|
828
|
-
a("templateName", "");
|
|
829
|
-
const x = await
|
|
828
|
+
a("templateName", ""), a("subject", "");
|
|
829
|
+
const x = await se({ id: d?.id });
|
|
830
830
|
H(x || void 0);
|
|
831
831
|
};
|
|
832
832
|
_(() => {
|
|
833
833
|
let d = u.find((x) => x.id === p("template")?.id);
|
|
834
|
-
|
|
834
|
+
le(d);
|
|
835
835
|
}, [p("template")]), _(() => {
|
|
836
|
-
|
|
837
|
-
}, [
|
|
838
|
-
const
|
|
836
|
+
w && g ? (t(w), a("subject", w.subject ?? "")) : t(void 0);
|
|
837
|
+
}, [w, g, t]);
|
|
838
|
+
const oe = (d) => {
|
|
839
839
|
window.StripoEditorApi.actionsApi.getTemplateData(
|
|
840
840
|
async (x) => {
|
|
841
|
-
let C = d.template.id,
|
|
842
|
-
g?.
|
|
843
|
-
const
|
|
841
|
+
let C = d.template.id, q = "";
|
|
842
|
+
g?.readonly && (C = "", q = d.template.id);
|
|
843
|
+
const de = {
|
|
844
844
|
enerexIdentifier: "",
|
|
845
845
|
projectId: "",
|
|
846
846
|
templateId: C,
|
|
@@ -848,134 +848,124 @@ const X = /* @__PURE__ */ Ee(_e), Ae = ({
|
|
|
848
848
|
name: d.templateName,
|
|
849
849
|
html: x.html,
|
|
850
850
|
css: x.css,
|
|
851
|
-
subject: d?.subject ?? "",
|
|
852
|
-
parent_id:
|
|
851
|
+
subject: d.templateType.id === "2" ? d?.subject ?? "" : "",
|
|
852
|
+
parent_id: q
|
|
853
853
|
};
|
|
854
|
-
await
|
|
854
|
+
await ie(de) && (e(), y(), b());
|
|
855
855
|
}
|
|
856
856
|
);
|
|
857
857
|
};
|
|
858
|
-
return /* @__PURE__ */ s(K, { className: "border border-0 text-start", children: /* @__PURE__ */ s(K.Body, { className: "pe-0 ps-2", children: /* @__PURE__ */ s("form", { onSubmit: n(
|
|
859
|
-
/* @__PURE__ */
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
message: "Template Name is required"
|
|
908
|
-
}
|
|
858
|
+
return /* @__PURE__ */ s(K, { className: "border border-0 text-start", children: /* @__PURE__ */ s(K.Body, { className: "pe-0 ps-2", children: /* @__PURE__ */ s("form", { onSubmit: n(oe), children: /* @__PURE__ */ s("div", { className: "template-list-container gap-3", children: /* @__PURE__ */ T(ue, { children: [
|
|
859
|
+
/* @__PURE__ */ s($, { children: /* @__PURE__ */ s(
|
|
860
|
+
X,
|
|
861
|
+
{
|
|
862
|
+
label: "Type",
|
|
863
|
+
control: o,
|
|
864
|
+
error: f,
|
|
865
|
+
options: F,
|
|
866
|
+
required: !0,
|
|
867
|
+
validation: {
|
|
868
|
+
required: {
|
|
869
|
+
value: !0,
|
|
870
|
+
message: "Select a type"
|
|
871
|
+
}
|
|
872
|
+
},
|
|
873
|
+
...l("templateType")
|
|
874
|
+
}
|
|
875
|
+
) }),
|
|
876
|
+
/* @__PURE__ */ s($, { children: /* @__PURE__ */ s(
|
|
877
|
+
X,
|
|
878
|
+
{
|
|
879
|
+
label: "Template",
|
|
880
|
+
control: o,
|
|
881
|
+
error: f,
|
|
882
|
+
options: [
|
|
883
|
+
J,
|
|
884
|
+
...u.filter(
|
|
885
|
+
(d) => (d.type?.toString() === p("templateType")?.id || d.type === null) && p("templateType")?.id != null
|
|
886
|
+
).map((d) => ({
|
|
887
|
+
id: d.id,
|
|
888
|
+
name: d.name
|
|
889
|
+
}))
|
|
890
|
+
],
|
|
891
|
+
required: !1,
|
|
892
|
+
...l("template")
|
|
893
|
+
}
|
|
894
|
+
) }),
|
|
895
|
+
/* @__PURE__ */ s($, { children: /* @__PURE__ */ s(
|
|
896
|
+
Q,
|
|
897
|
+
{
|
|
898
|
+
label: "Name",
|
|
899
|
+
register: l,
|
|
900
|
+
error: f,
|
|
901
|
+
required: !0,
|
|
902
|
+
name: "templateName",
|
|
903
|
+
validation: {
|
|
904
|
+
required: {
|
|
905
|
+
value: !0,
|
|
906
|
+
message: "Enter a name"
|
|
909
907
|
}
|
|
910
908
|
}
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
md: 3,
|
|
916
|
-
className: "d-flex align-items-end justify-content-end gap-2 mb-3",
|
|
917
|
-
children: [
|
|
918
|
-
/* @__PURE__ */ s(
|
|
919
|
-
G,
|
|
920
|
-
{
|
|
921
|
-
style: { width: "70px" },
|
|
922
|
-
variant: "primary",
|
|
923
|
-
disabled: m || N || L || M,
|
|
924
|
-
onClick: () => {
|
|
925
|
-
q(void 0), h(), i();
|
|
926
|
-
},
|
|
927
|
-
children: N || L ? /* @__PURE__ */ s(
|
|
928
|
-
U,
|
|
929
|
-
{
|
|
930
|
-
animation: "border",
|
|
931
|
-
style: { width: "11px", height: "11px" },
|
|
932
|
-
size: "sm",
|
|
933
|
-
role: "status",
|
|
934
|
-
className: "me-1",
|
|
935
|
-
children: /* @__PURE__ */ s("span", { className: "visually-hidden", children: "Loading..." })
|
|
936
|
-
}
|
|
937
|
-
) : "Clear"
|
|
938
|
-
}
|
|
939
|
-
),
|
|
940
|
-
/* @__PURE__ */ s(
|
|
941
|
-
G,
|
|
942
|
-
{
|
|
943
|
-
type: "submit",
|
|
944
|
-
variant: "primary",
|
|
945
|
-
style: { width: "80px" },
|
|
946
|
-
disabled: m || N || L || M,
|
|
947
|
-
children: N || L ? /* @__PURE__ */ s(
|
|
948
|
-
U,
|
|
949
|
-
{
|
|
950
|
-
animation: "border",
|
|
951
|
-
style: { width: "11px", height: "11px" },
|
|
952
|
-
size: "sm",
|
|
953
|
-
role: "status",
|
|
954
|
-
className: "me-1",
|
|
955
|
-
children: /* @__PURE__ */ s("span", { className: "visually-hidden", children: "Loading..." })
|
|
956
|
-
}
|
|
957
|
-
) : (g?.id ?? "") === "" ? "Save" : (g?.projectId ?? "") === 0 ? "Save as" : "Save"
|
|
958
|
-
}
|
|
959
|
-
)
|
|
960
|
-
]
|
|
961
|
-
}
|
|
962
|
-
)
|
|
963
|
-
] }),
|
|
964
|
-
p("templateType")?.id === "2" && /* @__PURE__ */ s(z, { children: /* @__PURE__ */ s($, { md: 12, children: /* @__PURE__ */ s(
|
|
965
|
-
W,
|
|
909
|
+
}
|
|
910
|
+
) }),
|
|
911
|
+
p("templateType")?.id === "2" && /* @__PURE__ */ s($, { children: /* @__PURE__ */ s(
|
|
912
|
+
Q,
|
|
966
913
|
{
|
|
967
|
-
className: "mt-3",
|
|
968
914
|
label: "Subject",
|
|
969
915
|
register: l,
|
|
970
916
|
error: f,
|
|
971
917
|
required: !1,
|
|
972
918
|
name: "subject"
|
|
973
919
|
}
|
|
974
|
-
) })
|
|
975
|
-
|
|
920
|
+
) }),
|
|
921
|
+
/* @__PURE__ */ T($, { className: "d-flex align-items-end justify-content-end gap-2 mb-3", children: [
|
|
922
|
+
/* @__PURE__ */ s(
|
|
923
|
+
z,
|
|
924
|
+
{
|
|
925
|
+
style: { width: "70px" },
|
|
926
|
+
variant: "primary",
|
|
927
|
+
disabled: m || N || R || M,
|
|
928
|
+
onClick: () => {
|
|
929
|
+
L(void 0), y(), i();
|
|
930
|
+
},
|
|
931
|
+
children: N || R ? /* @__PURE__ */ s(
|
|
932
|
+
U,
|
|
933
|
+
{
|
|
934
|
+
animation: "border",
|
|
935
|
+
style: { width: "11px", height: "11px" },
|
|
936
|
+
size: "sm",
|
|
937
|
+
role: "status",
|
|
938
|
+
className: "me-1",
|
|
939
|
+
children: /* @__PURE__ */ s("span", { className: "visually-hidden", children: "Loading..." })
|
|
940
|
+
}
|
|
941
|
+
) : "Clear"
|
|
942
|
+
}
|
|
943
|
+
),
|
|
944
|
+
(p("templateType")?.id !== "2" || (g?.id ?? "") !== "") && /* @__PURE__ */ s(
|
|
945
|
+
z,
|
|
946
|
+
{
|
|
947
|
+
type: "submit",
|
|
948
|
+
variant: "primary",
|
|
949
|
+
style: { width: "80px" },
|
|
950
|
+
disabled: m || N || R || M,
|
|
951
|
+
children: N || R ? /* @__PURE__ */ s(
|
|
952
|
+
U,
|
|
953
|
+
{
|
|
954
|
+
animation: "border",
|
|
955
|
+
style: { width: "11px", height: "11px" },
|
|
956
|
+
size: "sm",
|
|
957
|
+
role: "status",
|
|
958
|
+
className: "me-1",
|
|
959
|
+
children: /* @__PURE__ */ s("span", { className: "visually-hidden", children: "Loading..." })
|
|
960
|
+
}
|
|
961
|
+
) : g?.readonly ? "Save as" : "Save"
|
|
962
|
+
}
|
|
963
|
+
)
|
|
964
|
+
] })
|
|
965
|
+
] }) }) }) }) });
|
|
976
966
|
}, Ue = ({ config: t }) => {
|
|
977
967
|
const [r, i] = S(), [l, n] = S(!1);
|
|
978
|
-
return /* @__PURE__ */ s(ye, { configs: t, children: /* @__PURE__ */ s(be, { children: /* @__PURE__ */
|
|
968
|
+
return /* @__PURE__ */ s(ye, { configs: t, children: /* @__PURE__ */ s(be, { children: /* @__PURE__ */ T("div", { className: "root-widget", children: [
|
|
979
969
|
/* @__PURE__ */ s(
|
|
980
970
|
je,
|
|
981
971
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(f,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("react/jsx-runtime"),require("react"),require("@tanstack/react-query"),require("axios"),require("react-bootstrap"),require("react-hook-form"),require("react-select")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@tanstack/react-query","axios","react-bootstrap","react-hook-form","react-select"],n):(f=typeof globalThis<"u"?globalThis:f||self,n(f.EnerexTemplateEditor={},f.jsxRuntime,f.React,f.reactQuery,f.axios,f.reactBootstrap,f.reactHookForm,f.Select$1))})(this,function(f,n,c,w,O,p,F,M){"use strict";const
|
|
1
|
+
(function(f,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("react/jsx-runtime"),require("react"),require("@tanstack/react-query"),require("axios"),require("react-bootstrap"),require("react-hook-form"),require("react-select")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","@tanstack/react-query","axios","react-bootstrap","react-hook-form","react-select"],n):(f=typeof globalThis<"u"?globalThis:f||self,n(f.EnerexTemplateEditor={},f.jsxRuntime,f.React,f.reactQuery,f.axios,f.reactBootstrap,f.reactHookForm,f.Select$1))})(this,function(f,n,c,w,O,p,F,M){"use strict";const P=`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
|
|
2
2
|
<html\r
|
|
3
3
|
dir="ltr"\r
|
|
4
4
|
xmlns:o="urn:schemas-microsoft-com:office:office"\r
|
|
@@ -354,8 +354,8 @@
|
|
|
354
354
|
</div>\r
|
|
355
355
|
</body>\r
|
|
356
356
|
</html>\r
|
|
357
|
-
`,U=c.createContext(void 0),Q=({children:t,configs:s})=>{const[
|
|
357
|
+
`,U=c.createContext(void 0),Q=({children:t,configs:s})=>{const[l,o]=c.useState(s.clientId),[r,e]=c.useState(s.apiKey),[i,a]=c.useState(s.enerexIdentifier),[u,v]=c.useState(s.userName),[b,x]=c.useState(s.projectId),C=g=>{e(g.apiKey),o(g.clientId),x(g.projectId),a(g.enerexIdentifier),v(g.userName)};return n.jsx(U.Provider,{value:{clientId:l,apiKey:r,setConfiguration:C,enerexIdentifier:i,projectId:b,userName:u},children:t})},T=()=>{const t=c.useContext(U);if(!t)throw new Error("widgetConfig must be used within a ConfigProvider");return t},H=(t="",s)=>({get:async(r,e)=>{try{const i=await O.get(`${t}${r}`,e??s);if(i.status===200)return i.data}catch(i){throw i}},post:async(r,e,i)=>{try{const a=await O.post(`${t}${r}`,e,i??s);if(a.status===200)return a.data}catch(a){throw a}}}),A={EDITOR_SCRIPT_URL:"https://plugins.stripo.email/resources/uieditor/latest/UIEditor.js",EDITOR_PLUGIN_ID:"1afdc3161ec7409a8627a1c8561d45f5",EDITOR_SECRET_KEY:"54ba748ed7e94f2e929555783acb03da",API_BASE_URL:"https://dev-socket.enerex.com/common/api"},V=c.createContext({get:()=>{throw new Error("HttpClientContext.get not implemented")},post:()=>{throw new Error("HttpClientContext.post not implemented")}}),Z=({children:t})=>{const{clientId:s,apiKey:l}=T(),o={headers:{client_id:s,"x-api-key":l}},{get:r,post:e}=H(A.API_BASE_URL,o);return n.jsx(V.Provider,{value:{get:r,post:e},children:t})},R=({children:t})=>{const s=new w.QueryClient;return n.jsx(Z,{children:n.jsx(w.QueryClientProvider,{client:s,children:t})})},ee=t=>{const s=Array.from(new Set(t.map(o=>o.category))),l=[];return s.forEach(o=>{const r=t.filter(e=>e.category===o).map(e=>({label:e.label,value:e.value,hint:e.hint,hidden:e.hidden}));l.push({category:o,entries:r})}),l},N=()=>{const t=c.useContext(V);if(t)return t;throw new Error("useHttpClient must be used within a HttpClientProvider")},_={Template_list:"/Template/list/",Template:"/Template/GetTemplate/",MergeTags:"/Template/TemplateMergeTags/",ExcludeCategory:"/Template/GetExcludeCategories/",SaveTemplate:"/Template/save-update/",TemplateTypes:"/Template/TemplateTypes/"},te=()=>{const t=N(),{enerexIdentifier:s,projectId:l}=T();return w.useQuery({queryKey:["getTemplateTags"],queryFn:async r=>await t.get(`${_.MergeTags}${l}/${s}`)})},ne=()=>{const t=N(),{enerexIdentifier:s,projectId:l}=T();return w.useQuery({queryKey:["getExcludeCategory"],queryFn:async r=>await t.get(`${_.ExcludeCategory}${l}/${s}`)})},re=({templateHTML:t,className:s="",loading:l=!1})=>{const{post:o}=H(),{data:r}=te(),{data:e}=ne(),[i,a]=c.useState(t??{html:P,css:""}),{enerexIdentifier:u,projectId:v,userName:b}=T(),x="https://plugin.stripocdn.email/content/guids/CABINET_eab4e7d5a4603ac03f4120652a3a5a540f0c79c688514939f095f67433ed4a67/images/photo256.png",C="https://plugins.stripo.email/api/v1/auth";c.useEffect(()=>{if(r&&e&&!document.getElementById("UiEditorScript")){const y=document.createElement("script");y.id="UiEditorScript",y.type="module",y.src=A.EDITOR_SCRIPT_URL,y.onload=g,document.body.appendChild(y)}},[r,e]);const g=async()=>{window.UIEditor.initEditor(document.querySelector("#stripoEditorContainer"),{html:i.html,css:i.css,modulesExcludedCategories:e??[],forceRecreate:!0,metadata:{emailId:`${v}_${u}`,userId:"1",username:b,avatarUrl:x},locale:"en",onTokenRefreshRequest:async function(y){const m={pluginId:A.EDITOR_PLUGIN_ID,secretKey:A.EDITOR_SECRET_KEY,userId:"12",role:"user"},h=await o(C,m);h&&y(h.token)},codeEditorButtonSelector:"#codeEditor",undoButtonSelector:"#undoButton",redoButtonSelector:"#redoButton",mobileViewButtonSelector:"#mobileViewButton",desktopViewButtonSelector:"#desktopViewButton",mergeTags:ee(r??[])})};return n.jsx("div",{className:"position-relative",children:n.jsxs("div",{className:`editor-container ${s}`,children:[l&&n.jsx("div",{className:"loading-overlay",children:n.jsx(p.Spinner,{animation:"border",style:{width:"11px",height:"11px"},size:"sm",role:"status",className:"me-1"})}),n.jsx("div",{id:"externalSystemContainer"}),n.jsx("div",{id:"stripoEditorContainer"})]})})},K=({label:t,register:s,validation:l,required:o=!1,name:r,error:e,className:i="",...a})=>n.jsxs(p.Form.Group,{className:i+" mb-1",children:[t?n.jsxs(p.Form.Label,{className:"mb-3 d-block form-label",children:[t,o&&n.jsx("label",{className:"text-danger",children:"*"})]}):null,n.jsx(p.Form.Control,{name:r,type:"text",...a,isInvalid:!!(e&&e[r]),...s?s(r,{...l}):{},className:`react-select__control ${e&&e[r]&&"border border-danger"}`}),e&&e[r]?n.jsx(p.Form.Control.Feedback,{type:"invalid",children:e[r].message}):null]}),se=()=>{const t=N(),{enerexIdentifier:s,projectId:l}=T();return w.useQuery({queryKey:["getTemplatesList"],queryFn:async r=>await t.get(`${_.Template_list}${l}/${s}`)})},ie=()=>{const t=N(),{enerexIdentifier:s,projectId:l}=T();return w.useMutation({mutationKey:["getTemplate"],mutationFn:async({id:r})=>{if(r)return await t.get(`${_.Template}${s}/${r}/${l}`)}})},le=()=>{const t=N(),{enerexIdentifier:s,projectId:l}=T();return w.useQuery({queryKey:["getTemplateTypes"],queryFn:async r=>await t.get(`${_.TemplateTypes}${s}/${l}`)})};function oe(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var D={exports:{}};/*!
|
|
358
358
|
Copyright (c) 2018 Jed Watson.
|
|
359
359
|
Licensed under the MIT License (MIT), see
|
|
360
360
|
http://jedwatson.github.io/classnames
|
|
361
|
-
*/var z;function ae(){return z||(z=1,function(t){(function(){var s={}.hasOwnProperty;function
|
|
361
|
+
*/var z;function ae(){return z||(z=1,function(t){(function(){var s={}.hasOwnProperty;function l(){for(var e="",i=0;i<arguments.length;i++){var a=arguments[i];a&&(e=r(e,o(a)))}return e}function o(e){if(typeof e=="string"||typeof e=="number")return e;if(typeof e!="object")return"";if(Array.isArray(e))return l.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var i="";for(var a in e)s.call(e,a)&&e[a]&&(i=r(i,a));return i}function r(e,i){return i?e?e+" "+i:e+i:e}t.exports?(l.default=l,t.exports=l):window.classNames=l})()}(D)),D.exports}var de=ae();const G=oe(de),ce=({name:t="",control:s,options:l,multiple:o=!1,placeholder:r,validation:e,labelKey:i="name",disabled:a,isInvalid:u,value:v,onChange:b,uncontrolled:x,menuPlacement:C="auto",closeOnSelect:g=!0})=>{const y={control:m=>({...m,minHeight:"33px",borderColor:u?"var(--bs-form-invalid-border-color) !important":"var(--ct-input-border-color)",backgroundImage:u?'url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23fa5c7c%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23fa5c7c%27 stroke=%27none%27/%3e%3c/svg%3e")':"none",backgroundRepeat:"no-repeat",backgroundPosition:"right calc(0.375em + 0.225rem) center",backgroundSize:"calc(0.75em + 0.45rem) calc(0.75em + 0.45rem)","&:hover":{borderColor:u?"var(--bs-form-invalid-border-color)":"var(--ct-input-border-color)"},"& .react-select__single-value":{color:"var(--ct-input-color) !important"},"& .react-select__placeholder":{color:"var(--ct-input-placeholder-color) !important"},"& .react-select__indicators":{display:"none"}}),menu:m=>({...m,marginTop:0,width:"max-content",minWidth:"100%"}),menuPortal:m=>({...m,zIndex:9999}),multiValueRemove:m=>({...m,display:a?"none":"block"})};return x?n.jsx(M,{className:G({"is-invalid":u}),styles:y,classNamePrefix:"react-select",isMulti:o,options:l,onChange:b,placeholder:r,menuPortalTarget:document.body,value:v,getOptionLabel:typeof i=="string"?m=>m[i]:i,getOptionValue:m=>m.id,isDisabled:a,menuPlacement:C,closeMenuOnSelect:g}):n.jsx(F.Controller,{control:s,name:t,rules:e,render:({field:{onChange:m,value:h,onBlur:L}})=>n.jsx(M,{className:G({"is-invalid":u}),styles:y,classNamePrefix:"react-select",isMulti:o,options:l,onBlur:L,onChange:m,placeholder:r,menuPortalTarget:document.body,value:h,getOptionLabel:typeof i=="string"?S=>S[i]:i,getOptionValue:S=>S.id,isDisabled:a,menuPlacement:C,closeMenuOnSelect:g},h?JSON.stringify(h):"reset")})},W=({label:t,name:s,validation:l,control:o,error:r,...e})=>n.jsxs(p.Form.Group,{className:"mb-1",children:[t&&n.jsxs(p.Form.Label,{className:"mb-3 d-block form-label",children:[t," ",e.required&&n.jsx("span",{className:"text-danger",children:"*"})]}),n.jsx(ce,{control:o,options:e.options??[],validation:l,isInvalid:r&&!!r[s],name:s}),r&&r[s]?n.jsx(p.Form.Control.Feedback,{type:"invalid",children:r[s].message}):null]}),pe=()=>{const t=N();w.useQueryClient();const{enerexIdentifier:s,projectId:l}=T();return w.useMutation({mutationKey:["saveTemplate"],mutationFn:async r=>(r.enerexIdentifier=s??"",r.projectId=l??"",await t.post(`${_.SaveTemplate}`,r))})},B={id:"",name:"New (Blank)"},me=({onSelectItem:t,templateLoading:s,onReset:l})=>{const{register:o,handleSubmit:r,clearErrors:e,setValue:i,control:a,watch:u,reset:v,formState:{errors:b}}=F.useForm({defaultValues:{templateName:"",subject:"",templateType:void 0,template:B},mode:"onChange"}),{data:x,refetch:C,isLoading:g}=se(),[y,m]=c.useState([]),[h,L]=c.useState(),[S,Y]=c.useState(),{mutateAsync:fe,isPending:j}=ie(),{mutateAsync:ge,isPending:$}=pe(),{data:q,isLoading:X}=le(),[J,ye]=c.useState([]);c.useEffect(()=>{q&&ye(q.filter(d=>d.id!==void 0).map(d=>({id:`${d.id}`,name:d.name})))},[q]),c.useEffect(()=>{s(!!j)},[j]),c.useEffect(()=>{m(x??[])},[x]);const he=async d=>{if(L(d),d){if(i("templateName",d?.name),q&&q.find(I=>I.id===d.type)){const I=J.find(k=>k.id===`${d.type}`);I&&i("templateType",I)}e()}else i("templateName",""),i("subject","");const E=await fe({id:d?.id});Y(E||void 0)};c.useEffect(()=>{let d=y.find(E=>E.id===u("template")?.id);he(d)},[u("template")]),c.useEffect(()=>{S&&h?(t(S),i("subject",S.subject??"")):t(void 0)},[S,h,t]);const be=d=>{window.StripoEditorApi.actionsApi.getTemplateData(async E=>{let I=d.template.id,k="";h?.readonly&&(I="",k=d.template.id);const we={enerexIdentifier:"",projectId:"",templateId:I,templateType:d.templateType.id,name:d.templateName,html:E.html,css:E.css,subject:d.templateType.id==="2"?d?.subject??"":"",parent_id:k};await ge(we)&&(e(),v(),C())})};return n.jsx(p.Card,{className:"border border-0 text-start",children:n.jsx(p.Card.Body,{className:"pe-0 ps-2",children:n.jsx("form",{onSubmit:r(be),children:n.jsx("div",{className:"template-list-container gap-3",children:n.jsxs(p.Row,{children:[n.jsx(p.Col,{children:n.jsx(W,{label:"Type",control:a,error:b,options:J,required:!0,validation:{required:{value:!0,message:"Select a type"}},...o("templateType")})}),n.jsx(p.Col,{children:n.jsx(W,{label:"Template",control:a,error:b,options:[B,...y.filter(d=>(d.type?.toString()===u("templateType")?.id||d.type===null)&&u("templateType")?.id!=null).map(d=>({id:d.id,name:d.name}))],required:!1,...o("template")})}),n.jsx(p.Col,{children:n.jsx(K,{label:"Name",register:o,error:b,required:!0,name:"templateName",validation:{required:{value:!0,message:"Enter a name"}}})}),u("templateType")?.id==="2"&&n.jsx(p.Col,{children:n.jsx(K,{label:"Subject",register:o,error:b,required:!1,name:"subject"})}),n.jsxs(p.Col,{className:"d-flex align-items-end justify-content-end gap-2 mb-3",children:[n.jsx(p.Button,{style:{width:"70px"},variant:"primary",disabled:g||j||$||X,onClick:()=>{L(void 0),v(),l()},children:j||$?n.jsx(p.Spinner,{animation:"border",style:{width:"11px",height:"11px"},size:"sm",role:"status",className:"me-1",children:n.jsx("span",{className:"visually-hidden",children:"Loading..."})}):"Clear"}),(u("templateType")?.id!=="2"||(h?.id??"")!=="")&&n.jsx(p.Button,{type:"submit",variant:"primary",style:{width:"80px"},disabled:g||j||$||X,children:j||$?n.jsx(p.Spinner,{animation:"border",style:{width:"11px",height:"11px"},size:"sm",role:"status",className:"me-1",children:n.jsx("span",{className:"visually-hidden",children:"Loading..."})}):h?.readonly?"Save as":"Save"})]})]})})})})})},ue=({config:t})=>{const[s,l]=c.useState(),[o,r]=c.useState(!1),e=a=>{l(a),window.StripoEditorApi&&window.StripoEditorApi.actionsApi&&window.StripoEditorApi.actionsApi.updateHtmlAndCss(a?.html??P,a?.css??"","")},i=()=>{r(!1),l(void 0),window.StripoEditorApi&&window.StripoEditorApi.actionsApi&&window.StripoEditorApi.actionsApi.updateHtmlAndCss(P,"","")};return n.jsx(Q,{configs:t,children:n.jsx(R,{children:n.jsxs("div",{className:"root-widget",children:[n.jsx(me,{templateLoading:r,onSelectItem:e,onReset:i}),n.jsx(re,{templateHTML:{css:s?.css??"",html:s?.html??P},loading:o,className:"col-span-5"})]})})})};f.EditorWidget=ue,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});
|
|
@@ -7,6 +7,7 @@ export type ITemplatesList = {
|
|
|
7
7
|
name: string;
|
|
8
8
|
type: number;
|
|
9
9
|
projectId: number;
|
|
10
|
+
readonly: boolean;
|
|
10
11
|
};
|
|
11
12
|
export type ITemplate = {
|
|
12
13
|
templateID: string;
|
|
@@ -16,6 +17,7 @@ export type ITemplate = {
|
|
|
16
17
|
active: string;
|
|
17
18
|
enerexIdentifier: string;
|
|
18
19
|
projectId: string;
|
|
20
|
+
subject: string;
|
|
19
21
|
templateType: number;
|
|
20
22
|
};
|
|
21
23
|
export type ITemplateTypes = {
|