ublo-lib 1.38.7 → 1.38.9

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.
@@ -9,10 +9,10 @@ type Props = {
9
9
  msemServicesUrl: string;
10
10
  urlOverride?: string;
11
11
  resorts?: Resort[];
12
- target: HTMLElement | null;
12
+ currentPreset?: string;
13
13
  updatePreset: (preset: any) => any;
14
14
  closeEditor: () => void;
15
15
  };
16
- export default function EditorDialog({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, target, updatePreset, closeEditor, }: Props): import("react/jsx-runtime").JSX.Element;
16
+ export default function EditorDialog({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, updatePreset, closeEditor, }: Props): import("react/jsx-runtime").JSX.Element;
17
17
  export {};
18
18
  //# sourceMappingURL=editor-dialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-dialog.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/editor-dialog.tsx"],"names":[],"mappings":"AAMA,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,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,MAAM,EACN,YAAY,EACZ,WAAW,GACZ,EAAE,KAAK,2CAsDP"}
1
+ {"version":3,"file":"editor-dialog.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-editor/editor-dialog.tsx"],"names":[],"mappings":"AAMA,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;IACvB,YAAY,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,EAAE,KAAK,2CAyCP"}
@@ -4,22 +4,10 @@ import Dialog from "dt-design-system/es/dialog";
4
4
  import Button from "dt-design-system/es/button";
5
5
  import MseMPresetEditor from "./msem-preset-editor";
6
6
  import css from "./editor-dialog.module.css";
7
- export default function EditorDialog({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, target, updatePreset, closeEditor, }) {
8
- const selectedPreset = target?.getAttribute("data-msem-preset");
9
- const [preset, setPreset] = React.useState(selectedPreset ? JSON.parse(selectedPreset) : null);
10
- React.useEffect(() => {
11
- if (selectedPreset) {
12
- setPreset(JSON.parse(selectedPreset));
13
- }
14
- }, [selectedPreset]);
7
+ export default function EditorDialog({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, updatePreset, closeEditor, }) {
8
+ const [preset, setPreset] = React.useState(currentPreset ? JSON.parse(currentPreset) : null);
15
9
  const updateNewPreset = React.useCallback(() => {
16
- const anchorHasHref = target
17
- ?.querySelector(":scope > a")
18
- ?.hasAttribute("href");
19
- if (!anchorHasHref && preset?.url) {
20
- delete preset.url;
21
- }
22
10
  updatePreset(preset);
23
- }, [preset, updatePreset, target]);
24
- return (_jsxs(Dialog, { className: css.dialog, isOpened: !!target, close: closeEditor, closeOnBackdropClick: false, showAsModal: false, children: [_jsx("div", { className: css.title, children: "Choisissez un widget" }), _jsx("div", { className: css.subtitle, children: "Ce dernier s'ouvrira au clic sur l'\u00E9l\u00E9ment s\u00E9lectionn\u00E9." }), _jsx(MseMPresetEditor, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, urlOverride: urlOverride, resorts: resorts, selectedPreset: selectedPreset, onChange: setPreset }), _jsxs("div", { className: css.buttons, children: [_jsx(Button, { variant: "secondary", onClick: closeEditor, children: "Annuler" }), _jsx(Button, { variant: "primary", onClick: updateNewPreset, children: "Valider" })] })] }));
11
+ }, [preset, updatePreset]);
12
+ return (_jsxs(Dialog, { className: css.dialog, isOpened: true, close: closeEditor, closeOnBackdropClick: false, showAsModal: false, children: [_jsx("div", { className: css.title, children: "Choisissez un widget" }), _jsx("div", { className: css.subtitle, children: "Ce dernier s'ouvrira au clic sur l'\u00E9l\u00E9ment s\u00E9lectionn\u00E9." }), _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: updateNewPreset, children: "Valider" })] })] }));
25
13
  }
@@ -9,9 +9,9 @@ type Props = {
9
9
  msemServicesUrl: string;
10
10
  urlOverride?: string;
11
11
  resorts?: Resort[];
12
- selectedPreset?: string | null;
12
+ currentPreset?: Record<string, any> | null;
13
13
  onChange?: (preset: Record<string, any> | null) => void;
14
14
  };
