ublo-lib 1.38.16 → 1.38.19
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/es/future/components/msem-preset-editor/components/widget-list-item.d.ts.map +1 -1
- package/es/future/components/msem-preset-editor/components/widget-list-item.js +4 -9
- package/es/future/components/msem-preset-editor/components/widget-list.js +1 -1
- package/es/future/components/msem-preset-editor/components/widget-list.module.css +1 -1
- package/es/future/components/msem-preset-editor/editors/esf.d.ts +16 -0
- package/es/future/components/msem-preset-editor/editors/esf.d.ts.map +1 -0
- package/es/future/components/msem-preset-editor/editors/esf.js +124 -0
- package/es/future/components/msem-preset-editor/editors/index.d.ts +2 -0
- package/es/future/components/msem-preset-editor/editors/index.d.ts.map +1 -1
- package/es/future/components/msem-preset-editor/editors/index.js +2 -0
- package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts +2 -1
- package/es/future/components/msem-preset-editor/msem-preset-editor.d.ts.map +1 -1
- package/es/future/components/msem-preset-editor/msem-preset-editor.js +2 -3
- package/es/future/components/msem-preset-editor/services/api.d.ts +1 -0
- package/es/future/components/msem-preset-editor/services/api.d.ts.map +1 -1
- package/es/future/components/msem-preset-editor/services/api.js +12 -0
- package/es/future/components/msem-preset-linker/msem-preset-linker.d.ts +2 -1
- package/es/future/components/msem-preset-linker/msem-preset-linker.d.ts.map +1 -1
- package/es/future/components/msem-preset-linker/msem-preset-linker.js +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget-list-item.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/components/widget-list-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACpE,CAAC;
|
|
1
|
+
{"version":3,"file":"widget-list-item.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/components/widget-list-item.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAGhD,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CACpE,CAAC;AAYF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,EAAE,KAAK,2CAqKP"}
|
|
@@ -13,12 +13,14 @@ const ALLOW_PRESETS_ON_WIDGETS = [
|
|
|
13
13
|
"elloha",
|
|
14
14
|
"vakario",
|
|
15
15
|
"skiRental",
|
|
16
|
+
"esf",
|
|
16
17
|
];
|
|
17
18
|
export default function WidgetListItem({ item, preset, updatePreset, removePreset, setShowPresetDialog, }) {
|
|
18
|
-
const [opened, setOpened] = React.useState(false);
|
|
19
19
|
const { widget, logo, name, items: subs } = item;
|
|
20
|
-
const ToggleIcon = opened ? Icons.ChevronUp : Icons.ChevronDown;
|
|
21
20
|
const isSelected = preset?.name === name && preset?.widget === widget;
|
|
21
|
+
const hasSubsSelected = subs?.some((sub) => preset?.name === sub.name && preset?.widget === sub.widget) || false;
|
|
22
|
+
const [opened, setOpened] = React.useState(isSelected || hasSubsSelected);
|
|
23
|
+
const ToggleIcon = opened ? Icons.ChevronUp : Icons.ChevronDown;
|
|
22
24
|
const hasSubs = subs && subs.length > 0;
|
|
23
25
|
const allowAdvancedPresets = ALLOW_PRESETS_ON_WIDGETS.includes(widget);
|
|
24
26
|
const showEditButton = isSelected && allowAdvancedPresets;
|
|
@@ -31,13 +33,6 @@ export default function WidgetListItem({ item, preset, updatePreset, removePrese
|
|
|
31
33
|
const closeDropdown = () => {
|
|
32
34
|
setOpened(false);
|
|
33
35
|
};
|
|
34
|
-
const handleDropdownChildrenClick = (e) => {
|
|
35
|
-
const target = e.target;
|
|
36
|
-
const button = target.closest("button");
|
|
37
|
-
if (!button)
|
|
38
|
-
return;
|
|
39
|
-
closeDropdown();
|
|
40
|
-
};
|
|
41
36
|
const classes = classNames(css.item, {
|
|
42
37
|
[css.selected]: isSelected,
|
|
43
38
|
[css.opened]: opened,
|
|
@@ -29,7 +29,7 @@ export default function WidgetList({ lang, msemServicesUrl, channel, resort, fac
|
|
|
29
29
|
runEffect();
|
|
30
30
|
}, [channel, facet, lang, msemServicesUrl, resort, setError]);
|
|
31
31
|
return (_jsxs("div", { className: css.list, children: [loading &&
|
|
32
|
-
[...new Array(
|
|
32
|
+
[...new Array(5)].map((_, i) => {
|
|
33
33
|
return _jsx(Loader, { className: css.loader, variant: "overlay" }, i);
|
|
34
34
|
}), offers?.length === 0 && !loading && (_jsx("div", { className: css.empty, children: "Aucun widget disponible" })), offers?.map((offer, i) => {
|
|
35
35
|
return (_jsx(WidgetListItem, { item: offer, preset: preset, updatePreset: updatePreset, removePreset: removePreset, setShowPresetDialog: setShowPresetDialog }, i));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
type Props = {
|
|
3
|
+
msemServicesUrl: string;
|
|
4
|
+
stay: {
|
|
5
|
+
from: string;
|
|
6
|
+
to: string;
|
|
7
|
+
};
|
|
8
|
+
preset: Record<string, any> | null;
|
|
9
|
+
setPreset: React.Dispatch<React.SetStateAction<Record<string, any> | null>>;
|
|
10
|
+
setShowPresetDialog: React.Dispatch<React.SetStateAction<boolean>>;
|
|
11
|
+
onChange?: (preset: Record<string, any> | null) => void;
|
|
12
|
+
testPreset: () => void;
|
|
13
|
+
};
|
|
14
|
+
export default function Esf({ msemServicesUrl, preset, setPreset, setShowPresetDialog, onChange, testPreset, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=esf.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esf.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/esf.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,KAAK,KAAK,GAAG;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5E,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAeF,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAC1B,eAAe,EACf,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,UAAU,GACX,EAAE,KAAK,2CA6HP"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import Input from "dt-design-system/es/input";
|
|
4
|
+
import Select from "dt-design-system/es/select";
|
|
5
|
+
import Form from "../components/form";
|
|
6
|
+
import * as API from "../services/api";
|
|
7
|
+
const DEFAULT_DATA = {
|
|
8
|
+
intermediary: "",
|
|
9
|
+
kind: "",
|
|
10
|
+
};
|
|
11
|
+
export default function Esf({ msemServicesUrl, preset, setPreset, setShowPresetDialog, onChange, testPreset, }) {
|
|
12
|
+
const savedPreset = React.useRef(preset);
|
|
13
|
+
const [loading, setLoading] = React.useState(false);
|
|
14
|
+
const [data, setData] = React.useState(getDefaultData(preset));
|
|
15
|
+
const [kindList, setKindList] = React.useState([]);
|
|
16
|
+
const formattedKindList = kindList.map((k) => {
|
|
17
|
+
const isEngagement = k.engagement;
|
|
18
|
+
const label = isEngagement
|
|
19
|
+
? `${k.normalizedCode} - ${k.name} (engagement)`
|
|
20
|
+
: `${k.normalizedCode} - ${k.name}`;
|
|
21
|
+
const value = `${k.code}|${k.engagement}`;
|
|
22
|
+
return { label, value };
|
|
23
|
+
});
|
|
24
|
+
const selectedKind = kindList.find((k) => {
|
|
25
|
+
const [code, engagement] = data.kind.split("|");
|
|
26
|
+
if (engagement === "true") {
|
|
27
|
+
return k.engagement && k.code === code;
|
|
28
|
+
}
|
|
29
|
+
return !k.engagement && k.code === code;
|
|
30
|
+
});
|
|
31
|
+
const { channel, resort, lang } = preset?.options || {};
|
|
32
|
+
const year = getYear();
|
|
33
|
+
const stay = buildStay(year);
|
|
34
|
+
const season = getSeason(year);
|
|
35
|
+
const updateField = (field) => (value) => {
|
|
36
|
+
setData((current) => ({ ...current, [field]: value }));
|
|
37
|
+
};
|
|
38
|
+
const cancelPreset = () => {
|
|
39
|
+
setPreset(savedPreset.current);
|
|
40
|
+
setShowPresetDialog(false);
|
|
41
|
+
};
|
|
42
|
+
const confirmPreset = () => {
|
|
43
|
+
setShowPresetDialog(false);
|
|
44
|
+
};
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
if (year && stay && !kindList.length) {
|
|
47
|
+
const runEffect = async () => {
|
|
48
|
+
try {
|
|
49
|
+
setLoading(true);
|
|
50
|
+
const result = await API.getEsfKinds(msemServicesUrl, channel, resort, stay.from, stay.to, season, lang);
|
|
51
|
+
if (result.choices) {
|
|
52
|
+
setKindList(result.choices);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new Error("Erreur lors de la récupération des types de cours");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
console.error(e);
|
|
60
|
+
}
|
|
61
|
+
finally {
|
|
62
|
+
setLoading(false);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
runEffect();
|
|
66
|
+
}
|
|
67
|
+
}, [channel, lang, msemServicesUrl, resort, season, stay, year]);
|
|
68
|
+
React.useEffect(() => {
|
|
69
|
+
setPreset((current = {}) => {
|
|
70
|
+
const kind = selectedKind?.code;
|
|
71
|
+
const engagement = selectedKind?.engagement ? true : undefined;
|
|
72
|
+
const newPreset = {
|
|
73
|
+
...current,
|
|
74
|
+
options: {
|
|
75
|
+
...(current?.options || {}),
|
|
76
|
+
intermediary: data.intermediary || undefined,
|
|
77
|
+
},
|
|
78
|
+
presets: {
|
|
79
|
+
...(current?.presets || {}),
|
|
80
|
+
kind,
|
|
81
|
+
engagement,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
onChange?.(newPreset);
|
|
85
|
+
return newPreset;
|
|
86
|
+
});
|
|
87
|
+
}, [data, onChange, selectedKind, setPreset]);
|
|
88
|
+
return (_jsxs(Form, { title: "Presets cours de ski esf", width: 420, preset: preset, buttonsActions: {
|
|
89
|
+
testPreset,
|
|
90
|
+
cancelPreset,
|
|
91
|
+
confirmPreset: data.intermediary || data.kind ? confirmPreset : undefined,
|
|
92
|
+
}, children: [_jsx(Input, { label: "Code interm\u00E9diaire", value: data.intermediary, onValueChange: updateField("intermediary") }), (loading || formattedKindList.length > 0) && (_jsx(Select, { label: "Type de cours", placeholder: "S\u00E9lectionnez un type de cours", value: data.kind, options: formattedKindList, onValueChange: updateField("kind"), loading: loading }))] }));
|
|
93
|
+
}
|
|
94
|
+
function getDefaultData(preset) {
|
|
95
|
+
if (!preset?.presets && !preset?.options)
|
|
96
|
+
return DEFAULT_DATA;
|
|
97
|
+
const { intermediary } = preset.options;
|
|
98
|
+
const { kind, engagement } = preset.presets;
|
|
99
|
+
return {
|
|
100
|
+
intermediary: intermediary || DEFAULT_DATA.intermediary,
|
|
101
|
+
kind: kind ? `${kind}|${engagement}` : DEFAULT_DATA.kind,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function getYear() {
|
|
105
|
+
const now = new Date();
|
|
106
|
+
const isAfterMay = now.getMonth() > 4;
|
|
107
|
+
const currentYear = now.getFullYear();
|
|
108
|
+
return isAfterMay ? currentYear : currentYear - 1;
|
|
109
|
+
}
|
|
110
|
+
function getSeason(year) {
|
|
111
|
+
const now = new Date();
|
|
112
|
+
const isAfterMay = now.getMonth() > 4;
|
|
113
|
+
return `${isAfterMay ? year + 1 : year}`;
|
|
114
|
+
}
|
|
115
|
+
function buildStay(year) {
|
|
116
|
+
const christmas = new Date(`${year}-12-25`);
|
|
117
|
+
const closerSaturday = new Date(`${year}-12-${25 - (christmas.getDay() + 1)}`);
|
|
118
|
+
const nextSaturday = new Date(closerSaturday);
|
|
119
|
+
nextSaturday.setDate(closerSaturday.getDate() + 7);
|
|
120
|
+
return {
|
|
121
|
+
from: closerSaturday.toISOString().split("T")[0],
|
|
122
|
+
to: nextSaturday.toISOString().split("T")[0],
|
|
123
|
+
};
|
|
124
|
+
}
|
|
@@ -5,6 +5,7 @@ import Elloha from "./elloha";
|
|
|
5
5
|
import Vakario from "./vakario";
|
|
6
6
|
import StandardProducts from "./standard-products";
|
|
7
7
|
import SkiRental from "./ski-rental";
|
|
8
|
+
import Esf from "./esf";
|
|
8
9
|
declare const Editor: {
|
|
9
10
|
lodging: typeof Lodgings;
|
|
10
11
|
skiPass: typeof SkiPasses;
|
|
@@ -13,6 +14,7 @@ declare const Editor: {
|
|
|
13
14
|
vakario: typeof Vakario;
|
|
14
15
|
otherProducts: typeof StandardProducts;
|
|
15
16
|
skiRental: typeof SkiRental;
|
|
17
|
+
esf: typeof Esf;
|
|
16
18
|
};
|
|
17
19
|
export default Editor;
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/editors/index.tsx"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,QAAQ,MAAM,YAAY,CAAC;AAClC,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,QAAA,MAAM,MAAM;;;;;;;;;CASX,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -5,6 +5,7 @@ import Elloha from "./elloha";
|
|
|
5
5
|
import Vakario from "./vakario";
|
|
6
6
|
import StandardProducts from "./standard-products";
|
|
7
7
|
import SkiRental from "./ski-rental";
|
|
8
|
+
import Esf from "./esf";
|
|
8
9
|
const Editor = {
|
|
9
10
|
lodging: Lodgings,
|
|
10
11
|
skiPass: SkiPasses,
|
|
@@ -13,5 +14,6 @@ const Editor = {
|
|
|
13
14
|
vakario: Vakario,
|
|
14
15
|
otherProducts: StandardProducts,
|
|
15
16
|
skiRental: SkiRental,
|
|
17
|
+
esf: Esf,
|
|
16
18
|
};
|
|
17
19
|
export default Editor;
|
|
@@ -11,7 +11,8 @@ type Props = {
|
|
|
11
11
|
resorts?: Resort[];
|
|
12
12
|
currentPreset?: Record<string, any> | null;
|
|
13
13
|
onChange?: (preset: Record<string, any> | null) => void;
|
|
14
|
+
showUrl?: boolean;
|
|
14
15
|
};
|
|
15
|
-
export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, showUrl, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
16
17
|
export {};
|
|
17
18
|
//# sourceMappingURL=msem-preset-editor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAmBA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"msem-preset-editor.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/msem-preset-editor.tsx"],"names":[],"mappings":"AAmBA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,EACR,OAAO,GACR,EAAE,KAAK,2CA8MP"}
|
|
@@ -15,7 +15,7 @@ import Editors from "./editors";
|
|
|
15
15
|
import * as UrlParams from "./services/url-params";
|
|
16
16
|
import * as Preset from "./services/preset";
|
|
17
17
|
import css from "./msem-preset-editor.module.css";
|
|
18
|
-
export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, }) {
|
|
18
|
+
export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, showUrl, }) {
|
|
19
19
|
const defaultResort = Number(currentPreset ? currentPreset.options.resort : resort);
|
|
20
20
|
const [selectedResort, setSelectedResort] = React.useState(defaultResort);
|
|
21
21
|
const [facet, setFacet] = React.useState(currentPreset?.options?.facet?.toString() || "");
|
|
@@ -79,7 +79,6 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
|
|
|
79
79
|
const url = field.value;
|
|
80
80
|
field.select();
|
|
81
81
|
navigator.clipboard.writeText(url);
|
|
82
|
-
window.ubloSnackbar("URL copiée dans le presse papier", "success");
|
|
83
82
|
};
|
|
84
83
|
React.useEffect(() => {
|
|
85
84
|
if (stay?.from && stay?.to) {
|
|
@@ -105,7 +104,7 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
|
|
|
105
104
|
if (!selectedResort)
|
|
106
105
|
return null;
|
|
107
106
|
const CurrentEditor = preset?.widget && Editors[preset.widget];
|
|
108
|
-
const showPresetUrl = Boolean(preset?.widget && presetUrl !== "");
|
|
107
|
+
const showPresetUrl = showUrl && Boolean(preset?.widget && presetUrl !== "");
|
|
109
108
|
const footerClasses = classNames(css.footer, {
|
|
110
109
|
[css.footerButtonOnly]: !showPresetUrl,
|
|
111
110
|
});
|
|
@@ -13,4 +13,5 @@ export declare function getVakarioCategories(msemServicesUrl: string, channel: s
|
|
|
13
13
|
export declare function getVakarioLevels(msemServicesUrl: string, channel: string, merchant: string, kind: string, age: string, category: string, language?: string): Promise<any>;
|
|
14
14
|
export declare function getOtherProductsCategories(msemServicesUrl: string, facet: string, merchant: string, lang?: string): Promise<any>;
|
|
15
15
|
export declare function getRenterList(msemServicesUrl: string, channel: string, resort: number | string, date?: string): Promise<any>;
|
|
16
|
+
export declare function getEsfKinds(msemServicesUrl: string, channel: string, resort: string, stayFrom: string, stayTo: string, season: string, lang?: string): Promise<any>;
|
|
16
17
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/services/api.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,gBAId;AAWD,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,gBAMb;AAED,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,gBAIxB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,gBAIjB;AAED,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,gBAIhB;AAGD,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,gBAIf;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,EACf,OAAO,UAAQ,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,0BAA0B,CAC9C,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAO,gBAIZ;AAED,wBAAsB,aAAa,CACjC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,gBAId"}
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-editor/services/api.ts"],"names":[],"mappings":"AAGA,wBAAgB,SAAS,CACvB,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,gBAId;AAWD,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,IAAI,GAAG,IAAI,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,gBAMb;AAED,wBAAsB,UAAU,CAC9B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,gBAIxB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,gBAIjB;AAED,wBAAsB,mBAAmB,CACvC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,gBAIhB;AAGD,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,gBAIf;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,SAAO,EACf,OAAO,UAAQ,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,cAAc,CAClC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,oBAAoB,CACxC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,gBAAgB,CACpC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,SAAO,gBAIhB;AAED,wBAAsB,0BAA0B,CAC9C,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,IAAI,SAAO,gBAIZ;AAED,wBAAsB,aAAa,CACjC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,IAAI,CAAC,EAAE,MAAM,gBAId;AAED,wBAAsB,WAAW,CAC/B,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,SAAO,gBAYZ"}
|
|
@@ -70,3 +70,15 @@ export async function getRenterList(msemServicesUrl, channel, resort, date) {
|
|
|
70
70
|
const endpoint = `${msemServicesUrl}/api/ski-rental/${resort}/renters`;
|
|
71
71
|
return Fetcher.post(endpoint, { channel, date });
|
|
72
72
|
}
|
|
73
|
+
export async function getEsfKinds(msemServicesUrl, channel, resort, stayFrom, stayTo, season, lang = "fr") {
|
|
74
|
+
const endpoint = `${msemServicesUrl}/api/esf/kinds`;
|
|
75
|
+
return Fetcher.post(endpoint, {
|
|
76
|
+
channel,
|
|
77
|
+
resort,
|
|
78
|
+
lang,
|
|
79
|
+
stayFrom,
|
|
80
|
+
stayTo,
|
|
81
|
+
season,
|
|
82
|
+
period: 6,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
@@ -9,8 +9,9 @@ type Props = {
|
|
|
9
9
|
msemServicesUrl: string;
|
|
10
10
|
target: HTMLElement | null;
|
|
11
11
|
resorts?: Resort[];
|
|
12
|
+
showUrl?: boolean;
|
|
12
13
|
close: () => void;
|
|
13
14
|
};
|
|
14
|
-
export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, showUrl, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
export {};
|
|
16
17
|
//# sourceMappingURL=msem-preset-linker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAOA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,MAAM,EACN,OAAO,EACP,KAAK,
|
|
1
|
+
{"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAOA,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,GACR,EAAE,KAAK,2CA+DP"}
|
|
@@ -6,7 +6,7 @@ import MseMPresetEditor from "../msem-preset-editor";
|
|
|
6
6
|
import css from "./msem-preset-linker.module.css";
|
|
7
7
|
import MseMLogo from "./msem-logo";
|
|
8
8
|
const PRESET_ATTRIBUTE = "data-msem-preset";
|
|
9
|
-
export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, }) {
|
|
9
|
+
export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, showUrl, }) {
|
|
10
10
|
const link = target?.querySelector(":scope > a");
|
|
11
11
|
const currentPreset = target?.getAttribute("data-msem-preset") || undefined;
|
|
12
12
|
const urlOverride = link?.getAttribute("href") || undefined;
|
|
@@ -29,5 +29,5 @@ export default function MseMPresetLinker({ lang, channel, resort, msemServicesUr
|
|
|
29
29
|
}
|
|
30
30
|
closeEditor();
|
|
31
31
|
}, [preset]);
|
|
32
|
-
return (_jsxs(Dialog, { className: css.dialog, isOpened: true, close: closeEditor, closeButtonVariant: "transparent", closeOnBackdropClick: false, showAsModal: false, children: [_jsxs("div", { className: css.title, children: [_jsx(MseMLogo, { className: css.logo }), " \u00C9diteur de presets"] }), _jsx("div", { className: css.content, children: _jsx(MseMPresetEditor, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, urlOverride: urlOverride, resorts: resorts, currentPreset: preset, onChange: setPreset }) }), _jsxs("div", { className: css.buttons, children: [_jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updatePreset, children: "Valider" })] })] }));
|
|
32
|
+
return (_jsxs(Dialog, { className: css.dialog, isOpened: true, close: closeEditor, closeButtonVariant: "transparent", closeOnBackdropClick: false, showAsModal: false, children: [_jsxs("div", { className: css.title, children: [_jsx(MseMLogo, { className: css.logo }), " \u00C9diteur de presets"] }), _jsx("div", { className: css.content, children: _jsx(MseMPresetEditor, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, urlOverride: urlOverride, resorts: resorts, currentPreset: preset, onChange: setPreset, showUrl: showUrl }) }), _jsxs("div", { className: css.buttons, children: [_jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updatePreset, children: "Valider" })] })] }));
|
|
33
33
|
}
|