ublo-lib 1.38.8 → 1.38.10

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,2CA2CP"}
@@ -4,22 +4,11 @@ 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
+ console.log("editor-dialog", preset);
13
+ 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
14
  }
@@ -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,2CAyNP"}
@@ -15,18 +15,18 @@ 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 !== "";
29
+ console.log("msem-preset-editor", preset);
30
30
  const updatePreset = React.useCallback((item, subPreset) => {
31
31
  let { name, options: itemOptions, presets: itemPresets } = item;
32
32
  const widget = subPreset?.widget || item.widget;
@@ -121,5 +121,5 @@ export default function MseMPresetEditor({ lang, channel, resort, msemServicesUr
121
121
  });
122
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 })), 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
123
  ? "Aucun preset sélectionné"
124
- : "Preset incompatible au format URL", readOnly: true }))] }), _jsx(Dialog, { isOpened: showPresetDialog, close: () => setShowPresetDialog(false), container: css.editor, showAsModal: false, children: showPresetDialog && (_jsx(CurrentEditor, { msemServicesUrl: msemServicesUrl, stay: stay, facet: facet, preset: preset, setPreset: setPreset, setShowPresetDialog: setShowPresetDialog, testPreset: testPreset, onChange: onChange, urlOverride: urlOverride })) })] }));
124
+ : "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
125
  }
@@ -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.8",
3
+ "version": "1.38.10",
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
- };