@stlite/browser
Version:
Browser Stlite
87 lines (86 loc) • 2.18 kB
JavaScript
import { Ka as e, Ua as t, Ur as n, ga as r } from "./index-Dl4ETd_L-D2oMd1k2.js";
//#region ../react/build/useBasicWidgetState-D3zHnRUK.js
var i = /* @__PURE__ */ e(t(), 1);
function a(e, t, n, r, a, o, s) {
(0, i.useEffect)(() => {
if (n) return e.registerQueryParamBinding(t, n, r, a, o, s?.urlFormat, ...s?.dateType ? [s.dateType] : []), () => {
e.unregisterQueryParamBinding(t);
};
}, [
e,
t,
n,
r,
a,
o,
s
]);
}
function o({ getStateFromWidgetMgr: e, getDefaultState: t, updateWidgetMgrState: a, element: o, widgetMgr: s, fragmentId: c, onFormCleared: l }) {
let [u, d] = (0, i.useState)(() => e(s, o) ?? t(s, o)), [f, p] = (0, i.useState)({
value: u,
fromUi: !1
});
return (0, i.useEffect)(() => {
n(f) || (p(null), d(f.value), a(o, s, f, c));
}, [
f,
a,
o,
s,
c
]), r({
widgetMgr: s,
element: o,
onFormCleared: (0, i.useCallback)(() => {
p({
value: t(s, o),
fromUi: !0
}), l?.();
}, [
p,
o,
t,
s,
l
])
}), [u, p];
}
function s(e) {
let { getStateFromWidgetMgr: t, getDefaultStateFromProto: r, getCurrStateFromProto: s, updateWidgetMgrState: c, element: l, widgetMgr: u, fragmentId: d, queryParamBinding: f } = e, p = e.formClearBehavior === "resetValueAndRunCallback" ? e.onFormCleared : void 0, [m, h] = o({
getStateFromWidgetMgr: t,
getDefaultState: (0, i.useCallback)((e, t) => t.setValue ? s(t) : r(t), [r, s]),
updateWidgetMgrState: c,
element: l,
widgetMgr: u,
fragmentId: d,
onFormCleared: p
}), g = !n(f), _ = (0, i.useMemo)(() => {
if (g) return f?.urlDefault === void 0 ? r(l) : f.urlDefault;
}, [
g,
l,
r,
f?.urlDefault === void 0 ? void 0 : JSON.stringify(f.urlDefault)
]), v = (0, i.useMemo)(() => g ? {
urlFormat: f?.urlFormat,
dateType: f?.dateType
} : void 0, [
g,
f?.urlFormat,
f?.dateType
]);
return a(u, l.id, f?.paramKey ?? null, f?.valueType ?? "string_value", _, f?.clearable ?? !1, v), (0, i.useEffect)(() => {
l.setValue && (l.setValue = !1, h({
value: s(l),
fromUi: !1
}));
}, [
l,
s,
h
]), [m, h];
}
//#endregion
export { s as n, o as t };
//# sourceMappingURL=useBasicWidgetState-D3zHnRUK-Dsaz4YO6.js.map