15
- export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, selectedPreset, onChange, }: Props): import("react/jsx-runtime").JSX.Element;
15
+ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, }: Props): import("react/jsx-runtime").JSX.Element;
16
16
  export {};
17
17
  //# 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,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACzD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,cAAc,EACd,QAAQ,GACT,EAAE,KAAK,2CA0NP"}
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;CACzD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,IAAI,EACJ,OAAO,EACP,MAAM,EACN,eAAe,EACf,WAAW,EACX,OAAO,EACP,aAAa,EACb,QAAQ,GACT,EAAE,KAAK,2CAuNP"}
@@ -15,16 +15,15 @@ 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, selectedPreset, onChange, }) {
19
- const currentPreset = selectedPreset ? JSON.parse(selectedPreset) : undefined;
18
+ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUrl, urlOverride, resorts, currentPreset, onChange, }) {
20
19
  const defaultResort = Number(currentPreset ? currentPreset.options.resort : resort);
20
+ const [selectedResort, setSelectedResort] = React.useState(defaultResort);
21
21
  const [facet, setFacet] = React.useState(currentPreset?.options?.facet?.toString() || "");
22
22
  const [stay, setStay] = React.useState(currentPreset?.presets?.stay || { from: "", to: "" });
23
23
  const [preset, setPreset] = React.useState(currentPreset || null);
24
24
  const [error, setError] = React.useState(null);
25
25
  const [showPresetDialog, setShowPresetDialog] = React.useState(false);
26
26
  const [presetUrl, setPresetUrl] = React.useState("");
27
- const [selectedResort, setSelectedResort] = React.useState(defaultResort);
28
27
  const initialRender = React.useRef(true);
29
28
  const showWidgetList = selectedResort && facet !== "";
30
29
  const updatePreset = React.useCallback((item, subPreset) => {
@@ -119,7 +118,7 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
119
118
  const footerClasses = classNames(css.footer, {
120
119
  [css.footerButtonOnly]: !showPresetUrl,
121
120
  });
122
- return (_jsxs("div", { className: css.editor, children: [resorts && (_jsx(ResortSelector, { resorts: resorts, resort: selectedResort, setResort: setSelectedResort })), _jsx(FacetSelector, { facet: facet, setFacet: setFacet, setPreset: setPreset }), _jsx(StayPicker, { stay: stay, setStay: setStay, setPreset: setPreset }), showWidgetList && (_jsx(WidgetList, { lang: lang, msemServicesUrl: msemServicesUrl, resort: selectedResort, channel: channel, facet: facet, preset: preset, updatePreset: updatePreset, removePreset: removePreset, error: error, setError: setError, setShowPresetDialog: setShowPresetDialog })), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), container: null, showAsModal: false, children: showPresetDialog && (_jsx(CurrentEditor, { msemServicesUrl: msemServicesUrl, stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, urlOverride: urlOverride })) }), error && _jsx("div", { className: css.error, children: error }), _jsxs("div", { className: footerClasses, children: [showPresetUrl ? (_jsx(Tooltip, { content: "Tester dans le widget MseM", children: _jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: _jsx(Icons.OpenInBrowser, {}) }) })) : (_jsxs(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: [_jsx(Icons.OpenInBrowser, {}), "Tester dans le widget MseM"] })), showPresetUrl && (_jsx(Input, { type: "text", className: css.url, value: presetUrl, onClick: copyUrl, placeholder: !preset
121
+ return (_jsxs("div", { className: css.editor, children: [resorts && (_jsx(ResortSelector, { resorts: resorts, resort: selectedResort, setResort: setSelectedResort })), _jsx(FacetSelector, { facet: facet, setFacet: setFacet, setPreset: setPreset }), _jsx(StayPicker, { stay: stay, setStay: setStay, setPreset: setPreset }), showWidgetList && (_jsx(WidgetList, { lang: lang, msemServicesUrl: msemServicesUrl, resort: selectedResort, channel: channel, facet: facet, preset: preset, updatePreset: updatePreset, removePreset: removePreset, error: error, setError: setError, setShowPresetDialog: setShowPresetDialog })), error && _jsx("div", { className: css.error, children: error }), _jsxs("div", { className: footerClasses, children: [showPresetUrl ? (_jsx(Tooltip, { content: "Tester dans le widget MseM", children: _jsx(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: _jsx(Icons.OpenInBrowser, {}) }) })) : (_jsxs(Button, { variant: "secondary", disabled: !preset?.widget, className: css.testButton, onClick: testPreset, children: [_jsx(Icons.OpenInBrowser, {}), "Tester dans le widget MseM"] })), showPresetUrl && (_jsx(Input, { type: "text", className: css.url, value: presetUrl, onClick: copyUrl, placeholder: !preset
123
122
  ? "Aucun preset sélectionné"
124
- : "Preset incompatible au format URL", readOnly: true }))] })] }));
123
+ : "Preset incompatible au format URL", readOnly: true }))] }), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), showAsModal: false, children: showPresetDialog && (_jsx(CurrentEditor, { msemServicesUrl: msemServicesUrl, stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, urlOverride: urlOverride })) })] }));
125
124
  }
