@fctc/sme-widget-ui 1.4.8 → 1.5.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 +37 -20
- package/dist/index.mjs +37 -20
- package/dist/widgets.js +37 -20
- package/dist/widgets.mjs +37 -20
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -17994,22 +17994,24 @@ var ButtonSelectFiles = ({
|
|
|
17994
17994
|
}
|
|
17995
17995
|
return true;
|
|
17996
17996
|
};
|
|
17997
|
+
const convertFileToBase64 = (file) => {
|
|
17998
|
+
return new Promise((resolve, reject) => {
|
|
17999
|
+
const reader = new FileReader();
|
|
18000
|
+
reader.readAsDataURL(file);
|
|
18001
|
+
reader.onload = () => resolve(reader.result);
|
|
18002
|
+
reader.onerror = (error2) => reject(error2);
|
|
18003
|
+
});
|
|
18004
|
+
};
|
|
17997
18005
|
const handleOnChange = async (event) => {
|
|
17998
18006
|
const files = Array.from(event.target.files ?? []);
|
|
17999
|
-
setUploadError();
|
|
18000
18007
|
event.target.value = "";
|
|
18001
|
-
if (files.length
|
|
18002
|
-
|
|
18003
|
-
|
|
18004
|
-
|
|
18005
|
-
}
|
|
18006
|
-
|
|
18007
|
-
|
|
18008
|
-
formData.append("ufile", file);
|
|
18009
|
-
formData.append("thread_model", String(model));
|
|
18010
|
-
formData.append("thread_id", Number(id));
|
|
18011
|
-
formData.append("is_pending", true);
|
|
18012
|
-
await handleUploadImage({ formData });
|
|
18008
|
+
if (files.length === 0) return;
|
|
18009
|
+
const file = files[0];
|
|
18010
|
+
try {
|
|
18011
|
+
const base64 = await convertFileToBase64(file);
|
|
18012
|
+
setSelectedFiles([...selectedFiles, { name: file.name, data: base64 }]);
|
|
18013
|
+
} catch (error2) {
|
|
18014
|
+
console.error("Error converting file:", error2);
|
|
18013
18015
|
}
|
|
18014
18016
|
};
|
|
18015
18017
|
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
|
|
@@ -32881,7 +32883,19 @@ var FeeField = (props) => {
|
|
|
32881
32883
|
var import_react54 = require("react");
|
|
32882
32884
|
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
32883
32885
|
var FileUploadField = (props) => {
|
|
32884
|
-
const {
|
|
32886
|
+
const {
|
|
32887
|
+
name: name2,
|
|
32888
|
+
methods,
|
|
32889
|
+
isForm,
|
|
32890
|
+
model,
|
|
32891
|
+
required,
|
|
32892
|
+
idForm,
|
|
32893
|
+
widget,
|
|
32894
|
+
useUploadImage,
|
|
32895
|
+
useUploadFile,
|
|
32896
|
+
useGetImage,
|
|
32897
|
+
isBase64File
|
|
32898
|
+
} = props;
|
|
32885
32899
|
const fileInputRef = (0, import_react54.useRef)(null);
|
|
32886
32900
|
const [selectedFiles, setSelectedFiles] = (0, import_react54.useState)([]);
|
|
32887
32901
|
const [uploadError, setUploadError] = (0, import_react54.useState)();
|
|
@@ -32895,11 +32909,11 @@ var FileUploadField = (props) => {
|
|
|
32895
32909
|
},
|
|
32896
32910
|
render: ({ field: { onChange: onChange2 }, fieldState: { error: error2 } }) => {
|
|
32897
32911
|
(0, import_react54.useEffect)(() => {
|
|
32898
|
-
let
|
|
32899
|
-
if (widget !== "many2many_binary" &&
|
|
32900
|
-
|
|
32912
|
+
let data = widget === "many2many_binary" ? selectedFiles : selectedFiles?.[0]?.data;
|
|
32913
|
+
if (widget !== "many2many_binary" && data && isBase64File(data)) {
|
|
32914
|
+
data = data.split(",")[1];
|
|
32901
32915
|
}
|
|
32902
|
-
onChange2(
|
|
32916
|
+
onChange2(data || null);
|
|
32903
32917
|
if (model === "ir.attachment") {
|
|
32904
32918
|
methods.setValue(
|
|
32905
32919
|
"name",
|
|
@@ -33413,9 +33427,12 @@ var Many2ManyTagField = (props) => {
|
|
|
33413
33427
|
clearErrors(name2);
|
|
33414
33428
|
}
|
|
33415
33429
|
}, [field.value]);
|
|
33416
|
-
const filteredValue = options2 && Array.isArray(field.value) ? options2.filter(
|
|
33430
|
+
const filteredValue = options2 && options2?.length > 0 && Array.isArray(field.value) ? options2.filter(
|
|
33417
33431
|
(option) => field.value.some((item) => item?.id === option.value)
|
|
33418
|
-
) :
|
|
33432
|
+
) : options2?.length === 0 && Array.isArray(field?.value) ? field?.value?.map((value2) => ({
|
|
33433
|
+
value: value2?.id,
|
|
33434
|
+
label: value2?.display_name
|
|
33435
|
+
})) : null;
|
|
33419
33436
|
const handleChange = (selectedOptions) => {
|
|
33420
33437
|
const newValue = tranfer(selectedOptions);
|
|
33421
33438
|
field.onChange(newValue);
|
package/dist/index.mjs
CHANGED
|
@@ -17875,22 +17875,24 @@ var ButtonSelectFiles = ({
|
|
|
17875
17875
|
}
|
|
17876
17876
|
return true;
|
|
17877
17877
|
};
|
|
17878
|
+
const convertFileToBase64 = (file) => {
|
|
17879
|
+
return new Promise((resolve, reject) => {
|
|
17880
|
+
const reader = new FileReader();
|
|
17881
|
+
reader.readAsDataURL(file);
|
|
17882
|
+
reader.onload = () => resolve(reader.result);
|
|
17883
|
+
reader.onerror = (error2) => reject(error2);
|
|
17884
|
+
});
|
|
17885
|
+
};
|
|
17878
17886
|
const handleOnChange = async (event) => {
|
|
17879
17887
|
const files = Array.from(event.target.files ?? []);
|
|
17880
|
-
setUploadError();
|
|
17881
17888
|
event.target.value = "";
|
|
17882
|
-
if (files.length
|
|
17883
|
-
|
|
17884
|
-
|
|
17885
|
-
|
|
17886
|
-
}
|
|
17887
|
-
|
|
17888
|
-
|
|
17889
|
-
formData.append("ufile", file);
|
|
17890
|
-
formData.append("thread_model", String(model));
|
|
17891
|
-
formData.append("thread_id", Number(id));
|
|
17892
|
-
formData.append("is_pending", true);
|
|
17893
|
-
await handleUploadImage({ formData });
|
|
17889
|
+
if (files.length === 0) return;
|
|
17890
|
+
const file = files[0];
|
|
17891
|
+
try {
|
|
17892
|
+
const base64 = await convertFileToBase64(file);
|
|
17893
|
+
setSelectedFiles([...selectedFiles, { name: file.name, data: base64 }]);
|
|
17894
|
+
} catch (error2) {
|
|
17895
|
+
console.error("Error converting file:", error2);
|
|
17894
17896
|
}
|
|
17895
17897
|
};
|
|
17896
17898
|
return /* @__PURE__ */ jsxs45(Fragment13, { children: [
|
|
@@ -32762,7 +32764,19 @@ var FeeField = (props) => {
|
|
|
32762
32764
|
import { useEffect as useEffect16, useRef as useRef14, useState as useState16 } from "react";
|
|
32763
32765
|
import { jsx as jsx85, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
32764
32766
|
var FileUploadField = (props) => {
|
|
32765
|
-
const {
|
|
32767
|
+
const {
|
|
32768
|
+
name: name2,
|
|
32769
|
+
methods,
|
|
32770
|
+
isForm,
|
|
32771
|
+
model,
|
|
32772
|
+
required,
|
|
32773
|
+
idForm,
|
|
32774
|
+
widget,
|
|
32775
|
+
useUploadImage,
|
|
32776
|
+
useUploadFile,
|
|
32777
|
+
useGetImage,
|
|
32778
|
+
isBase64File
|
|
32779
|
+
} = props;
|
|
32766
32780
|
const fileInputRef = useRef14(null);
|
|
32767
32781
|
const [selectedFiles, setSelectedFiles] = useState16([]);
|
|
32768
32782
|
const [uploadError, setUploadError] = useState16();
|
|
@@ -32776,11 +32790,11 @@ var FileUploadField = (props) => {
|
|
|
32776
32790
|
},
|
|
32777
32791
|
render: ({ field: { onChange: onChange2 }, fieldState: { error: error2 } }) => {
|
|
32778
32792
|
useEffect16(() => {
|
|
32779
|
-
let
|
|
32780
|
-
if (widget !== "many2many_binary" &&
|
|
32781
|
-
|
|
32793
|
+
let data = widget === "many2many_binary" ? selectedFiles : selectedFiles?.[0]?.data;
|
|
32794
|
+
if (widget !== "many2many_binary" && data && isBase64File(data)) {
|
|
32795
|
+
data = data.split(",")[1];
|
|
32782
32796
|
}
|
|
32783
|
-
onChange2(
|
|
32797
|
+
onChange2(data || null);
|
|
32784
32798
|
if (model === "ir.attachment") {
|
|
32785
32799
|
methods.setValue(
|
|
32786
32800
|
"name",
|
|
@@ -33294,9 +33308,12 @@ var Many2ManyTagField = (props) => {
|
|
|
33294
33308
|
clearErrors(name2);
|
|
33295
33309
|
}
|
|
33296
33310
|
}, [field.value]);
|
|
33297
|
-
const filteredValue = options2 && Array.isArray(field.value) ? options2.filter(
|
|
33311
|
+
const filteredValue = options2 && options2?.length > 0 && Array.isArray(field.value) ? options2.filter(
|
|
33298
33312
|
(option) => field.value.some((item) => item?.id === option.value)
|
|
33299
|
-
) :
|
|
33313
|
+
) : options2?.length === 0 && Array.isArray(field?.value) ? field?.value?.map((value2) => ({
|
|
33314
|
+
value: value2?.id,
|
|
33315
|
+
label: value2?.display_name
|
|
33316
|
+
})) : null;
|
|
33300
33317
|
const handleChange = (selectedOptions) => {
|
|
33301
33318
|
const newValue = tranfer(selectedOptions);
|
|
33302
33319
|
field.onChange(newValue);
|
package/dist/widgets.js
CHANGED
|
@@ -17620,22 +17620,24 @@ var ButtonSelectFiles = ({
|
|
|
17620
17620
|
}
|
|
17621
17621
|
return true;
|
|
17622
17622
|
};
|
|
17623
|
+
const convertFileToBase64 = (file) => {
|
|
17624
|
+
return new Promise((resolve, reject) => {
|
|
17625
|
+
const reader = new FileReader();
|
|
17626
|
+
reader.readAsDataURL(file);
|
|
17627
|
+
reader.onload = () => resolve(reader.result);
|
|
17628
|
+
reader.onerror = (error2) => reject(error2);
|
|
17629
|
+
});
|
|
17630
|
+
};
|
|
17623
17631
|
const handleOnChange = async (event) => {
|
|
17624
17632
|
const files = Array.from(event.target.files ?? []);
|
|
17625
|
-
setUploadError();
|
|
17626
17633
|
event.target.value = "";
|
|
17627
|
-
if (files.length
|
|
17628
|
-
|
|
17629
|
-
|
|
17630
|
-
|
|
17631
|
-
}
|
|
17632
|
-
|
|
17633
|
-
|
|
17634
|
-
formData.append("ufile", file);
|
|
17635
|
-
formData.append("thread_model", String(model));
|
|
17636
|
-
formData.append("thread_id", Number(id));
|
|
17637
|
-
formData.append("is_pending", true);
|
|
17638
|
-
await handleUploadImage({ formData });
|
|
17634
|
+
if (files.length === 0) return;
|
|
17635
|
+
const file = files[0];
|
|
17636
|
+
try {
|
|
17637
|
+
const base64 = await convertFileToBase64(file);
|
|
17638
|
+
setSelectedFiles([...selectedFiles, { name: file.name, data: base64 }]);
|
|
17639
|
+
} catch (error2) {
|
|
17640
|
+
console.error("Error converting file:", error2);
|
|
17639
17641
|
}
|
|
17640
17642
|
};
|
|
17641
17643
|
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
|
|
@@ -32507,7 +32509,19 @@ var FeeField = (props) => {
|
|
|
32507
32509
|
var import_react54 = require("react");
|
|
32508
32510
|
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
32509
32511
|
var FileUploadField = (props) => {
|
|
32510
|
-
const {
|
|
32512
|
+
const {
|
|
32513
|
+
name: name2,
|
|
32514
|
+
methods,
|
|
32515
|
+
isForm,
|
|
32516
|
+
model,
|
|
32517
|
+
required,
|
|
32518
|
+
idForm,
|
|
32519
|
+
widget,
|
|
32520
|
+
useUploadImage,
|
|
32521
|
+
useUploadFile,
|
|
32522
|
+
useGetImage,
|
|
32523
|
+
isBase64File
|
|
32524
|
+
} = props;
|
|
32511
32525
|
const fileInputRef = (0, import_react54.useRef)(null);
|
|
32512
32526
|
const [selectedFiles, setSelectedFiles] = (0, import_react54.useState)([]);
|
|
32513
32527
|
const [uploadError, setUploadError] = (0, import_react54.useState)();
|
|
@@ -32521,11 +32535,11 @@ var FileUploadField = (props) => {
|
|
|
32521
32535
|
},
|
|
32522
32536
|
render: ({ field: { onChange: onChange2 }, fieldState: { error: error2 } }) => {
|
|
32523
32537
|
(0, import_react54.useEffect)(() => {
|
|
32524
|
-
let
|
|
32525
|
-
if (widget !== "many2many_binary" &&
|
|
32526
|
-
|
|
32538
|
+
let data = widget === "many2many_binary" ? selectedFiles : selectedFiles?.[0]?.data;
|
|
32539
|
+
if (widget !== "many2many_binary" && data && isBase64File(data)) {
|
|
32540
|
+
data = data.split(",")[1];
|
|
32527
32541
|
}
|
|
32528
|
-
onChange2(
|
|
32542
|
+
onChange2(data || null);
|
|
32529
32543
|
if (model === "ir.attachment") {
|
|
32530
32544
|
methods.setValue(
|
|
32531
32545
|
"name",
|
|
@@ -33039,9 +33053,12 @@ var Many2ManyTagField = (props) => {
|
|
|
33039
33053
|
clearErrors(name2);
|
|
33040
33054
|
}
|
|
33041
33055
|
}, [field.value]);
|
|
33042
|
-
const filteredValue = options2 && Array.isArray(field.value) ? options2.filter(
|
|
33056
|
+
const filteredValue = options2 && options2?.length > 0 && Array.isArray(field.value) ? options2.filter(
|
|
33043
33057
|
(option) => field.value.some((item) => item?.id === option.value)
|
|
33044
|
-
) :
|
|
33058
|
+
) : options2?.length === 0 && Array.isArray(field?.value) ? field?.value?.map((value2) => ({
|
|
33059
|
+
value: value2?.id,
|
|
33060
|
+
label: value2?.display_name
|
|
33061
|
+
})) : null;
|
|
33045
33062
|
const handleChange = (selectedOptions) => {
|
|
33046
33063
|
const newValue = tranfer(selectedOptions);
|
|
33047
33064
|
field.onChange(newValue);
|
package/dist/widgets.mjs
CHANGED
|
@@ -17557,22 +17557,24 @@ var ButtonSelectFiles = ({
|
|
|
17557
17557
|
}
|
|
17558
17558
|
return true;
|
|
17559
17559
|
};
|
|
17560
|
+
const convertFileToBase64 = (file) => {
|
|
17561
|
+
return new Promise((resolve, reject) => {
|
|
17562
|
+
const reader = new FileReader();
|
|
17563
|
+
reader.readAsDataURL(file);
|
|
17564
|
+
reader.onload = () => resolve(reader.result);
|
|
17565
|
+
reader.onerror = (error2) => reject(error2);
|
|
17566
|
+
});
|
|
17567
|
+
};
|
|
17560
17568
|
const handleOnChange = async (event) => {
|
|
17561
17569
|
const files = Array.from(event.target.files ?? []);
|
|
17562
|
-
setUploadError();
|
|
17563
17570
|
event.target.value = "";
|
|
17564
|
-
if (files.length
|
|
17565
|
-
|
|
17566
|
-
|
|
17567
|
-
|
|
17568
|
-
}
|
|
17569
|
-
|
|
17570
|
-
|
|
17571
|
-
formData.append("ufile", file);
|
|
17572
|
-
formData.append("thread_model", String(model));
|
|
17573
|
-
formData.append("thread_id", Number(id));
|
|
17574
|
-
formData.append("is_pending", true);
|
|
17575
|
-
await handleUploadImage({ formData });
|
|
17571
|
+
if (files.length === 0) return;
|
|
17572
|
+
const file = files[0];
|
|
17573
|
+
try {
|
|
17574
|
+
const base64 = await convertFileToBase64(file);
|
|
17575
|
+
setSelectedFiles([...selectedFiles, { name: file.name, data: base64 }]);
|
|
17576
|
+
} catch (error2) {
|
|
17577
|
+
console.error("Error converting file:", error2);
|
|
17576
17578
|
}
|
|
17577
17579
|
};
|
|
17578
17580
|
return /* @__PURE__ */ jsxs45(Fragment13, { children: [
|
|
@@ -32444,7 +32446,19 @@ var FeeField = (props) => {
|
|
|
32444
32446
|
import { useEffect as useEffect16, useRef as useRef14, useState as useState16 } from "react";
|
|
32445
32447
|
import { jsx as jsx85, jsxs as jsxs58 } from "react/jsx-runtime";
|
|
32446
32448
|
var FileUploadField = (props) => {
|
|
32447
|
-
const {
|
|
32449
|
+
const {
|
|
32450
|
+
name: name2,
|
|
32451
|
+
methods,
|
|
32452
|
+
isForm,
|
|
32453
|
+
model,
|
|
32454
|
+
required,
|
|
32455
|
+
idForm,
|
|
32456
|
+
widget,
|
|
32457
|
+
useUploadImage,
|
|
32458
|
+
useUploadFile,
|
|
32459
|
+
useGetImage,
|
|
32460
|
+
isBase64File
|
|
32461
|
+
} = props;
|
|
32448
32462
|
const fileInputRef = useRef14(null);
|
|
32449
32463
|
const [selectedFiles, setSelectedFiles] = useState16([]);
|
|
32450
32464
|
const [uploadError, setUploadError] = useState16();
|
|
@@ -32458,11 +32472,11 @@ var FileUploadField = (props) => {
|
|
|
32458
32472
|
},
|
|
32459
32473
|
render: ({ field: { onChange: onChange2 }, fieldState: { error: error2 } }) => {
|
|
32460
32474
|
useEffect16(() => {
|
|
32461
|
-
let
|
|
32462
|
-
if (widget !== "many2many_binary" &&
|
|
32463
|
-
|
|
32475
|
+
let data = widget === "many2many_binary" ? selectedFiles : selectedFiles?.[0]?.data;
|
|
32476
|
+
if (widget !== "many2many_binary" && data && isBase64File(data)) {
|
|
32477
|
+
data = data.split(",")[1];
|
|
32464
32478
|
}
|
|
32465
|
-
onChange2(
|
|
32479
|
+
onChange2(data || null);
|
|
32466
32480
|
if (model === "ir.attachment") {
|
|
32467
32481
|
methods.setValue(
|
|
32468
32482
|
"name",
|
|
@@ -32976,9 +32990,12 @@ var Many2ManyTagField = (props) => {
|
|
|
32976
32990
|
clearErrors(name2);
|
|
32977
32991
|
}
|
|
32978
32992
|
}, [field.value]);
|
|
32979
|
-
const filteredValue = options2 && Array.isArray(field.value) ? options2.filter(
|
|
32993
|
+
const filteredValue = options2 && options2?.length > 0 && Array.isArray(field.value) ? options2.filter(
|
|
32980
32994
|
(option) => field.value.some((item) => item?.id === option.value)
|
|
32981
|
-
) :
|
|
32995
|
+
) : options2?.length === 0 && Array.isArray(field?.value) ? field?.value?.map((value2) => ({
|
|
32996
|
+
value: value2?.id,
|
|
32997
|
+
label: value2?.display_name
|
|
32998
|
+
})) : null;
|
|
32982
32999
|
const handleChange = (selectedOptions) => {
|
|
32983
33000
|
const newValue = tranfer(selectedOptions);
|
|
32984
33001
|
field.onChange(newValue);
|