@fctc/sme-widget-ui 2.2.8 → 2.3.0
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/dist/index.js +57 -90
- package/dist/index.mjs +161 -194
- package/dist/widgets.js +382 -417
- package/dist/widgets.mjs +602 -637
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -10890,7 +10890,7 @@ var Row = (props) => {
|
|
|
10890
10890
|
children: /* @__PURE__ */ jsx47(DeleteIcon, {})
|
|
10891
10891
|
}
|
|
10892
10892
|
) }) }),
|
|
10893
|
-
columns && Array.isArray(columns) && columns?.some((column2) => column2?.optional) && /* @__PURE__ */ jsx47(
|
|
10893
|
+
(!onAddRow || typeof onAddRow !== "function") && columns && Array.isArray(columns) && columns?.some((column2) => column2?.optional) && /* @__PURE__ */ jsx47(
|
|
10894
10894
|
"td",
|
|
10895
10895
|
{
|
|
10896
10896
|
style: {
|
|
@@ -11002,98 +11002,65 @@ var TableBody = (props) => {
|
|
|
11002
11002
|
};
|
|
11003
11003
|
|
|
11004
11004
|
// src/widgets/advanced/table/table-filter.tsx
|
|
11005
|
-
import {
|
|
11006
|
-
import { createPortal } from "react-dom";
|
|
11005
|
+
import { Popover, PopoverButton, PopoverPanel } from "@headlessui/react";
|
|
11007
11006
|
import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
11008
11007
|
var TableFilter = ({ columns, onToggleColumnOptional }) => {
|
|
11009
|
-
|
|
11010
|
-
const [filterPosition, setFilterPosition] = useState4(null);
|
|
11011
|
-
const filterPopupRef = useRef5(null);
|
|
11012
|
-
const filterRef = useClickOutside({
|
|
11013
|
-
handler: () => {
|
|
11014
|
-
if (openTableFilter) {
|
|
11015
|
-
setOpenTableFilter(false);
|
|
11016
|
-
}
|
|
11017
|
-
},
|
|
11018
|
-
refs: [filterPopupRef]
|
|
11019
|
-
});
|
|
11020
|
-
useEffect6(() => {
|
|
11021
|
-
const updatePosition = () => {
|
|
11022
|
-
if (filterRef.current && openTableFilter) {
|
|
11023
|
-
const rect = filterRef.current.getBoundingClientRect();
|
|
11024
|
-
setFilterPosition({
|
|
11025
|
-
top: rect.bottom + window.scrollY,
|
|
11026
|
-
left: rect.left + window.scrollX,
|
|
11027
|
-
right: window.innerWidth - rect.right
|
|
11028
|
-
});
|
|
11029
|
-
}
|
|
11030
|
-
};
|
|
11031
|
-
updatePosition();
|
|
11032
|
-
window.addEventListener("scroll", updatePosition);
|
|
11033
|
-
window.addEventListener("resize", updatePosition);
|
|
11034
|
-
return () => {
|
|
11035
|
-
window.removeEventListener("scroll", updatePosition);
|
|
11036
|
-
window.removeEventListener("resize", updatePosition);
|
|
11037
|
-
};
|
|
11038
|
-
}, [filterRef, openTableFilter]);
|
|
11039
|
-
return /* @__PURE__ */ jsxs27(
|
|
11008
|
+
return /* @__PURE__ */ jsx49(
|
|
11040
11009
|
"div",
|
|
11041
11010
|
{
|
|
11042
|
-
ref: filterRef,
|
|
11043
11011
|
style: {
|
|
11044
11012
|
transform: "translateY(-50%)"
|
|
11045
11013
|
},
|
|
11046
|
-
className: "w-fit absolute top-[50%] translate-y-[-50%] right-[
|
|
11047
|
-
children: [
|
|
11048
|
-
/* @__PURE__ */ jsx49(
|
|
11014
|
+
className: "w-fit absolute top-[50%] translate-y-[-50%] right-[0px] ms-auto z-[32] ",
|
|
11015
|
+
children: /* @__PURE__ */ jsxs27(Popover, { children: [
|
|
11016
|
+
/* @__PURE__ */ jsx49(PopoverButton, { className: "p-2 rounded-lg cursor-pointer outline-none", children: /* @__PURE__ */ jsx49(
|
|
11049
11017
|
"button",
|
|
11050
11018
|
{
|
|
11051
11019
|
type: "button",
|
|
11052
11020
|
className: "bg-white size-8 p-1 rounded-lg cursor-pointer flex items-center justify-center",
|
|
11053
|
-
onClick: () => {
|
|
11054
|
-
setOpenTableFilter(!openTableFilter);
|
|
11055
|
-
},
|
|
11056
11021
|
children: /* @__PURE__ */ jsx49(FilterColumnIcon, {})
|
|
11057
11022
|
}
|
|
11058
|
-
),
|
|
11059
|
-
|
|
11060
|
-
|
|
11061
|
-
|
|
11062
|
-
|
|
11063
|
-
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
|
|
11068
|
-
|
|
11069
|
-
|
|
11070
|
-
|
|
11071
|
-
|
|
11072
|
-
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11082
|
-
|
|
11083
|
-
|
|
11084
|
-
|
|
11085
|
-
|
|
11086
|
-
|
|
11087
|
-
|
|
11088
|
-
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
|
|
11093
|
-
|
|
11094
|
-
|
|
11023
|
+
) }),
|
|
11024
|
+
/* @__PURE__ */ jsx49(
|
|
11025
|
+
PopoverPanel,
|
|
11026
|
+
{
|
|
11027
|
+
transition: true,
|
|
11028
|
+
anchor: "bottom end",
|
|
11029
|
+
className: "shadow-lg z-[99] gap-2 bg-white rounded-lg transition duration-200 ease-in-out border border-stroke-disabled",
|
|
11030
|
+
children: /* @__PURE__ */ jsx49(
|
|
11031
|
+
"div",
|
|
11032
|
+
{
|
|
11033
|
+
style: {
|
|
11034
|
+
zIndex: 9999
|
|
11035
|
+
},
|
|
11036
|
+
className: "flex w-[250px] h-auto overflow-auto flex-col gap-[16px] rounded-[8px] bg-[#fff] px-[24px] py-[16px] shadow-md",
|
|
11037
|
+
children: columns?.filter((val) => val?.optional !== void 0)?.map((item) => {
|
|
11038
|
+
return /* @__PURE__ */ jsxs27("div", { className: "flex items-center gap-2", children: [
|
|
11039
|
+
/* @__PURE__ */ jsx49(
|
|
11040
|
+
"input",
|
|
11041
|
+
{
|
|
11042
|
+
type: "checkbox",
|
|
11043
|
+
id: `${item.name}`,
|
|
11044
|
+
onChange: () => onToggleColumnOptional(item),
|
|
11045
|
+
checked: item.optional !== "hide",
|
|
11046
|
+
className: "cursor-pointer"
|
|
11047
|
+
}
|
|
11048
|
+
),
|
|
11049
|
+
/* @__PURE__ */ jsx49(
|
|
11050
|
+
"label",
|
|
11051
|
+
{
|
|
11052
|
+
htmlFor: `${item.name}`,
|
|
11053
|
+
className: "flex items-center gap-[8px]",
|
|
11054
|
+
children: item.field.string
|
|
11055
|
+
}
|
|
11056
|
+
)
|
|
11057
|
+
] }, item.name);
|
|
11058
|
+
})
|
|
11059
|
+
}
|
|
11060
|
+
)
|
|
11061
|
+
}
|
|
11095
11062
|
)
|
|
11096
|
-
]
|
|
11063
|
+
] })
|
|
11097
11064
|
}
|
|
11098
11065
|
);
|
|
11099
11066
|
};
|
|
@@ -12956,7 +12923,7 @@ var M = e2.forwardRef(({ id: t3, anchorId: l2, anchorSelect: n4, content: i3, ht
|
|
|
12956
12923
|
});
|
|
12957
12924
|
|
|
12958
12925
|
// src/widgets/advanced/table/table-head.tsx
|
|
12959
|
-
import { createPortal
|
|
12926
|
+
import { createPortal } from "react-dom";
|
|
12960
12927
|
import { Fragment as Fragment4, jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
12961
12928
|
var TableHead = (props) => {
|
|
12962
12929
|
const {
|
|
@@ -13004,7 +12971,7 @@ var TableHead = (props) => {
|
|
|
13004
12971
|
children: /* @__PURE__ */ jsxs29("div", { className: "cursor-pointer flex items-center gap-[4px] w-full group relative", children: [
|
|
13005
12972
|
/* @__PURE__ */ jsx51("span", { className: "truncate line-clamp-1 w-fit", children: col.title }),
|
|
13006
12973
|
col?.field?.help && /* @__PURE__ */ jsxs29(Fragment4, { children: [
|
|
13007
|
-
|
|
12974
|
+
createPortal(
|
|
13008
12975
|
/* @__PURE__ */ jsx51(
|
|
13009
12976
|
M,
|
|
13010
12977
|
{
|
|
@@ -15266,7 +15233,7 @@ var Button = React2.forwardRef(
|
|
|
15266
15233
|
Button.displayName = "Button";
|
|
15267
15234
|
|
|
15268
15235
|
// src/widgets/advanced/login/shared/text-input.tsx
|
|
15269
|
-
import { useState as
|
|
15236
|
+
import { useState as useState4 } from "react";
|
|
15270
15237
|
import { jsx as jsx55, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
15271
15238
|
function TextInput(props) {
|
|
15272
15239
|
const {
|
|
@@ -15280,7 +15247,7 @@ function TextInput(props) {
|
|
|
15280
15247
|
errors,
|
|
15281
15248
|
required
|
|
15282
15249
|
} = props;
|
|
15283
|
-
const [showPassword, setShowPassword] =
|
|
15250
|
+
const [showPassword, setShowPassword] = useState4(false);
|
|
15284
15251
|
return /* @__PURE__ */ jsxs32("div", { className: `flex justify-center gap-2 flex-col ${className}`, children: [
|
|
15285
15252
|
label && /* @__PURE__ */ jsxs32("label", { className: "text-[#262626] text-sm leading-5 font-semibold", children: [
|
|
15286
15253
|
label,
|
|
@@ -15322,7 +15289,7 @@ function TextInput(props) {
|
|
|
15322
15289
|
}
|
|
15323
15290
|
|
|
15324
15291
|
// src/widgets/advanced/login/provider/credential/form-options/index.tsx
|
|
15325
|
-
import { useEffect as
|
|
15292
|
+
import { useEffect as useEffect6 } from "react";
|
|
15326
15293
|
import { jsx as jsx56, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
15327
15294
|
var STAY_LOGIN_IN = "stayLoginIn";
|
|
15328
15295
|
function FormOptions({
|
|
@@ -15346,7 +15313,7 @@ function FormOptions({
|
|
|
15346
15313
|
}
|
|
15347
15314
|
}
|
|
15348
15315
|
}
|
|
15349
|
-
|
|
15316
|
+
useEffect6(() => {
|
|
15350
15317
|
localStorage.setItem(STAY_LOGIN_IN, "false");
|
|
15351
15318
|
}, []);
|
|
15352
15319
|
return /* @__PURE__ */ jsxs33("div", { className: "flex justify-between items-center text-[#005aa9] text-sm leading-5 font-medium select-none", children: [
|
|
@@ -15640,7 +15607,7 @@ var PopupFilter = ({
|
|
|
15640
15607
|
};
|
|
15641
15608
|
|
|
15642
15609
|
// src/widgets/advanced/search/search-item/index.tsx
|
|
15643
|
-
import { useEffect as
|
|
15610
|
+
import { useEffect as useEffect7, useState as useState5 } from "react";
|
|
15644
15611
|
|
|
15645
15612
|
// src/widgets/advanced/search/tag-search/index.tsx
|
|
15646
15613
|
import { Fragment as Fragment8 } from "react";
|
|
@@ -15842,13 +15809,13 @@ var Search = ({
|
|
|
15842
15809
|
clearSearch
|
|
15843
15810
|
}) => {
|
|
15844
15811
|
const { t: t3 } = useI18n();
|
|
15845
|
-
const [showPopupFilter, setShowPopupFilter] =
|
|
15812
|
+
const [showPopupFilter, setShowPopupFilter] = useState5(false);
|
|
15846
15813
|
const popupFilterRef = useClickOutside({
|
|
15847
15814
|
handler: () => setShowPopupFilter(false)
|
|
15848
15815
|
});
|
|
15849
|
-
const [isReadyFormatDomain, setIsReadyFormatDomain] =
|
|
15850
|
-
const [didInit, setDidInit] =
|
|
15851
|
-
|
|
15816
|
+
const [isReadyFormatDomain, setIsReadyFormatDomain] = useState5(false);
|
|
15817
|
+
const [didInit, setDidInit] = useState5(false);
|
|
15818
|
+
useEffect7(() => {
|
|
15852
15819
|
if (isReadyFormatDomain) {
|
|
15853
15820
|
setPage(0);
|
|
15854
15821
|
setSelectedRowKeys([]);
|
|
@@ -15861,7 +15828,7 @@ var Search = ({
|
|
|
15861
15828
|
}
|
|
15862
15829
|
}
|
|
15863
15830
|
}, [selectedTags, isReadyFormatDomain]);
|
|
15864
|
-
|
|
15831
|
+
useEffect7(() => {
|
|
15865
15832
|
setDidInit(false);
|
|
15866
15833
|
setIsReadyFormatDomain(false);
|
|
15867
15834
|
return () => {
|
|
@@ -15870,7 +15837,7 @@ var Search = ({
|
|
|
15870
15837
|
setIsReadyFormatDomain(false);
|
|
15871
15838
|
};
|
|
15872
15839
|
}, [aid]);
|
|
15873
|
-
|
|
15840
|
+
useEffect7(() => {
|
|
15874
15841
|
if (!filterBy || !fieldsList || fieldsList?.length === 0) return;
|
|
15875
15842
|
if (didInit) return;
|
|
15876
15843
|
const searchDefaults = Object.entries(context || {}).filter(
|
|
@@ -16169,8 +16136,8 @@ var ModalConfirm = ({
|
|
|
16169
16136
|
};
|
|
16170
16137
|
|
|
16171
16138
|
// src/widgets/common/modal-detail.tsx
|
|
16172
|
-
import { useState as
|
|
16173
|
-
import { createPortal as
|
|
16139
|
+
import { useState as useState6 } from "react";
|
|
16140
|
+
import { createPortal as createPortal2 } from "react-dom";
|
|
16174
16141
|
import { Fragment as Fragment13, jsx as jsx69, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
16175
16142
|
var ModalDetail = ({
|
|
16176
16143
|
idToolTip,
|
|
@@ -16183,8 +16150,8 @@ var ModalDetail = ({
|
|
|
16183
16150
|
context
|
|
16184
16151
|
}) => {
|
|
16185
16152
|
const { t: t3 } = useI18n();
|
|
16186
|
-
const [showModalDetail, setShowModalDetail] =
|
|
16187
|
-
const [actionData, setActionData] =
|
|
16153
|
+
const [showModalDetail, setShowModalDetail] = useState6(false);
|
|
16154
|
+
const [actionData, setActionData] = useState6();
|
|
16188
16155
|
const handleToggleModal = (e3) => {
|
|
16189
16156
|
e3.stopPropagation();
|
|
16190
16157
|
setShowModalDetail(!showModalDetail);
|
|
@@ -16193,7 +16160,7 @@ var ModalDetail = ({
|
|
|
16193
16160
|
sessionStorage.setItem("actionData", JSON.stringify(actionData));
|
|
16194
16161
|
window.location.href = `/form/menu?model=${model}&id=${idForm}`;
|
|
16195
16162
|
};
|
|
16196
|
-
return
|
|
16163
|
+
return createPortal2(
|
|
16197
16164
|
/* @__PURE__ */ jsx69(Fragment13, { children: showModalDetail && /* @__PURE__ */ jsxs44("div", { className: "fixed bottom-0 left-0 right-0 top-0 z-[100]", children: [
|
|
16198
16165
|
/* @__PURE__ */ jsx69("div", { className: "absolute inset-0 bg-[rgba(27,27,27,0.48)]" }),
|
|
16199
16166
|
/* @__PURE__ */ jsx69("div", { className: "absolute inset-0 overflow-auto flex flex-col justify-center items-center px-5", children: /* @__PURE__ */ jsxs44("div", { className: "relative z-[1] max-w-full p-4 flex flex-col gap-4 w-[1000px] transform rounded-3xl bg-[#FFF] h-[90%]", children: [
|
|
@@ -16232,12 +16199,12 @@ var ModalDetail = ({
|
|
|
16232
16199
|
};
|
|
16233
16200
|
|
|
16234
16201
|
// src/widgets/common/loading-normal.tsx
|
|
16235
|
-
import { useEffect as
|
|
16202
|
+
import { useEffect as useEffect8, useState as useState7 } from "react";
|
|
16236
16203
|
import { jsx as jsx70, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
16237
16204
|
var LayerLoading = () => {
|
|
16238
16205
|
const { t: t3 } = useI18n();
|
|
16239
|
-
const [activeIndex, setActiveIndex] =
|
|
16240
|
-
|
|
16206
|
+
const [activeIndex, setActiveIndex] = useState7(0);
|
|
16207
|
+
useEffect8(() => {
|
|
16241
16208
|
const interval = setInterval(() => {
|
|
16242
16209
|
setActiveIndex((prevIndex) => (prevIndex + 1) % 6);
|
|
16243
16210
|
}, 200);
|
|
@@ -16256,11 +16223,11 @@ var LayerLoading = () => {
|
|
|
16256
16223
|
};
|
|
16257
16224
|
|
|
16258
16225
|
// src/widgets/common/loading-small.tsx
|
|
16259
|
-
import { useEffect as
|
|
16226
|
+
import { useEffect as useEffect9, useState as useState8 } from "react";
|
|
16260
16227
|
import { jsx as jsx71 } from "react/jsx-runtime";
|
|
16261
16228
|
var LoadingSmall = () => {
|
|
16262
|
-
const [activeIndex, setActiveIndex] =
|
|
16263
|
-
|
|
16229
|
+
const [activeIndex, setActiveIndex] = useState8(0);
|
|
16230
|
+
useEffect9(() => {
|
|
16264
16231
|
const interval = setInterval(() => {
|
|
16265
16232
|
setActiveIndex((prevIndex) => (prevIndex + 1) % 6);
|
|
16266
16233
|
}, 200);
|
|
@@ -16595,11 +16562,11 @@ var ButtonSelectFiles = ({
|
|
|
16595
16562
|
};
|
|
16596
16563
|
|
|
16597
16564
|
// src/widgets/common/video-player.tsx
|
|
16598
|
-
import { useRef as
|
|
16565
|
+
import { useRef as useRef5, useState as useState9 } from "react";
|
|
16599
16566
|
import { jsx as jsx73, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
16600
16567
|
var VideoPlayer = ({ src }) => {
|
|
16601
|
-
const [isPlaying, setIsPlaying] =
|
|
16602
|
-
const videoRef =
|
|
16568
|
+
const [isPlaying, setIsPlaying] = useState9(false);
|
|
16569
|
+
const videoRef = useRef5(null);
|
|
16603
16570
|
const handlePlayPause = () => {
|
|
16604
16571
|
if (videoRef.current) {
|
|
16605
16572
|
if (isPlaying) {
|
|
@@ -16708,7 +16675,7 @@ var AvatarField = (props) => {
|
|
|
16708
16675
|
};
|
|
16709
16676
|
|
|
16710
16677
|
// src/widgets/basic/binary-field/binary.tsx
|
|
16711
|
-
import { useEffect as
|
|
16678
|
+
import { useEffect as useEffect10, useState as useState10 } from "react";
|
|
16712
16679
|
import { Fragment as Fragment16, jsx as jsx75, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
16713
16680
|
var BinaryField = (props) => {
|
|
16714
16681
|
const {
|
|
@@ -16736,12 +16703,12 @@ var BinaryField = (props) => {
|
|
|
16736
16703
|
setInitialFile
|
|
16737
16704
|
} = props;
|
|
16738
16705
|
const { t: t3 } = useI18n();
|
|
16739
|
-
const [fileInfo, setFileInfo] =
|
|
16706
|
+
const [fileInfo, setFileInfo] = useState10(null);
|
|
16740
16707
|
const onlyImage = widget === "image" || widget === "image_url";
|
|
16741
|
-
|
|
16708
|
+
useEffect10(() => {
|
|
16742
16709
|
setInitialFile(value);
|
|
16743
16710
|
}, [value]);
|
|
16744
|
-
|
|
16711
|
+
useEffect10(() => {
|
|
16745
16712
|
const loadFromLink = async () => {
|
|
16746
16713
|
if (!initialFile || !initialFile.startsWith("http")) return;
|
|
16747
16714
|
if (typeof initialFile !== "string") {
|
|
@@ -17114,7 +17081,7 @@ var ButtonField = (props) => {
|
|
|
17114
17081
|
};
|
|
17115
17082
|
|
|
17116
17083
|
// src/widgets/basic/char-field/char.tsx
|
|
17117
|
-
import { useEffect as
|
|
17084
|
+
import { useEffect as useEffect11, useMemo as useMemo4 } from "react";
|
|
17118
17085
|
import { Fragment as Fragment18, jsx as jsx78, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
17119
17086
|
var WIDGET_AUTO_COMPUTE_DEPEND = "auto_compute_depend_field";
|
|
17120
17087
|
var CharField = (props) => {
|
|
@@ -17174,12 +17141,12 @@ var CharField = (props) => {
|
|
|
17174
17141
|
fieldState: { error: error2, isDirty }
|
|
17175
17142
|
}) => {
|
|
17176
17143
|
const { setError, clearErrors } = methods;
|
|
17177
|
-
|
|
17144
|
+
useEffect11(() => {
|
|
17178
17145
|
if (value2) {
|
|
17179
17146
|
clearErrors(name2);
|
|
17180
17147
|
}
|
|
17181
17148
|
}, [value2, clearErrors, name2]);
|
|
17182
|
-
|
|
17149
|
+
useEffect11(() => {
|
|
17183
17150
|
if (widget !== WIDGET_AUTO_COMPUTE_DEPEND) return;
|
|
17184
17151
|
const depValue = formValues?.[options2?.depend_field]?.[options2?.field_name];
|
|
17185
17152
|
const currentValue = methods?.getValues(name2);
|
|
@@ -17343,21 +17310,21 @@ var CheckboxField = (props) => {
|
|
|
17343
17310
|
};
|
|
17344
17311
|
|
|
17345
17312
|
// src/widgets/basic/color-field/color-wrapper.tsx
|
|
17346
|
-
import { useEffect as
|
|
17313
|
+
import { useEffect as useEffect12, useRef as useRef6, useState as useState11 } from "react";
|
|
17347
17314
|
import { Fragment as Fragment19, jsx as jsx80, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
17348
17315
|
var ColorWrapper = (props) => {
|
|
17349
17316
|
const { colors: colors2, defaultColor, savePickColor } = props;
|
|
17350
17317
|
const { t: t3 } = useI18n();
|
|
17351
|
-
const [selectedColor, setSelectedColor] =
|
|
17352
|
-
const [showFullColors, setIsShowFullColor] =
|
|
17353
|
-
const pickColorsRef =
|
|
17354
|
-
|
|
17318
|
+
const [selectedColor, setSelectedColor] = useState11(colors2[defaultColor]);
|
|
17319
|
+
const [showFullColors, setIsShowFullColor] = useState11(false);
|
|
17320
|
+
const pickColorsRef = useRef6(null);
|
|
17321
|
+
useEffect12(() => {
|
|
17355
17322
|
setSelectedColor(colors2[defaultColor]);
|
|
17356
17323
|
}, [defaultColor]);
|
|
17357
17324
|
const handleShowFullColors = () => {
|
|
17358
17325
|
setIsShowFullColor(!showFullColors);
|
|
17359
17326
|
};
|
|
17360
|
-
|
|
17327
|
+
useEffect12(() => {
|
|
17361
17328
|
const handleClickOutside = (event) => {
|
|
17362
17329
|
if (pickColorsRef.current && !pickColorsRef.current.contains(event.target)) {
|
|
17363
17330
|
setIsShowFullColor(false);
|
|
@@ -17448,7 +17415,7 @@ var ColorField = (props) => {
|
|
|
17448
17415
|
};
|
|
17449
17416
|
|
|
17450
17417
|
// src/widgets/basic/copy-link-buttton/copy-link.tsx
|
|
17451
|
-
import { useEffect as
|
|
17418
|
+
import { useEffect as useEffect13 } from "react";
|
|
17452
17419
|
import { jsx as jsx82, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
17453
17420
|
var CopyLinkButtonField = (props) => {
|
|
17454
17421
|
const {
|
|
@@ -17483,7 +17450,7 @@ var CopyLinkButtonField = (props) => {
|
|
|
17483
17450
|
fieldState: { error: error2 }
|
|
17484
17451
|
}) => {
|
|
17485
17452
|
const { setError, clearErrors } = methods;
|
|
17486
|
-
|
|
17453
|
+
useEffect13(() => {
|
|
17487
17454
|
if (value) {
|
|
17488
17455
|
clearErrors(name2);
|
|
17489
17456
|
}
|
|
@@ -17559,10 +17526,10 @@ var CopyLinkButtonField = (props) => {
|
|
|
17559
17526
|
};
|
|
17560
17527
|
|
|
17561
17528
|
// src/widgets/basic/date-field/date.tsx
|
|
17562
|
-
import { forwardRef as forwardRef6, useEffect as
|
|
17529
|
+
import { forwardRef as forwardRef6, useEffect as useEffect17 } from "react";
|
|
17563
17530
|
|
|
17564
17531
|
// node_modules/react-datepicker/dist/index.es.js
|
|
17565
|
-
import React9, { useRef as
|
|
17532
|
+
import React9, { useRef as useRef10, useCallback as useCallback5, useEffect as useEffect15, cloneElement as cloneElement3, Component, createRef, createElement as createElement5 } from "react";
|
|
17566
17533
|
|
|
17567
17534
|
// node_modules/date-fns/constants.js
|
|
17568
17535
|
var daysInYear = 365.2425;
|
|
@@ -22132,8 +22099,8 @@ var CalendarContainer = function(_a2) {
|
|
|
22132
22099
|
return React9.createElement("div", { className, role: "dialog", "aria-label": ariaLabel, "aria-modal": "true" }, children);
|
|
22133
22100
|
};
|
|
22134
22101
|
var useDetectClickOutside = function(onClickOutside, ignoreClass) {
|
|
22135
|
-
var ref =
|
|
22136
|
-
var onClickOutsideRef =
|
|
22102
|
+
var ref = useRef10(null);
|
|
22103
|
+
var onClickOutsideRef = useRef10(onClickOutside);
|
|
22137
22104
|
onClickOutsideRef.current = onClickOutside;
|
|
22138
22105
|
var handleClickOutside = useCallback5(function(event) {
|
|
22139
22106
|
var _a2;
|
|
@@ -22146,7 +22113,7 @@ var useDetectClickOutside = function(onClickOutside, ignoreClass) {
|
|
|
22146
22113
|
}
|
|
22147
22114
|
}
|
|
22148
22115
|
}, [ignoreClass]);
|
|
22149
|
-
|
|
22116
|
+
useEffect15(function() {
|
|
22150
22117
|
document.addEventListener("mousedown", handleClickOutside);
|
|
22151
22118
|
return function() {
|
|
22152
22119
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
@@ -25387,7 +25354,7 @@ function withFloating(Component3) {
|
|
|
25387
25354
|
var WithFloating = function(props) {
|
|
25388
25355
|
var _a2;
|
|
25389
25356
|
var hidePopper = typeof props.hidePopper === "boolean" ? props.hidePopper : true;
|
|
25390
|
-
var arrowRef =
|
|
25357
|
+
var arrowRef = useRef10(null);
|
|
25391
25358
|
var floatingProps = useFloating2(_assign({ open: !hidePopper, whileElementsMounted: autoUpdate, placement: props.popperPlacement, middleware: __spreadArray([
|
|
25392
25359
|
flip3({ padding: 15 }),
|
|
25393
25360
|
offset3(10),
|
|
@@ -26399,13 +26366,13 @@ function _objectWithoutProperties(e3, t3) {
|
|
|
26399
26366
|
}
|
|
26400
26367
|
|
|
26401
26368
|
// node_modules/react-select/dist/useStateManager-7e1e8489.esm.js
|
|
26402
|
-
import { useState as
|
|
26369
|
+
import { useState as useState14, useCallback as useCallback6 } from "react";
|
|
26403
26370
|
var _excluded = ["defaultInputValue", "defaultMenuIsOpen", "defaultValue", "inputValue", "menuIsOpen", "onChange", "onInputChange", "onMenuClose", "onMenuOpen", "value"];
|
|
26404
26371
|
function useStateManager(_ref3) {
|
|
26405
26372
|
var _ref$defaultInputValu = _ref3.defaultInputValue, defaultInputValue = _ref$defaultInputValu === void 0 ? "" : _ref$defaultInputValu, _ref$defaultMenuIsOpe = _ref3.defaultMenuIsOpen, defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe, _ref$defaultValue = _ref3.defaultValue, defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue, propsInputValue = _ref3.inputValue, propsMenuIsOpen = _ref3.menuIsOpen, propsOnChange = _ref3.onChange, propsOnInputChange = _ref3.onInputChange, propsOnMenuClose = _ref3.onMenuClose, propsOnMenuOpen = _ref3.onMenuOpen, propsValue = _ref3.value, restSelectProps = _objectWithoutProperties(_ref3, _excluded);
|
|
26406
|
-
var _useState =
|
|
26407
|
-
var _useState3 =
|
|
26408
|
-
var _useState5 =
|
|
26373
|
+
var _useState = useState14(propsInputValue !== void 0 ? propsInputValue : defaultInputValue), _useState2 = _slicedToArray(_useState, 2), stateInputValue = _useState2[0], setStateInputValue = _useState2[1];
|
|
26374
|
+
var _useState3 = useState14(propsMenuIsOpen !== void 0 ? propsMenuIsOpen : defaultMenuIsOpen), _useState4 = _slicedToArray(_useState3, 2), stateMenuIsOpen = _useState4[0], setStateMenuIsOpen = _useState4[1];
|
|
26375
|
+
var _useState5 = useState14(propsValue !== void 0 ? propsValue : defaultValue), _useState6 = _slicedToArray(_useState5, 2), stateValue = _useState6[0], setStateValue = _useState6[1];
|
|
26409
26376
|
var onChange2 = useCallback6(function(value2, actionMeta) {
|
|
26410
26377
|
if (typeof propsOnChange === "function") {
|
|
26411
26378
|
propsOnChange(value2, actionMeta);
|
|
@@ -26566,7 +26533,7 @@ function _toConsumableArray(r4) {
|
|
|
26566
26533
|
|
|
26567
26534
|
// node_modules/react-select/dist/Select-ef7c0426.esm.js
|
|
26568
26535
|
import * as React13 from "react";
|
|
26569
|
-
import { useMemo as useMemo8, Fragment as Fragment23, useRef as
|
|
26536
|
+
import { useMemo as useMemo8, Fragment as Fragment23, useRef as useRef13, useCallback as useCallback8, useEffect as useEffect16, Component as Component2 } from "react";
|
|
26570
26537
|
|
|
26571
26538
|
// node_modules/@emotion/react/dist/emotion-element-d59e098f.esm.js
|
|
26572
26539
|
import * as React11 from "react";
|
|
@@ -27898,8 +27865,8 @@ function _taggedTemplateLiteral(e3, t3) {
|
|
|
27898
27865
|
}
|
|
27899
27866
|
|
|
27900
27867
|
// node_modules/react-select/dist/index-641ee5b8.esm.js
|
|
27901
|
-
import { useContext as useContext9, useRef as
|
|
27902
|
-
import { createPortal as
|
|
27868
|
+
import { useContext as useContext9, useRef as useRef12, useState as useState15, useMemo as useMemo7, useCallback as useCallback7, createContext as createContext5 } from "react";
|
|
27869
|
+
import { createPortal as createPortal4 } from "react-dom";
|
|
27903
27870
|
|
|
27904
27871
|
// node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.esm.js
|
|
27905
27872
|
import { useLayoutEffect as useLayoutEffect4 } from "react";
|
|
@@ -28244,9 +28211,9 @@ var PortalPlacementContext = /* @__PURE__ */ createContext5(null);
|
|
|
28244
28211
|
var MenuPlacer = function MenuPlacer2(props) {
|
|
28245
28212
|
var children = props.children, minMenuHeight = props.minMenuHeight, maxMenuHeight = props.maxMenuHeight, menuPlacement = props.menuPlacement, menuPosition = props.menuPosition, menuShouldScrollIntoView = props.menuShouldScrollIntoView, theme = props.theme;
|
|
28246
28213
|
var _ref3 = useContext9(PortalPlacementContext) || {}, setPortalPlacement = _ref3.setPortalPlacement;
|
|
28247
|
-
var ref =
|
|
28248
|
-
var _useState =
|
|
28249
|
-
var _useState3 =
|
|
28214
|
+
var ref = useRef12(null);
|
|
28215
|
+
var _useState = useState15(maxMenuHeight), _useState2 = _slicedToArray(_useState, 2), maxHeight = _useState2[0], setMaxHeight = _useState2[1];
|
|
28216
|
+
var _useState3 = useState15(null), _useState4 = _slicedToArray(_useState3, 2), placement = _useState4[0], setPlacement = _useState4[1];
|
|
28250
28217
|
var controlHeight2 = theme.spacing.controlHeight;
|
|
28251
28218
|
index3(function() {
|
|
28252
28219
|
var menuEl = ref.current;
|
|
@@ -28348,15 +28315,15 @@ var menuPortalCSS = function menuPortalCSS2(_ref8) {
|
|
|
28348
28315
|
};
|
|
28349
28316
|
var MenuPortal = function MenuPortal2(props) {
|
|
28350
28317
|
var appendTo = props.appendTo, children = props.children, controlElement = props.controlElement, innerProps = props.innerProps, menuPlacement = props.menuPlacement, menuPosition = props.menuPosition;
|
|
28351
|
-
var menuPortalRef =
|
|
28352
|
-
var cleanupRef =
|
|
28353
|
-
var _useState5 =
|
|
28318
|
+
var menuPortalRef = useRef12(null);
|
|
28319
|
+
var cleanupRef = useRef12(null);
|
|
28320
|
+
var _useState5 = useState15(coercePlacement(menuPlacement)), _useState6 = _slicedToArray(_useState5, 2), placement = _useState6[0], setPortalPlacement = _useState6[1];
|
|
28354
28321
|
var portalPlacementContext = useMemo7(function() {
|
|
28355
28322
|
return {
|
|
28356
28323
|
setPortalPlacement
|
|
28357
28324
|
};
|
|
28358
28325
|
}, []);
|
|
28359
|
-
var _useState7 =
|
|
28326
|
+
var _useState7 = useState15(null), _useState8 = _slicedToArray(_useState7, 2), computedPosition = _useState8[0], setComputedPosition = _useState8[1];
|
|
28360
28327
|
var updateComputedPosition = useCallback7(function() {
|
|
28361
28328
|
if (!controlElement) return;
|
|
28362
28329
|
var rect = getBoundingClientObj(controlElement);
|
|
@@ -28402,7 +28369,7 @@ var MenuPortal = function MenuPortal2(props) {
|
|
|
28402
28369
|
}), innerProps), children);
|
|
28403
28370
|
return jsx84(PortalPlacementContext.Provider, {
|
|
28404
28371
|
value: portalPlacementContext
|
|
28405
|
-
}, appendTo ? /* @__PURE__ */
|
|
28372
|
+
}, appendTo ? /* @__PURE__ */ createPortal4(menuWrapper, appendTo) : menuWrapper);
|
|
28406
28373
|
};
|
|
28407
28374
|
var containerCSS = function containerCSS2(_ref3) {
|
|
28408
28375
|
var isDisabled = _ref3.isDisabled, isRtl = _ref3.isRtl;
|
|
@@ -29487,10 +29454,10 @@ var cancelScroll = function cancelScroll2(event) {
|
|
|
29487
29454
|
};
|
|
29488
29455
|
function useScrollCapture(_ref3) {
|
|
29489
29456
|
var isEnabled = _ref3.isEnabled, onBottomArrive = _ref3.onBottomArrive, onBottomLeave = _ref3.onBottomLeave, onTopArrive = _ref3.onTopArrive, onTopLeave = _ref3.onTopLeave;
|
|
29490
|
-
var isBottom =
|
|
29491
|
-
var isTop =
|
|
29492
|
-
var touchStart =
|
|
29493
|
-
var scrollTarget =
|
|
29457
|
+
var isBottom = useRef13(false);
|
|
29458
|
+
var isTop = useRef13(false);
|
|
29459
|
+
var touchStart = useRef13(0);
|
|
29460
|
+
var scrollTarget = useRef13(null);
|
|
29494
29461
|
var handleEventDelta = useCallback8(function(event, delta) {
|
|
29495
29462
|
if (scrollTarget.current === null) return;
|
|
29496
29463
|
var _scrollTarget$current = scrollTarget.current, scrollTop = _scrollTarget$current.scrollTop, scrollHeight = _scrollTarget$current.scrollHeight, clientHeight = _scrollTarget$current.clientHeight;
|
|
@@ -29550,7 +29517,7 @@ function useScrollCapture(_ref3) {
|
|
|
29550
29517
|
el.removeEventListener("touchstart", onTouchStart, false);
|
|
29551
29518
|
el.removeEventListener("touchmove", onTouchMove, false);
|
|
29552
29519
|
}, [onTouchMove, onTouchStart, onWheel]);
|
|
29553
|
-
|
|
29520
|
+
useEffect16(function() {
|
|
29554
29521
|
if (!isEnabled) return;
|
|
29555
29522
|
var element = scrollTarget.current;
|
|
29556
29523
|
startListening(element);
|
|
@@ -29597,8 +29564,8 @@ var listenerOptions = {
|
|
|
29597
29564
|
};
|
|
29598
29565
|
function useScrollLock(_ref3) {
|
|
29599
29566
|
var isEnabled = _ref3.isEnabled, _ref$accountForScroll = _ref3.accountForScrollbars, accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
|
|
29600
|
-
var originalStyles =
|
|
29601
|
-
var scrollTarget =
|
|
29567
|
+
var originalStyles = useRef13({});
|
|
29568
|
+
var scrollTarget = useRef13(null);
|
|
29602
29569
|
var addScrollLock = useCallback8(function(touchScrollTarget) {
|
|
29603
29570
|
if (!canUseDOM) return;
|
|
29604
29571
|
var target = document.body;
|
|
@@ -29653,7 +29620,7 @@ function useScrollLock(_ref3) {
|
|
|
29653
29620
|
}
|
|
29654
29621
|
}
|
|
29655
29622
|
}, [accountForScrollbars]);
|
|
29656
|
-
|
|
29623
|
+
useEffect16(function() {
|
|
29657
29624
|
if (!isEnabled) return;
|
|
29658
29625
|
var element = scrollTarget.current;
|
|
29659
29626
|
addScrollLock(element);
|
|
@@ -31371,7 +31338,7 @@ var DateField = (props) => {
|
|
|
31371
31338
|
},
|
|
31372
31339
|
render: ({ field, fieldState: { error: error2 } }) => {
|
|
31373
31340
|
const { setError, clearErrors } = methods;
|
|
31374
|
-
|
|
31341
|
+
useEffect17(() => {
|
|
31375
31342
|
if (value) {
|
|
31376
31343
|
clearErrors(name2);
|
|
31377
31344
|
}
|
|
@@ -31603,7 +31570,7 @@ var DownloadFileField = (props) => {
|
|
|
31603
31570
|
};
|
|
31604
31571
|
|
|
31605
31572
|
// src/widgets/basic/dropdown-field/dropdown.tsx
|
|
31606
|
-
import { useState as
|
|
31573
|
+
import { useState as useState16 } from "react";
|
|
31607
31574
|
import { jsx as jsx89, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
31608
31575
|
var DropdownField = (props) => {
|
|
31609
31576
|
const {
|
|
@@ -31616,7 +31583,7 @@ var DropdownField = (props) => {
|
|
|
31616
31583
|
dropdownClassName = "",
|
|
31617
31584
|
useClickOutside: useClickOutside2
|
|
31618
31585
|
} = props;
|
|
31619
|
-
const [open, setOpen] =
|
|
31586
|
+
const [open, setOpen] = useState16(false);
|
|
31620
31587
|
const dropdownRef = useClickOutside2({ handler: () => setOpen(false) });
|
|
31621
31588
|
return /* @__PURE__ */ jsxs58(
|
|
31622
31589
|
"div",
|
|
@@ -31725,7 +31692,7 @@ var FeeField = (props) => {
|
|
|
31725
31692
|
};
|
|
31726
31693
|
|
|
31727
31694
|
// src/widgets/basic/file-upload-field/file-upload.tsx
|
|
31728
|
-
import { useEffect as
|
|
31695
|
+
import { useEffect as useEffect18, useRef as useRef14, useState as useState17 } from "react";
|
|
31729
31696
|
import { jsx as jsx91, jsxs as jsxs60 } from "react/jsx-runtime";
|
|
31730
31697
|
var RenderFile = ({
|
|
31731
31698
|
file,
|
|
@@ -31790,10 +31757,10 @@ var FileUploadField = (props) => {
|
|
|
31790
31757
|
downloadFunction
|
|
31791
31758
|
} = props;
|
|
31792
31759
|
const { t: t3 } = useI18n();
|
|
31793
|
-
const fileInputRef =
|
|
31794
|
-
const [selectedFiles, setSelectedFiles] =
|
|
31795
|
-
const [uploadError, setUploadError] =
|
|
31796
|
-
|
|
31760
|
+
const fileInputRef = useRef14(null);
|
|
31761
|
+
const [selectedFiles, setSelectedFiles] = useState17([]);
|
|
31762
|
+
const [uploadError, setUploadError] = useState17();
|
|
31763
|
+
useEffect18(() => {
|
|
31797
31764
|
if (selectedFiles?.length === 0 && value) {
|
|
31798
31765
|
setSelectedFiles([
|
|
31799
31766
|
{
|
|
@@ -31811,7 +31778,7 @@ var FileUploadField = (props) => {
|
|
|
31811
31778
|
required: required ? { value: true, message: `${string} ${t3("must_required")}` } : false
|
|
31812
31779
|
},
|
|
31813
31780
|
render: ({ field: { onChange: onChange2 }, fieldState: { error: error2 } }) => {
|
|
31814
|
-
|
|
31781
|
+
useEffect18(() => {
|
|
31815
31782
|
let data = widget === "many2many_binary" ? selectedFiles : selectedFiles?.[0]?.data;
|
|
31816
31783
|
if (widget !== "many2many_binary" && data && isBase64File(data)) {
|
|
31817
31784
|
data = data.split(",")[1];
|
|
@@ -31867,7 +31834,7 @@ var FileUploadField = (props) => {
|
|
|
31867
31834
|
};
|
|
31868
31835
|
|
|
31869
31836
|
// src/widgets/basic/float-field/float.tsx
|
|
31870
|
-
import { useEffect as
|
|
31837
|
+
import { useEffect as useEffect19, useRef as useRef15, useState as useState18 } from "react";
|
|
31871
31838
|
import { Fragment as Fragment26, jsx as jsx92, jsxs as jsxs61 } from "react/jsx-runtime";
|
|
31872
31839
|
var FloatField = (props) => {
|
|
31873
31840
|
const {
|
|
@@ -31899,10 +31866,10 @@ var FloatField = (props) => {
|
|
|
31899
31866
|
},
|
|
31900
31867
|
render: ({ field: { onChange: onChange2, value }, fieldState: { error: error2 } }) => {
|
|
31901
31868
|
const { setError, clearErrors } = methods;
|
|
31902
|
-
const [inputValue, setInputValue] =
|
|
31869
|
+
const [inputValue, setInputValue] = useState18(
|
|
31903
31870
|
value !== void 0 && value !== null ? formatFloatNumber(value) : ""
|
|
31904
31871
|
);
|
|
31905
|
-
|
|
31872
|
+
useEffect19(() => {
|
|
31906
31873
|
if (isDirtyRef.current) return;
|
|
31907
31874
|
const numericInput = parseFloat(inputValue?.replace(/,/g, ""));
|
|
31908
31875
|
if (propValue !== void 0 && propValue !== null && !Number.isNaN(propValue) && propValue !== numericInput) {
|
|
@@ -31915,9 +31882,9 @@ var FloatField = (props) => {
|
|
|
31915
31882
|
setInputValue("");
|
|
31916
31883
|
}
|
|
31917
31884
|
}, [value, name2, clearErrors, propValue]);
|
|
31918
|
-
const isDirtyRef =
|
|
31919
|
-
const inputRef =
|
|
31920
|
-
const lastCommittedValueRef =
|
|
31885
|
+
const isDirtyRef = useRef15(false);
|
|
31886
|
+
const inputRef = useRef15(null);
|
|
31887
|
+
const lastCommittedValueRef = useRef15(null);
|
|
31921
31888
|
const handleInputChange = (e3) => {
|
|
31922
31889
|
const newValue = e3.target.value;
|
|
31923
31890
|
const valueWithoutCommas = newValue.replace(/,/g, "");
|
|
@@ -32024,7 +31991,7 @@ var FloatField = (props) => {
|
|
|
32024
31991
|
};
|
|
32025
31992
|
|
|
32026
31993
|
// src/widgets/basic/float-time-field/float-time.tsx
|
|
32027
|
-
import { useState as
|
|
31994
|
+
import { useState as useState19 } from "react";
|
|
32028
31995
|
import { Fragment as Fragment27, jsx as jsx93, jsxs as jsxs62 } from "react/jsx-runtime";
|
|
32029
31996
|
var FloatTimeField = (props) => {
|
|
32030
31997
|
const {
|
|
@@ -32056,11 +32023,11 @@ var FloatTimeField = (props) => {
|
|
|
32056
32023
|
field: { onChange: fieldOnChange, onBlur, value: value2 },
|
|
32057
32024
|
fieldState: { error: error2, isDirty }
|
|
32058
32025
|
}) => {
|
|
32059
|
-
const [input, setInput] =
|
|
32026
|
+
const [input, setInput] = useState19(
|
|
32060
32027
|
convertFloatToTime(value2 ?? defaultValue)
|
|
32061
32028
|
);
|
|
32062
|
-
const [formattedTime, setFormattedTime] =
|
|
32063
|
-
const [errors, setErrors] =
|
|
32029
|
+
const [formattedTime, setFormattedTime] = useState19("");
|
|
32030
|
+
const [errors, setErrors] = useState19("");
|
|
32064
32031
|
const handleInputChange = (e3) => {
|
|
32065
32032
|
const raw = e3.target.value.replace(/[^\d:]/g, "");
|
|
32066
32033
|
setInput(raw);
|
|
@@ -32146,7 +32113,7 @@ var FloatTimeField = (props) => {
|
|
|
32146
32113
|
};
|
|
32147
32114
|
|
|
32148
32115
|
// src/widgets/basic/html-field/html.tsx
|
|
32149
|
-
import { useEffect as
|
|
32116
|
+
import { useEffect as useEffect20, useRef as useRef16 } from "react";
|
|
32150
32117
|
import { jsx as jsx94 } from "react/jsx-runtime";
|
|
32151
32118
|
var HtmlField = (props) => {
|
|
32152
32119
|
const {
|
|
@@ -32159,7 +32126,7 @@ var HtmlField = (props) => {
|
|
|
32159
32126
|
value,
|
|
32160
32127
|
isEditTable
|
|
32161
32128
|
} = props;
|
|
32162
|
-
const divRef =
|
|
32129
|
+
const divRef = useRef16(null);
|
|
32163
32130
|
if (!isForm && !isEditTable) {
|
|
32164
32131
|
return /* @__PURE__ */ jsx94("div", { dangerouslySetInnerHTML: { __html: value || defaultValue || "" } });
|
|
32165
32132
|
}
|
|
@@ -32170,7 +32137,7 @@ var HtmlField = (props) => {
|
|
|
32170
32137
|
control: methods?.control,
|
|
32171
32138
|
defaultValue,
|
|
32172
32139
|
render: ({ field: { onChange: fieldOnChange, value: value2 } }) => {
|
|
32173
|
-
|
|
32140
|
+
useEffect20(() => {
|
|
32174
32141
|
if (divRef.current && divRef.current.innerHTML !== value2) {
|
|
32175
32142
|
divRef.current.innerHTML = value2 || "";
|
|
32176
32143
|
}
|
|
@@ -32212,7 +32179,7 @@ var ImageField = (props) => {
|
|
|
32212
32179
|
};
|
|
32213
32180
|
|
|
32214
32181
|
// src/widgets/basic/many2many-tags-field/many2many-tags.tsx
|
|
32215
|
-
import React16, { useEffect as
|
|
32182
|
+
import React16, { useEffect as useEffect21, useMemo as useMemo10 } from "react";
|
|
32216
32183
|
|
|
32217
32184
|
// src/widgets/basic/information-field/information.tsx
|
|
32218
32185
|
import { Fragment as Fragment28, jsx as jsx96, jsxs as jsxs63 } from "react/jsx-runtime";
|
|
@@ -32354,7 +32321,7 @@ var Many2ManyTagField = (props) => {
|
|
|
32354
32321
|
},
|
|
32355
32322
|
render: ({ field, fieldState: { error: error2 } }) => {
|
|
32356
32323
|
const { clearErrors } = methods;
|
|
32357
|
-
|
|
32324
|
+
useEffect21(() => {
|
|
32358
32325
|
if (field.value) {
|
|
32359
32326
|
clearErrors(name2);
|
|
32360
32327
|
}
|
|
@@ -32494,7 +32461,7 @@ var Many2ManyTagField = (props) => {
|
|
|
32494
32461
|
};
|
|
32495
32462
|
|
|
32496
32463
|
// src/widgets/basic/monetary-field/monetary.tsx
|
|
32497
|
-
import { useEffect as
|
|
32464
|
+
import { useEffect as useEffect22 } from "react";
|
|
32498
32465
|
import { Fragment as Fragment29, jsx as jsx98, jsxs as jsxs65 } from "react/jsx-runtime";
|
|
32499
32466
|
var MonetaryField = (props) => {
|
|
32500
32467
|
const { t: t3 } = useI18n();
|
|
@@ -32548,7 +32515,7 @@ var MonetaryField = (props) => {
|
|
|
32548
32515
|
fieldState: { error: error2 }
|
|
32549
32516
|
}) => {
|
|
32550
32517
|
const { setError, clearErrors } = methods;
|
|
32551
|
-
|
|
32518
|
+
useEffect22(() => {
|
|
32552
32519
|
if (value2 !== void 0 && value2 !== null && !isNaN(value2)) {
|
|
32553
32520
|
clearErrors(name2);
|
|
32554
32521
|
}
|
|
@@ -32606,7 +32573,7 @@ var PaidBadgedField = () => {
|
|
|
32606
32573
|
};
|
|
32607
32574
|
|
|
32608
32575
|
// src/widgets/basic/priority-field/rating-star.tsx
|
|
32609
|
-
import React17, { useEffect as
|
|
32576
|
+
import React17, { useEffect as useEffect23, useState as useState20 } from "react";
|
|
32610
32577
|
import { jsx as jsx100, jsxs as jsxs66 } from "react/jsx-runtime";
|
|
32611
32578
|
var RatingStarField = (props) => {
|
|
32612
32579
|
const {
|
|
@@ -32616,9 +32583,9 @@ var RatingStarField = (props) => {
|
|
|
32616
32583
|
onSelectPriority,
|
|
32617
32584
|
id
|
|
32618
32585
|
} = props;
|
|
32619
|
-
const [rating, setRating] =
|
|
32620
|
-
const [hover, setHover] =
|
|
32621
|
-
|
|
32586
|
+
const [rating, setRating] = useState20(defaultValue);
|
|
32587
|
+
const [hover, setHover] = useState20(0);
|
|
32588
|
+
useEffect23(() => {
|
|
32622
32589
|
setRating(defaultValue);
|
|
32623
32590
|
}, [defaultValue]);
|
|
32624
32591
|
const handleClick = (value) => {
|
|
@@ -32731,7 +32698,7 @@ var PriorityField = (props) => {
|
|
|
32731
32698
|
};
|
|
32732
32699
|
|
|
32733
32700
|
// src/widgets/basic/radio-group-field/radio-group.tsx
|
|
32734
|
-
import { useEffect as
|
|
32701
|
+
import { useEffect as useEffect24 } from "react";
|
|
32735
32702
|
import { jsx as jsx102, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
32736
32703
|
var RadioGroupField = (props) => {
|
|
32737
32704
|
const {
|
|
@@ -32745,7 +32712,7 @@ var RadioGroupField = (props) => {
|
|
|
32745
32712
|
onChange: onChange2,
|
|
32746
32713
|
setValue
|
|
32747
32714
|
} = props;
|
|
32748
|
-
|
|
32715
|
+
useEffect24(() => {
|
|
32749
32716
|
if (selection?.length > 0) {
|
|
32750
32717
|
if (setValue) setValue(name2, selection?.[0]?.[0]);
|
|
32751
32718
|
}
|
|
@@ -33049,7 +33016,7 @@ var ToggleButtonField = (props) => {
|
|
|
33049
33016
|
};
|
|
33050
33017
|
|
|
33051
33018
|
// src/widgets/basic/integer-field/integer.tsx
|
|
33052
|
-
import { useEffect as
|
|
33019
|
+
import { useEffect as useEffect25, useRef as useRef17, useState as useState21 } from "react";
|
|
33053
33020
|
import { Fragment as Fragment31, jsx as jsx107, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
33054
33021
|
var IntegerField = (props) => {
|
|
33055
33022
|
const {
|
|
@@ -33085,13 +33052,13 @@ var IntegerField = (props) => {
|
|
|
33085
33052
|
fieldState: { error: error2 }
|
|
33086
33053
|
}) => {
|
|
33087
33054
|
const { setError, clearErrors } = methods;
|
|
33088
|
-
const isDirtyRef =
|
|
33089
|
-
const inputRef =
|
|
33090
|
-
const lastCommittedValueRef =
|
|
33091
|
-
const [inputValue, setInputValue] =
|
|
33055
|
+
const isDirtyRef = useRef17(false);
|
|
33056
|
+
const inputRef = useRef17(null);
|
|
33057
|
+
const lastCommittedValueRef = useRef17(null);
|
|
33058
|
+
const [inputValue, setInputValue] = useState21(
|
|
33092
33059
|
value2 !== void 0 && value2 !== null ? String(value2) : ""
|
|
33093
33060
|
);
|
|
33094
|
-
|
|
33061
|
+
useEffect25(() => {
|
|
33095
33062
|
if (value2 !== void 0 && value2 !== null) {
|
|
33096
33063
|
setInputValue(String(value2));
|
|
33097
33064
|
clearErrors(name2);
|
|
@@ -33248,8 +33215,8 @@ var StatusDropdownField = (props) => {
|
|
|
33248
33215
|
};
|
|
33249
33216
|
|
|
33250
33217
|
// src/widgets/basic/many2many-field/many2many.tsx
|
|
33251
|
-
import { createPortal as
|
|
33252
|
-
import { useEffect as
|
|
33218
|
+
import { createPortal as createPortal5 } from "react-dom";
|
|
33219
|
+
import { useEffect as useEffect26 } from "react";
|
|
33253
33220
|
import { jsx as jsx109, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
33254
33221
|
var Many2ManyField = (props) => {
|
|
33255
33222
|
const { t: t3 } = useI18n();
|
|
@@ -33309,7 +33276,7 @@ var Many2ManyField = (props) => {
|
|
|
33309
33276
|
clearSearch
|
|
33310
33277
|
} = searchController;
|
|
33311
33278
|
const { handleCheckBoxAll, checkedAll, selectedRowKeysRef } = tableHeadController;
|
|
33312
|
-
|
|
33279
|
+
useEffect26(() => {
|
|
33313
33280
|
const groupItems = Array.isArray(selectedTags) ? selectedTags.filter((item) => item.type === "group_by") : [];
|
|
33314
33281
|
if (groupItems?.length > 0) {
|
|
33315
33282
|
typeof setPageLimit === "function" && setPageLimit(80);
|
|
@@ -33323,7 +33290,7 @@ var Many2ManyField = (props) => {
|
|
|
33323
33290
|
typeof setGroupByList === "function" && setGroupByList(null);
|
|
33324
33291
|
};
|
|
33325
33292
|
}, [selectedTags]);
|
|
33326
|
-
return
|
|
33293
|
+
return createPortal5(
|
|
33327
33294
|
/* @__PURE__ */ jsxs73(
|
|
33328
33295
|
"div",
|
|
33329
33296
|
{
|
|
@@ -33529,7 +33496,7 @@ var Many2ManyField = (props) => {
|
|
|
33529
33496
|
};
|
|
33530
33497
|
|
|
33531
33498
|
// src/widgets/basic/many2one-field/many2one.tsx
|
|
33532
|
-
import React18, { useEffect as
|
|
33499
|
+
import React18, { useEffect as useEffect27 } from "react";
|
|
33533
33500
|
import { Fragment as Fragment32, jsx as jsx110, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
33534
33501
|
var CustomMenuList2 = (props) => {
|
|
33535
33502
|
const { t: t3 } = useI18n();
|
|
@@ -33632,7 +33599,7 @@ var Many2OneField = (props) => {
|
|
|
33632
33599
|
const selectedOption = isForm && options2?.service && options2?.type && options2?.model ? tempSelectedOption : tempSelectedOption && options2?.length > 0 ? options2.find(
|
|
33633
33600
|
(option) => option.value === tempSelectedOption?.value
|
|
33634
33601
|
) : currentValue ? currentValue : null;
|
|
33635
|
-
|
|
33602
|
+
useEffect27(() => {
|
|
33636
33603
|
if (error2 && selectedOption) {
|
|
33637
33604
|
methods?.clearErrors(name2);
|
|
33638
33605
|
}
|