@@ -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":"AAGA,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,GACN,EAAE,KAAK,2CA8BP"}
1
+ {"version":3,"file":"msem-preset-linker.d.ts","sourceRoot":"","sources":["../../../../src/future/components/msem-preset-linker/msem-preset-linker.tsx"],"names":[],"mappings":"AAGA,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,GACN,EAAE,KAAK,2CAqCP"}
@@ -3,12 +3,19 @@ import EditorDialog from "../msem-preset-editor/editor-dialog";
3
3
  const PRESET_ATTRIBUTE = "data-msem-preset";
4
4
  export default function MseMPresetLinker({ lang, channel, resort, msemServicesUrl, target, resorts, close, }) {
5
5
  const link = target?.querySelector(":scope > a");
6
+ const currentPreset = target?.getAttribute("data-msem-preset");
6
7
  const urlOverride = link?.getAttribute("href") || undefined;
7
8
  const closeEditor = () => {
8
9
  close();
9
10
  };
10
11
  const updatePreset = (newPreset) => {
11
12
  if (newPreset) {
13
+ const anchorHasHref = target
14
+ ?.querySelector(":scope > a")
15
+ ?.hasAttribute("href");
16
+ if (!anchorHasHref && newPreset?.url) {
17
+ delete newPreset.url;
18
+ }
12
19
  target?.setAttribute(PRESET_ATTRIBUTE, JSON.stringify(newPreset));
13
20
  }
14
21
  else {
@@ -16,5 +23,5 @@ export default function MseMPresetLinker({ lang, channel, resort, msemServicesUr
16
23
  }
17
24
  closeEditor();
18
25
  };
19
- return (_jsx(EditorDialog, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, target: target, updatePreset: updatePreset, closeEditor: closeEditor, urlOverride: urlOverride, resorts: resorts }));
26
+ return (_jsx(EditorDialog, { lang: lang, channel: channel, resort: resort, msemServicesUrl: msemServicesUrl, currentPreset: currentPreset, updatePreset: updatePreset, closeEditor: closeEditor, urlOverride: urlOverride, resorts: resorts }));
20
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ublo-lib",
3
- "version": "1.38.7",
3
+ "version": "1.38.9",
4
4
  "peerDependencies": {
5
5
  "dt-design-system": "^3.9.9",
6
6
  "leaflet": "^1.9.1",
@@ -1,2 +0,0 @@
1
- export declare const build: (params: Record<string, any>) => string;
2
- //# sourceMappingURL=url-params.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"url-params.d.ts","sourceRoot":"","sources":["../../../../../src/future/components/msem-preset-linker/services/url-params.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,WAAY,OAAO,MAAM,EAAE,GAAG,CAAC,WAWhD,CAAC"}
@@ -1,13 +0,0 @@
1
- export const build = (params) => {
2
- return Object.keys(params)
3
- .map((key, i) => {
4
- const param = params[key];
5
- if (!param)
6
- return "";
7
- const isObject = typeof param === "object";
8
- const sign = i === 0 ? "?" : "&";
9
- const value = isObject ? encodeURI(JSON.stringify(param)) : param;
10
- return `${sign}${key}=${value}`;
11
- })
12
- .join("");
13
- };