@fctc/widget-logic 3.4.8 → 3.4.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.
- package/dist/hooks.d.mts +1 -0
- package/dist/hooks.d.ts +1 -0
- package/dist/hooks.js +20 -15
- package/dist/hooks.mjs +16 -11
- package/dist/index.js +54 -49
- package/dist/index.mjs +18 -13
- package/dist/widget.js +38 -38
- package/dist/widget.mjs +2 -2
- package/package.json +94 -94
package/dist/hooks.d.mts
CHANGED
package/dist/hooks.d.ts
CHANGED
package/dist/hooks.js
CHANGED
|
@@ -461,7 +461,7 @@ var import_react_i18next = require("react-i18next");
|
|
|
461
461
|
var useProfile = ({ service }) => {
|
|
462
462
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
463
463
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
464
|
-
const getProfile = useGetProfile2(
|
|
464
|
+
const getProfile = useGetProfile2(service);
|
|
465
465
|
const { i18n } = (0, import_react_i18next.useTranslation)();
|
|
466
466
|
const userInfoQuery = (0, import_react_query2.useQuery)({
|
|
467
467
|
queryKey: ["userInfo"],
|
|
@@ -471,6 +471,8 @@ var useProfile = ({ service }) => {
|
|
|
471
471
|
(0, import_react5.useEffect)(() => {
|
|
472
472
|
if (userInfoQuery.data) {
|
|
473
473
|
const userInfo = userInfoQuery.data;
|
|
474
|
+
console.log("userInfo", userInfo, userInfo?.x_node);
|
|
475
|
+
utils_exports.sessionStorageUtils.setXNode(userInfo?.x_node);
|
|
474
476
|
setUid(userInfo?.sub);
|
|
475
477
|
setUserInfo(userInfo);
|
|
476
478
|
const userLocale = languages.find((lang) => lang?.id === userInfo?.locale);
|
|
@@ -550,11 +552,11 @@ var import_react7 = require("react");
|
|
|
550
552
|
var useCompany = ({ service }) => {
|
|
551
553
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
552
554
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
553
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
554
|
-
service
|
|
555
|
-
});
|
|
555
|
+
const getCurrentCompany = useGetCurrentCompany2();
|
|
556
556
|
const fetchCurrentCompany = async () => {
|
|
557
|
-
return await getCurrentCompany.mutateAsync(
|
|
557
|
+
return await getCurrentCompany.mutateAsync({
|
|
558
|
+
service
|
|
559
|
+
});
|
|
558
560
|
};
|
|
559
561
|
const currentCompany = (0, import_react_query3.useQuery)({
|
|
560
562
|
queryKey: ["currentCompany"],
|
|
@@ -571,19 +573,22 @@ var useCompany = ({ service }) => {
|
|
|
571
573
|
setCompanies(companyIDs);
|
|
572
574
|
}
|
|
573
575
|
}, [current_company_id]);
|
|
574
|
-
const getCompanyInfo = useGetCompanyInfo2(
|
|
575
|
-
service
|
|
576
|
-
});
|
|
576
|
+
const getCompanyInfo = useGetCompanyInfo2();
|
|
577
577
|
const companyInfo = (0, import_react_query3.useQuery)({
|
|
578
578
|
queryKey: ["companyInfoQuery", current_company_id],
|
|
579
|
-
queryFn: () => getCompanyInfo.mutateAsync(
|
|
579
|
+
queryFn: () => getCompanyInfo.mutateAsync({
|
|
580
|
+
service,
|
|
581
|
+
id: Number(current_company_id)
|
|
582
|
+
}),
|
|
580
583
|
enabled: !!current_company_id
|
|
581
584
|
});
|
|
582
585
|
(0, import_react7.useEffect)(() => {
|
|
586
|
+
console.log("companyInfo", companyInfo.data);
|
|
583
587
|
if (companyInfo.data) {
|
|
584
588
|
const companyInfoData = companyInfo.data;
|
|
585
589
|
if (companyInfoData?.length) {
|
|
586
590
|
setDefaultCompany(companyInfoData[0]);
|
|
591
|
+
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
587
592
|
}
|
|
588
593
|
}
|
|
589
594
|
}, [companyInfo.data]);
|
|
@@ -675,7 +680,7 @@ var useConfig = ({
|
|
|
675
680
|
envConfig,
|
|
676
681
|
config,
|
|
677
682
|
localStorageUtils,
|
|
678
|
-
sessionStorageUtils
|
|
683
|
+
sessionStorageUtils: sessionStorageUtils3
|
|
679
684
|
}) => {
|
|
680
685
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
681
686
|
(0, import_react9.useEffect)(() => {
|
|
@@ -685,7 +690,7 @@ var useConfig = ({
|
|
|
685
690
|
config: envConfig.config,
|
|
686
691
|
default_service: "",
|
|
687
692
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
688
|
-
sessionStorageUtils: localStorageUtils &&
|
|
693
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils3()
|
|
689
694
|
});
|
|
690
695
|
setEnvFile(config);
|
|
691
696
|
} catch (error) {
|
|
@@ -770,7 +775,7 @@ var useGetSpecification = ({
|
|
|
770
775
|
|
|
771
776
|
// src/hooks/core/use-list-data.ts
|
|
772
777
|
var import_react14 = require("react");
|
|
773
|
-
var
|
|
778
|
+
var import_utils6 = require("@fctc/interface-logic/utils");
|
|
774
779
|
|
|
775
780
|
// src/hooks/utils/use-click-outside.ts
|
|
776
781
|
var import_react11 = require("react");
|
|
@@ -911,12 +916,12 @@ var useListData = ({
|
|
|
911
916
|
if (!viewData || !action || !context) {
|
|
912
917
|
return null;
|
|
913
918
|
}
|
|
914
|
-
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0,
|
|
919
|
+
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0, import_utils6.evalJSONDomain)(action?.domain, context) : [];
|
|
915
920
|
const limit = pageLimit;
|
|
916
921
|
const offset = debouncedPage * pageLimit;
|
|
917
922
|
const fields = typeof groupByList === "object" ? groupByList?.fields : void 0;
|
|
918
923
|
const groupby = typeof groupByList === "object" ? [groupByList?.contexts?.[0]?.group_by] : [];
|
|
919
|
-
const sort = order ? order : viewData?.views?.list?.default_order ? (0,
|
|
924
|
+
const sort = order ? order : viewData?.views?.list?.default_order ? (0, import_utils6.formatSortingString)(viewData?.views?.list?.default_order) : "";
|
|
920
925
|
return {
|
|
921
926
|
model: action?.res_model,
|
|
922
927
|
specification,
|
|
@@ -938,7 +943,7 @@ var useListData = ({
|
|
|
938
943
|
listDataProps?.offset,
|
|
939
944
|
listDataProps?.sort
|
|
940
945
|
],
|
|
941
|
-
!!listDataProps && !!specification && !(0,
|
|
946
|
+
!!listDataProps && !!specification && !(0, import_utils6.isObjectEmpty)(specification) && !!domain,
|
|
942
947
|
service,
|
|
943
948
|
xNode
|
|
944
949
|
);
|
package/dist/hooks.mjs
CHANGED
|
@@ -442,7 +442,7 @@ import { useTranslation } from "react-i18next";
|
|
|
442
442
|
var useProfile = ({ service }) => {
|
|
443
443
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
444
444
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
445
|
-
const getProfile = useGetProfile2(
|
|
445
|
+
const getProfile = useGetProfile2(service);
|
|
446
446
|
const { i18n } = useTranslation();
|
|
447
447
|
const userInfoQuery = useQuery2({
|
|
448
448
|
queryKey: ["userInfo"],
|
|
@@ -452,6 +452,8 @@ var useProfile = ({ service }) => {
|
|
|
452
452
|
useEffect3(() => {
|
|
453
453
|
if (userInfoQuery.data) {
|
|
454
454
|
const userInfo = userInfoQuery.data;
|
|
455
|
+
console.log("userInfo", userInfo, userInfo?.x_node);
|
|
456
|
+
utils_exports.sessionStorageUtils.setXNode(userInfo?.x_node);
|
|
455
457
|
setUid(userInfo?.sub);
|
|
456
458
|
setUserInfo(userInfo);
|
|
457
459
|
const userLocale = languages.find((lang) => lang?.id === userInfo?.locale);
|
|
@@ -531,11 +533,11 @@ import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
|
|
|
531
533
|
var useCompany = ({ service }) => {
|
|
532
534
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
533
535
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
534
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
535
|
-
service
|
|
536
|
-
});
|
|
536
|
+
const getCurrentCompany = useGetCurrentCompany2();
|
|
537
537
|
const fetchCurrentCompany = async () => {
|
|
538
|
-
return await getCurrentCompany.mutateAsync(
|
|
538
|
+
return await getCurrentCompany.mutateAsync({
|
|
539
|
+
service
|
|
540
|
+
});
|
|
539
541
|
};
|
|
540
542
|
const currentCompany = useQuery3({
|
|
541
543
|
queryKey: ["currentCompany"],
|
|
@@ -552,19 +554,22 @@ var useCompany = ({ service }) => {
|
|
|
552
554
|
setCompanies(companyIDs);
|
|
553
555
|
}
|
|
554
556
|
}, [current_company_id]);
|
|
555
|
-
const getCompanyInfo = useGetCompanyInfo2(
|
|
556
|
-
service
|
|
557
|
-
});
|
|
557
|
+
const getCompanyInfo = useGetCompanyInfo2();
|
|
558
558
|
const companyInfo = useQuery3({
|
|
559
559
|
queryKey: ["companyInfoQuery", current_company_id],
|
|
560
|
-
queryFn: () => getCompanyInfo.mutateAsync(
|
|
560
|
+
queryFn: () => getCompanyInfo.mutateAsync({
|
|
561
|
+
service,
|
|
562
|
+
id: Number(current_company_id)
|
|
563
|
+
}),
|
|
561
564
|
enabled: !!current_company_id
|
|
562
565
|
});
|
|
563
566
|
useEffect4(() => {
|
|
567
|
+
console.log("companyInfo", companyInfo.data);
|
|
564
568
|
if (companyInfo.data) {
|
|
565
569
|
const companyInfoData = companyInfo.data;
|
|
566
570
|
if (companyInfoData?.length) {
|
|
567
571
|
setDefaultCompany(companyInfoData[0]);
|
|
572
|
+
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
568
573
|
}
|
|
569
574
|
}
|
|
570
575
|
}, [companyInfo.data]);
|
|
@@ -656,7 +661,7 @@ var useConfig = ({
|
|
|
656
661
|
envConfig,
|
|
657
662
|
config,
|
|
658
663
|
localStorageUtils,
|
|
659
|
-
sessionStorageUtils
|
|
664
|
+
sessionStorageUtils: sessionStorageUtils3
|
|
660
665
|
}) => {
|
|
661
666
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
662
667
|
useEffect5(() => {
|
|
@@ -666,7 +671,7 @@ var useConfig = ({
|
|
|
666
671
|
config: envConfig.config,
|
|
667
672
|
default_service: "",
|
|
668
673
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
669
|
-
sessionStorageUtils: localStorageUtils &&
|
|
674
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils3()
|
|
670
675
|
});
|
|
671
676
|
setEnvFile(config);
|
|
672
677
|
} catch (error) {
|
package/dist/index.js
CHANGED
|
@@ -4511,7 +4511,7 @@ var import_react_i18next = require("react-i18next");
|
|
|
4511
4511
|
var useProfile = ({ service }) => {
|
|
4512
4512
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
4513
4513
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
4514
|
-
const getProfile = useGetProfile2(
|
|
4514
|
+
const getProfile = useGetProfile2(service);
|
|
4515
4515
|
const { i18n: i18n2 } = (0, import_react_i18next.useTranslation)();
|
|
4516
4516
|
const userInfoQuery = (0, import_react_query2.useQuery)({
|
|
4517
4517
|
queryKey: ["userInfo"],
|
|
@@ -4521,6 +4521,8 @@ var useProfile = ({ service }) => {
|
|
|
4521
4521
|
(0, import_react5.useEffect)(() => {
|
|
4522
4522
|
if (userInfoQuery.data) {
|
|
4523
4523
|
const userInfo = userInfoQuery.data;
|
|
4524
|
+
console.log("userInfo", userInfo, userInfo?.x_node);
|
|
4525
|
+
utils_exports.sessionStorageUtils.setXNode(userInfo?.x_node);
|
|
4524
4526
|
setUid(userInfo?.sub);
|
|
4525
4527
|
setUserInfo(userInfo);
|
|
4526
4528
|
const userLocale = languages.find((lang) => lang?.id === userInfo?.locale);
|
|
@@ -4600,11 +4602,11 @@ var import_react7 = require("react");
|
|
|
4600
4602
|
var useCompany = ({ service }) => {
|
|
4601
4603
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
4602
4604
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
4603
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
4604
|
-
service
|
|
4605
|
-
});
|
|
4605
|
+
const getCurrentCompany = useGetCurrentCompany2();
|
|
4606
4606
|
const fetchCurrentCompany = async () => {
|
|
4607
|
-
return await getCurrentCompany.mutateAsync(
|
|
4607
|
+
return await getCurrentCompany.mutateAsync({
|
|
4608
|
+
service
|
|
4609
|
+
});
|
|
4608
4610
|
};
|
|
4609
4611
|
const currentCompany = (0, import_react_query3.useQuery)({
|
|
4610
4612
|
queryKey: ["currentCompany"],
|
|
@@ -4621,19 +4623,22 @@ var useCompany = ({ service }) => {
|
|
|
4621
4623
|
setCompanies(companyIDs);
|
|
4622
4624
|
}
|
|
4623
4625
|
}, [current_company_id]);
|
|
4624
|
-
const getCompanyInfo = useGetCompanyInfo2(
|
|
4625
|
-
service
|
|
4626
|
-
});
|
|
4626
|
+
const getCompanyInfo = useGetCompanyInfo2();
|
|
4627
4627
|
const companyInfo = (0, import_react_query3.useQuery)({
|
|
4628
4628
|
queryKey: ["companyInfoQuery", current_company_id],
|
|
4629
|
-
queryFn: () => getCompanyInfo.mutateAsync(
|
|
4629
|
+
queryFn: () => getCompanyInfo.mutateAsync({
|
|
4630
|
+
service,
|
|
4631
|
+
id: Number(current_company_id)
|
|
4632
|
+
}),
|
|
4630
4633
|
enabled: !!current_company_id
|
|
4631
4634
|
});
|
|
4632
4635
|
(0, import_react7.useEffect)(() => {
|
|
4636
|
+
console.log("companyInfo", companyInfo.data);
|
|
4633
4637
|
if (companyInfo.data) {
|
|
4634
4638
|
const companyInfoData = companyInfo.data;
|
|
4635
4639
|
if (companyInfoData?.length) {
|
|
4636
4640
|
setDefaultCompany(companyInfoData[0]);
|
|
4641
|
+
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
4637
4642
|
}
|
|
4638
4643
|
}
|
|
4639
4644
|
}, [companyInfo.data]);
|
|
@@ -4725,7 +4730,7 @@ var useConfig = ({
|
|
|
4725
4730
|
envConfig,
|
|
4726
4731
|
config,
|
|
4727
4732
|
localStorageUtils,
|
|
4728
|
-
sessionStorageUtils
|
|
4733
|
+
sessionStorageUtils: sessionStorageUtils3
|
|
4729
4734
|
}) => {
|
|
4730
4735
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
4731
4736
|
(0, import_react9.useEffect)(() => {
|
|
@@ -4735,7 +4740,7 @@ var useConfig = ({
|
|
|
4735
4740
|
config: envConfig.config,
|
|
4736
4741
|
default_service: "",
|
|
4737
4742
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
4738
|
-
sessionStorageUtils: localStorageUtils &&
|
|
4743
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils3()
|
|
4739
4744
|
});
|
|
4740
4745
|
setEnvFile(config);
|
|
4741
4746
|
} catch (error) {
|
|
@@ -4820,7 +4825,7 @@ var useGetSpecification = ({
|
|
|
4820
4825
|
|
|
4821
4826
|
// src/hooks/core/use-list-data.ts
|
|
4822
4827
|
var import_react14 = require("react");
|
|
4823
|
-
var
|
|
4828
|
+
var import_utils6 = require("@fctc/interface-logic/utils");
|
|
4824
4829
|
|
|
4825
4830
|
// src/hooks/utils/use-click-outside.ts
|
|
4826
4831
|
var import_react11 = require("react");
|
|
@@ -4961,12 +4966,12 @@ var useListData = ({
|
|
|
4961
4966
|
if (!viewData || !action || !context) {
|
|
4962
4967
|
return null;
|
|
4963
4968
|
}
|
|
4964
|
-
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0,
|
|
4969
|
+
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0, import_utils6.evalJSONDomain)(action?.domain, context) : [];
|
|
4965
4970
|
const limit = pageLimit;
|
|
4966
4971
|
const offset = debouncedPage * pageLimit;
|
|
4967
4972
|
const fields = typeof groupByList === "object" ? groupByList?.fields : void 0;
|
|
4968
4973
|
const groupby = typeof groupByList === "object" ? [groupByList?.contexts?.[0]?.group_by] : [];
|
|
4969
|
-
const sort = order ? order : viewData?.views?.list?.default_order ? (0,
|
|
4974
|
+
const sort = order ? order : viewData?.views?.list?.default_order ? (0, import_utils6.formatSortingString)(viewData?.views?.list?.default_order) : "";
|
|
4970
4975
|
return {
|
|
4971
4976
|
model: action?.res_model,
|
|
4972
4977
|
specification,
|
|
@@ -4988,7 +4993,7 @@ var useListData = ({
|
|
|
4988
4993
|
listDataProps?.offset,
|
|
4989
4994
|
listDataProps?.sort
|
|
4990
4995
|
],
|
|
4991
|
-
!!listDataProps && !!specification && !(0,
|
|
4996
|
+
!!listDataProps && !!specification && !(0, import_utils6.isObjectEmpty)(specification) && !!domain,
|
|
4992
4997
|
service,
|
|
4993
4998
|
xNode
|
|
4994
4999
|
);
|
|
@@ -5313,7 +5318,7 @@ __reExport(store_exports, require("@fctc/interface-logic/store"));
|
|
|
5313
5318
|
// src/widget/basic/many2one-field/controller.ts
|
|
5314
5319
|
var many2oneFieldController = (props) => {
|
|
5315
5320
|
const {
|
|
5316
|
-
sessionStorageUtils,
|
|
5321
|
+
sessionStorageUtils: sessionStorageUtils3,
|
|
5317
5322
|
methods,
|
|
5318
5323
|
relation,
|
|
5319
5324
|
domain,
|
|
@@ -5335,7 +5340,7 @@ var many2oneFieldController = (props) => {
|
|
|
5335
5340
|
const [tempSelectedOption, setTempSelectedOption] = (0, import_react16.useState)(null);
|
|
5336
5341
|
const [domainModal, setDomainModal] = (0, import_react16.useState)(null);
|
|
5337
5342
|
const [domainObject, setDomainObject] = (0, import_react16.useState)(null);
|
|
5338
|
-
const actionData =
|
|
5343
|
+
const actionData = sessionStorageUtils3.getActionData();
|
|
5339
5344
|
const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
|
|
5340
5345
|
const initValue = methods?.getValues(name);
|
|
5341
5346
|
const optionsObject = (0, utils_exports.evalJSONContext)(fieldOptions) || {};
|
|
@@ -5492,18 +5497,18 @@ var many2oneFieldController = (props) => {
|
|
|
5492
5497
|
// src/widget/basic/many2one-button-field/controller.ts
|
|
5493
5498
|
var import_environment2 = require("@fctc/interface-logic/environment");
|
|
5494
5499
|
var import_hooks6 = require("@fctc/interface-logic/hooks");
|
|
5495
|
-
var
|
|
5500
|
+
var import_utils9 = require("@fctc/interface-logic/utils");
|
|
5496
5501
|
var many2oneButtonController = (props) => {
|
|
5497
5502
|
const { domain, methods, relation, service, xNode } = props;
|
|
5498
5503
|
const actionDataString = sessionStorage.getItem("actionData");
|
|
5499
5504
|
const env = (0, import_environment2.getEnv)();
|
|
5500
|
-
const domainObject = (0,
|
|
5505
|
+
const domainObject = (0, import_utils9.evalJSONDomain)(domain, methods?.getValues() || {});
|
|
5501
5506
|
const actionData = actionDataString && actionDataString !== "undefined" ? JSON.parse(actionDataString) : {};
|
|
5502
5507
|
const { data: dataOfSelection } = (0, import_hooks6.useGetSelection)({
|
|
5503
5508
|
data: {
|
|
5504
5509
|
model: relation ?? "",
|
|
5505
5510
|
domain: domainObject,
|
|
5506
|
-
context: { ...env.context, ...(0,
|
|
5511
|
+
context: { ...env.context, ...(0, import_utils9.evalJSONContext)(actionData?.context) }
|
|
5507
5512
|
},
|
|
5508
5513
|
queryKey: [`data_${relation}`, domainObject],
|
|
5509
5514
|
service,
|
|
@@ -5520,7 +5525,7 @@ var many2oneButtonController = (props) => {
|
|
|
5520
5525
|
|
|
5521
5526
|
// src/widget/basic/many2many-field/controller.ts
|
|
5522
5527
|
var import_react17 = require("react");
|
|
5523
|
-
var
|
|
5528
|
+
var import_utils10 = require("@fctc/interface-logic/utils");
|
|
5524
5529
|
var many2manyFieldController = (props) => {
|
|
5525
5530
|
const {
|
|
5526
5531
|
relation,
|
|
@@ -5551,7 +5556,7 @@ var many2manyFieldController = (props) => {
|
|
|
5551
5556
|
enabled: enabledCallAPI
|
|
5552
5557
|
});
|
|
5553
5558
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5554
|
-
const optionsObject = (options && typeof options === "string" ? (0,
|
|
5559
|
+
const optionsObject = (options && typeof options === "string" ? (0, import_utils10.evalJSONContext)(options) : options) || {};
|
|
5555
5560
|
const {
|
|
5556
5561
|
data: dataResponse,
|
|
5557
5562
|
isFetched,
|
|
@@ -5643,7 +5648,7 @@ var many2manyFieldController = (props) => {
|
|
|
5643
5648
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5644
5649
|
var import_react18 = require("react");
|
|
5645
5650
|
var import_constants2 = require("@fctc/interface-logic/constants");
|
|
5646
|
-
var
|
|
5651
|
+
var import_utils11 = require("@fctc/interface-logic/utils");
|
|
5647
5652
|
var many2manyTagsController = (props) => {
|
|
5648
5653
|
const {
|
|
5649
5654
|
relation,
|
|
@@ -5658,9 +5663,9 @@ var many2manyTagsController = (props) => {
|
|
|
5658
5663
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
5659
5664
|
const { env } = (0, provider_exports.useEnv)();
|
|
5660
5665
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5661
|
-
const addtionalFields = optionsFields ? (0,
|
|
5666
|
+
const addtionalFields = optionsFields ? (0, import_utils11.evalJSONContext)(optionsFields) : null;
|
|
5662
5667
|
const domainObject = (0, import_react18.useMemo)(
|
|
5663
|
-
() => (0,
|
|
5668
|
+
() => (0, import_utils11.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5664
5669
|
[domain]
|
|
5665
5670
|
);
|
|
5666
5671
|
const data = {
|
|
@@ -5704,7 +5709,7 @@ var many2manyTagsController = (props) => {
|
|
|
5704
5709
|
|
|
5705
5710
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5706
5711
|
var import_react19 = require("react");
|
|
5707
|
-
var
|
|
5712
|
+
var import_utils12 = require("@fctc/interface-logic/utils");
|
|
5708
5713
|
var durationController = (props) => {
|
|
5709
5714
|
const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
|
|
5710
5715
|
const specification = {
|
|
@@ -5720,7 +5725,7 @@ var durationController = (props) => {
|
|
|
5720
5725
|
const listDataProps = {
|
|
5721
5726
|
model: relation,
|
|
5722
5727
|
specification,
|
|
5723
|
-
domain: (0,
|
|
5728
|
+
domain: (0, import_utils12.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5724
5729
|
limit: 10,
|
|
5725
5730
|
offset: 0,
|
|
5726
5731
|
fields: "",
|
|
@@ -5770,10 +5775,10 @@ var durationController = (props) => {
|
|
|
5770
5775
|
};
|
|
5771
5776
|
|
|
5772
5777
|
// src/widget/basic/priority-field/controller.ts
|
|
5773
|
-
var
|
|
5778
|
+
var import_utils13 = require("@fctc/interface-logic/utils");
|
|
5774
5779
|
var priorityFieldController = (props) => {
|
|
5775
5780
|
const { name, model, index, actionData, context, onChange, specification } = props;
|
|
5776
|
-
const _context = { ...(0,
|
|
5781
|
+
const _context = { ...(0, import_utils13.evalJSONContext)(actionData?.context) };
|
|
5777
5782
|
const contextObject = { ...context, ..._context };
|
|
5778
5783
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
5779
5784
|
const { mutateAsync: fetchSave } = useSave3();
|
|
@@ -6741,12 +6746,12 @@ var dateFieldController = (props) => {
|
|
|
6741
6746
|
|
|
6742
6747
|
// src/widget/basic/copy-link-button/controller.ts
|
|
6743
6748
|
var import_react21 = require("react");
|
|
6744
|
-
var
|
|
6749
|
+
var import_utils14 = require("@fctc/interface-logic/utils");
|
|
6745
6750
|
var copyLinkButtonController = (props) => {
|
|
6746
6751
|
const { value, defaultValue } = props;
|
|
6747
6752
|
const [isCopied, setIsCopied] = (0, import_react21.useState)(false);
|
|
6748
6753
|
const handleCopyToClipboard = async (value2) => {
|
|
6749
|
-
await (0,
|
|
6754
|
+
await (0, import_utils14.copyTextToClipboard)(value2);
|
|
6750
6755
|
setIsCopied(true);
|
|
6751
6756
|
setTimeout(() => setIsCopied(false), 2e3);
|
|
6752
6757
|
};
|
|
@@ -6759,12 +6764,12 @@ var copyLinkButtonController = (props) => {
|
|
|
6759
6764
|
};
|
|
6760
6765
|
|
|
6761
6766
|
// src/widget/basic/color-field/color-controller.ts
|
|
6762
|
-
var
|
|
6767
|
+
var import_utils15 = require("@fctc/interface-logic/utils");
|
|
6763
6768
|
var colorFieldController = (props) => {
|
|
6764
6769
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6765
6770
|
const { env } = (0, provider_exports.useEnv)();
|
|
6766
6771
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6767
|
-
const _context = { ...(0,
|
|
6772
|
+
const _context = { ...(0, import_utils15.evalJSONContext)(actionData?.context) || {} };
|
|
6768
6773
|
const contextObject = { ...env.context, ..._context };
|
|
6769
6774
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6770
6775
|
const { mutate: onSave } = useSave3();
|
|
@@ -6793,7 +6798,7 @@ var colorFieldController = (props) => {
|
|
|
6793
6798
|
|
|
6794
6799
|
// src/widget/basic/binary-field/controller.ts
|
|
6795
6800
|
var import_react22 = require("react");
|
|
6796
|
-
var
|
|
6801
|
+
var import_utils16 = require("@fctc/interface-logic/utils");
|
|
6797
6802
|
var binaryFieldController = (props) => {
|
|
6798
6803
|
const { name, methods, readonly = false, value } = props;
|
|
6799
6804
|
const inputId = (0, import_react22.useId)();
|
|
@@ -6850,11 +6855,11 @@ var binaryFieldController = (props) => {
|
|
|
6850
6855
|
};
|
|
6851
6856
|
const checkIsImageLink = (url) => {
|
|
6852
6857
|
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
6853
|
-
return imageExtensions.test(url) || (0,
|
|
6858
|
+
return imageExtensions.test(url) || (0, import_utils16.isBase64Image)(url) || isBlobUrl(url);
|
|
6854
6859
|
};
|
|
6855
6860
|
const getImageBase64WithMimeType = (base64) => {
|
|
6856
6861
|
if (typeof base64 !== "string" || base64.length < 10) return null;
|
|
6857
|
-
if ((0,
|
|
6862
|
+
if ((0, import_utils16.isBase64Image)(base64)) return base64;
|
|
6858
6863
|
let mimeType = null;
|
|
6859
6864
|
if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
|
|
6860
6865
|
else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
|
|
@@ -6957,7 +6962,7 @@ var tableHeadController = (props) => {
|
|
|
6957
6962
|
|
|
6958
6963
|
// src/widget/advance/table/table-view/controller.ts
|
|
6959
6964
|
var import_react24 = require("react");
|
|
6960
|
-
var
|
|
6965
|
+
var import_utils18 = require("@fctc/interface-logic/utils");
|
|
6961
6966
|
var tableController = ({ data }) => {
|
|
6962
6967
|
const [rows, setRows] = (0, import_react24.useState)([]);
|
|
6963
6968
|
const [columnVisibility, setColumnVisibility] = (0, import_react24.useState)({});
|
|
@@ -7000,10 +7005,10 @@ var tableController = ({ data }) => {
|
|
|
7000
7005
|
const columns = (0, import_react24.useMemo)(() => {
|
|
7001
7006
|
try {
|
|
7002
7007
|
return mergeFields?.filter((item) => {
|
|
7003
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ?
|
|
7008
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils18.domainHelper.matchDomains(
|
|
7004
7009
|
data.context,
|
|
7005
7010
|
item?.column_invisible
|
|
7006
|
-
) : item?.invisible ?
|
|
7011
|
+
) : item?.invisible ? import_utils18.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
7007
7012
|
})?.map((field) => {
|
|
7008
7013
|
const overridden = columnVisibility[field?.name];
|
|
7009
7014
|
return {
|
|
@@ -7168,7 +7173,7 @@ var tableGroupController = (props) => {
|
|
|
7168
7173
|
|
|
7169
7174
|
// src/widget/advance/search/controller.ts
|
|
7170
7175
|
var import_constants3 = require("@fctc/interface-logic/constants");
|
|
7171
|
-
var
|
|
7176
|
+
var import_utils20 = require("@fctc/interface-logic/utils");
|
|
7172
7177
|
var import_moment2 = __toESM(require_moment());
|
|
7173
7178
|
var import_react26 = require("react");
|
|
7174
7179
|
var searchController = ({
|
|
@@ -7185,9 +7190,9 @@ var searchController = ({
|
|
|
7185
7190
|
const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
|
|
7186
7191
|
const [searchString, setSearchString] = (0, import_react26.useState)("");
|
|
7187
7192
|
const [searchMap, setSearchMap] = (0, import_react26.useState)({});
|
|
7188
|
-
const actionContext = typeof context === "string" ? (0,
|
|
7193
|
+
const actionContext = typeof context === "string" ? (0, import_utils20.evalJSONContext)(context) : context;
|
|
7189
7194
|
const contextSearch = { ...env.context, ...actionContext };
|
|
7190
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0,
|
|
7195
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils20.evalJSONDomain)(domain, contextSearch) : [];
|
|
7191
7196
|
const clearSearch = () => {
|
|
7192
7197
|
setFilterBy([]);
|
|
7193
7198
|
setGroupBy([]);
|
|
@@ -7202,7 +7207,7 @@ var searchController = ({
|
|
|
7202
7207
|
const dataModel = viewData?.models?.[model];
|
|
7203
7208
|
const searchViews = viewData?.views?.search;
|
|
7204
7209
|
const searchByItems = searchViews?.search_by?.filter(
|
|
7205
|
-
(item) => !
|
|
7210
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item.invisible)
|
|
7206
7211
|
)?.map(
|
|
7207
7212
|
({ string, name, filter_domain, operator, widget }, index) => ({
|
|
7208
7213
|
dataIndex: index,
|
|
@@ -7215,10 +7220,10 @@ var searchController = ({
|
|
|
7215
7220
|
})
|
|
7216
7221
|
);
|
|
7217
7222
|
const filterByItems = searchViews?.filter_by.filter((item) => {
|
|
7218
|
-
return !
|
|
7223
|
+
return !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible);
|
|
7219
7224
|
})?.map((item) => ({ ...item, active: false }));
|
|
7220
7225
|
const groupByItems = searchViews?.group_by.filter(
|
|
7221
|
-
(item) => !
|
|
7226
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible)
|
|
7222
7227
|
).map((item) => ({
|
|
7223
7228
|
...item,
|
|
7224
7229
|
string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
|
|
@@ -7295,14 +7300,14 @@ var searchController = ({
|
|
|
7295
7300
|
}
|
|
7296
7301
|
let valueDomainItem = value?.value;
|
|
7297
7302
|
if (value?.modelType === "date") {
|
|
7298
|
-
valueDomainItem = (0,
|
|
7303
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value);
|
|
7299
7304
|
} else if (value?.modelType === "datetime") {
|
|
7300
7305
|
if (value?.operator === "<=" || value?.operator === "<") {
|
|
7301
|
-
const parsedDate = (0,
|
|
7306
|
+
const parsedDate = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
7302
7307
|
const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
|
|
7303
7308
|
valueDomainItem = hasTime ? (0, import_moment2.default)(parsedDate).format("YYYY-MM-DD HH:mm:ss") : (0, import_moment2.default)(parsedDate).add(1, "day").subtract(1, "second").format("YYYY-MM-DD HH:mm:ss");
|
|
7304
7309
|
} else {
|
|
7305
|
-
valueDomainItem = (0,
|
|
7310
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
7306
7311
|
}
|
|
7307
7312
|
}
|
|
7308
7313
|
const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
|
|
@@ -7381,7 +7386,7 @@ var searchController = ({
|
|
|
7381
7386
|
}, [searchMap]);
|
|
7382
7387
|
const handleAddTagSearch = (tag) => {
|
|
7383
7388
|
const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
|
|
7384
|
-
const domainFormat = new
|
|
7389
|
+
const domainFormat = new import_utils20.domainHelper.Domain(domain2);
|
|
7385
7390
|
if (type === import_constants3.SearchType.FILTER) {
|
|
7386
7391
|
addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
|
|
7387
7392
|
...tag,
|
package/dist/index.mjs
CHANGED
|
@@ -4586,7 +4586,7 @@ import { useTranslation } from "react-i18next";
|
|
|
4586
4586
|
var useProfile = ({ service }) => {
|
|
4587
4587
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
4588
4588
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
4589
|
-
const getProfile = useGetProfile2(
|
|
4589
|
+
const getProfile = useGetProfile2(service);
|
|
4590
4590
|
const { i18n: i18n2 } = useTranslation();
|
|
4591
4591
|
const userInfoQuery = useQuery2({
|
|
4592
4592
|
queryKey: ["userInfo"],
|
|
@@ -4596,6 +4596,8 @@ var useProfile = ({ service }) => {
|
|
|
4596
4596
|
useEffect3(() => {
|
|
4597
4597
|
if (userInfoQuery.data) {
|
|
4598
4598
|
const userInfo = userInfoQuery.data;
|
|
4599
|
+
console.log("userInfo", userInfo, userInfo?.x_node);
|
|
4600
|
+
utils_exports.sessionStorageUtils.setXNode(userInfo?.x_node);
|
|
4599
4601
|
setUid(userInfo?.sub);
|
|
4600
4602
|
setUserInfo(userInfo);
|
|
4601
4603
|
const userLocale = languages.find((lang) => lang?.id === userInfo?.locale);
|
|
@@ -4675,11 +4677,11 @@ import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
|
|
|
4675
4677
|
var useCompany = ({ service }) => {
|
|
4676
4678
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
4677
4679
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
4678
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
4679
|
-
service
|
|
4680
|
-
});
|
|
4680
|
+
const getCurrentCompany = useGetCurrentCompany2();
|
|
4681
4681
|
const fetchCurrentCompany = async () => {
|
|
4682
|
-
return await getCurrentCompany.mutateAsync(
|
|
4682
|
+
return await getCurrentCompany.mutateAsync({
|
|
4683
|
+
service
|
|
4684
|
+
});
|
|
4683
4685
|
};
|
|
4684
4686
|
const currentCompany = useQuery3({
|
|
4685
4687
|
queryKey: ["currentCompany"],
|
|
@@ -4696,19 +4698,22 @@ var useCompany = ({ service }) => {
|
|
|
4696
4698
|
setCompanies(companyIDs);
|
|
4697
4699
|
}
|
|
4698
4700
|
}, [current_company_id]);
|
|
4699
|
-
const getCompanyInfo = useGetCompanyInfo2(
|
|
4700
|
-
service
|
|
4701
|
-
});
|
|
4701
|
+
const getCompanyInfo = useGetCompanyInfo2();
|
|
4702
4702
|
const companyInfo = useQuery3({
|
|
4703
4703
|
queryKey: ["companyInfoQuery", current_company_id],
|
|
4704
|
-
queryFn: () => getCompanyInfo.mutateAsync(
|
|
4704
|
+
queryFn: () => getCompanyInfo.mutateAsync({
|
|
4705
|
+
service,
|
|
4706
|
+
id: Number(current_company_id)
|
|
4707
|
+
}),
|
|
4705
4708
|
enabled: !!current_company_id
|
|
4706
4709
|
});
|
|
4707
4710
|
useEffect4(() => {
|
|
4711
|
+
console.log("companyInfo", companyInfo.data);
|
|
4708
4712
|
if (companyInfo.data) {
|
|
4709
4713
|
const companyInfoData = companyInfo.data;
|
|
4710
4714
|
if (companyInfoData?.length) {
|
|
4711
4715
|
setDefaultCompany(companyInfoData[0]);
|
|
4716
|
+
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
4712
4717
|
}
|
|
4713
4718
|
}
|
|
4714
4719
|
}, [companyInfo.data]);
|
|
@@ -4800,7 +4805,7 @@ var useConfig = ({
|
|
|
4800
4805
|
envConfig,
|
|
4801
4806
|
config,
|
|
4802
4807
|
localStorageUtils,
|
|
4803
|
-
sessionStorageUtils
|
|
4808
|
+
sessionStorageUtils: sessionStorageUtils3
|
|
4804
4809
|
}) => {
|
|
4805
4810
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
4806
4811
|
useEffect5(() => {
|
|
@@ -4810,7 +4815,7 @@ var useConfig = ({
|
|
|
4810
4815
|
config: envConfig.config,
|
|
4811
4816
|
default_service: "",
|
|
4812
4817
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
4813
|
-
sessionStorageUtils: localStorageUtils &&
|
|
4818
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils3()
|
|
4814
4819
|
});
|
|
4815
4820
|
setEnvFile(config);
|
|
4816
4821
|
} catch (error) {
|
|
@@ -5394,7 +5399,7 @@ import * as store_star from "@fctc/interface-logic/store";
|
|
|
5394
5399
|
// src/widget/basic/many2one-field/controller.ts
|
|
5395
5400
|
var many2oneFieldController = (props) => {
|
|
5396
5401
|
const {
|
|
5397
|
-
sessionStorageUtils,
|
|
5402
|
+
sessionStorageUtils: sessionStorageUtils3,
|
|
5398
5403
|
methods,
|
|
5399
5404
|
relation,
|
|
5400
5405
|
domain,
|
|
@@ -5416,7 +5421,7 @@ var many2oneFieldController = (props) => {
|
|
|
5416
5421
|
const [tempSelectedOption, setTempSelectedOption] = useState7(null);
|
|
5417
5422
|
const [domainModal, setDomainModal] = useState7(null);
|
|
5418
5423
|
const [domainObject, setDomainObject] = useState7(null);
|
|
5419
|
-
const actionData =
|
|
5424
|
+
const actionData = sessionStorageUtils3.getActionData();
|
|
5420
5425
|
const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
|
|
5421
5426
|
const initValue = methods?.getValues(name);
|
|
5422
5427
|
const optionsObject = (0, utils_exports.evalJSONContext)(fieldOptions) || {};
|
package/dist/widget.js
CHANGED
|
@@ -4379,7 +4379,7 @@ var useGetSpecification = ({
|
|
|
4379
4379
|
|
|
4380
4380
|
// src/hooks/core/use-list-data.ts
|
|
4381
4381
|
var import_react15 = require("react");
|
|
4382
|
-
var
|
|
4382
|
+
var import_utils6 = require("@fctc/interface-logic/utils");
|
|
4383
4383
|
|
|
4384
4384
|
// src/hooks/utils/use-click-outside.ts
|
|
4385
4385
|
var import_react12 = require("react");
|
|
@@ -4492,12 +4492,12 @@ var useListData = ({
|
|
|
4492
4492
|
if (!viewData || !action || !context) {
|
|
4493
4493
|
return null;
|
|
4494
4494
|
}
|
|
4495
|
-
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0,
|
|
4495
|
+
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0, import_utils6.evalJSONDomain)(action?.domain, context) : [];
|
|
4496
4496
|
const limit = pageLimit;
|
|
4497
4497
|
const offset = debouncedPage * pageLimit;
|
|
4498
4498
|
const fields = typeof groupByList === "object" ? groupByList?.fields : void 0;
|
|
4499
4499
|
const groupby = typeof groupByList === "object" ? [groupByList?.contexts?.[0]?.group_by] : [];
|
|
4500
|
-
const sort = order ? order : viewData?.views?.list?.default_order ? (0,
|
|
4500
|
+
const sort = order ? order : viewData?.views?.list?.default_order ? (0, import_utils6.formatSortingString)(viewData?.views?.list?.default_order) : "";
|
|
4501
4501
|
return {
|
|
4502
4502
|
model: action?.res_model,
|
|
4503
4503
|
specification,
|
|
@@ -4519,7 +4519,7 @@ var useListData = ({
|
|
|
4519
4519
|
listDataProps?.offset,
|
|
4520
4520
|
listDataProps?.sort
|
|
4521
4521
|
],
|
|
4522
|
-
!!listDataProps && !!specification && !(0,
|
|
4522
|
+
!!listDataProps && !!specification && !(0, import_utils6.isObjectEmpty)(specification) && !!domain,
|
|
4523
4523
|
service,
|
|
4524
4524
|
xNode
|
|
4525
4525
|
);
|
|
@@ -4550,7 +4550,7 @@ __reExport(store_exports, require("@fctc/interface-logic/store"));
|
|
|
4550
4550
|
// src/widget/basic/many2one-field/controller.ts
|
|
4551
4551
|
var many2oneFieldController = (props) => {
|
|
4552
4552
|
const {
|
|
4553
|
-
sessionStorageUtils,
|
|
4553
|
+
sessionStorageUtils: sessionStorageUtils3,
|
|
4554
4554
|
methods,
|
|
4555
4555
|
relation,
|
|
4556
4556
|
domain,
|
|
@@ -4572,7 +4572,7 @@ var many2oneFieldController = (props) => {
|
|
|
4572
4572
|
const [tempSelectedOption, setTempSelectedOption] = (0, import_react16.useState)(null);
|
|
4573
4573
|
const [domainModal, setDomainModal] = (0, import_react16.useState)(null);
|
|
4574
4574
|
const [domainObject, setDomainObject] = (0, import_react16.useState)(null);
|
|
4575
|
-
const actionData =
|
|
4575
|
+
const actionData = sessionStorageUtils3.getActionData();
|
|
4576
4576
|
const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
|
|
4577
4577
|
const initValue = methods?.getValues(name);
|
|
4578
4578
|
const optionsObject = (0, utils_exports.evalJSONContext)(fieldOptions) || {};
|
|
@@ -4729,18 +4729,18 @@ var many2oneFieldController = (props) => {
|
|
|
4729
4729
|
// src/widget/basic/many2one-button-field/controller.ts
|
|
4730
4730
|
var import_environment2 = require("@fctc/interface-logic/environment");
|
|
4731
4731
|
var import_hooks6 = require("@fctc/interface-logic/hooks");
|
|
4732
|
-
var
|
|
4732
|
+
var import_utils9 = require("@fctc/interface-logic/utils");
|
|
4733
4733
|
var many2oneButtonController = (props) => {
|
|
4734
4734
|
const { domain, methods, relation, service, xNode } = props;
|
|
4735
4735
|
const actionDataString = sessionStorage.getItem("actionData");
|
|
4736
4736
|
const env = (0, import_environment2.getEnv)();
|
|
4737
|
-
const domainObject = (0,
|
|
4737
|
+
const domainObject = (0, import_utils9.evalJSONDomain)(domain, methods?.getValues() || {});
|
|
4738
4738
|
const actionData = actionDataString && actionDataString !== "undefined" ? JSON.parse(actionDataString) : {};
|
|
4739
4739
|
const { data: dataOfSelection } = (0, import_hooks6.useGetSelection)({
|
|
4740
4740
|
data: {
|
|
4741
4741
|
model: relation ?? "",
|
|
4742
4742
|
domain: domainObject,
|
|
4743
|
-
context: { ...env.context, ...(0,
|
|
4743
|
+
context: { ...env.context, ...(0, import_utils9.evalJSONContext)(actionData?.context) }
|
|
4744
4744
|
},
|
|
4745
4745
|
queryKey: [`data_${relation}`, domainObject],
|
|
4746
4746
|
service,
|
|
@@ -4757,7 +4757,7 @@ var many2oneButtonController = (props) => {
|
|
|
4757
4757
|
|
|
4758
4758
|
// src/widget/basic/many2many-field/controller.ts
|
|
4759
4759
|
var import_react17 = require("react");
|
|
4760
|
-
var
|
|
4760
|
+
var import_utils10 = require("@fctc/interface-logic/utils");
|
|
4761
4761
|
var many2manyFieldController = (props) => {
|
|
4762
4762
|
const {
|
|
4763
4763
|
relation,
|
|
@@ -4788,7 +4788,7 @@ var many2manyFieldController = (props) => {
|
|
|
4788
4788
|
enabled: enabledCallAPI
|
|
4789
4789
|
});
|
|
4790
4790
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
4791
|
-
const optionsObject = (options && typeof options === "string" ? (0,
|
|
4791
|
+
const optionsObject = (options && typeof options === "string" ? (0, import_utils10.evalJSONContext)(options) : options) || {};
|
|
4792
4792
|
const {
|
|
4793
4793
|
data: dataResponse,
|
|
4794
4794
|
isFetched,
|
|
@@ -4880,7 +4880,7 @@ var many2manyFieldController = (props) => {
|
|
|
4880
4880
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
4881
4881
|
var import_react18 = require("react");
|
|
4882
4882
|
var import_constants2 = require("@fctc/interface-logic/constants");
|
|
4883
|
-
var
|
|
4883
|
+
var import_utils11 = require("@fctc/interface-logic/utils");
|
|
4884
4884
|
var many2manyTagsController = (props) => {
|
|
4885
4885
|
const {
|
|
4886
4886
|
relation,
|
|
@@ -4895,9 +4895,9 @@ var many2manyTagsController = (props) => {
|
|
|
4895
4895
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
4896
4896
|
const { env } = (0, provider_exports.useEnv)();
|
|
4897
4897
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
4898
|
-
const addtionalFields = optionsFields ? (0,
|
|
4898
|
+
const addtionalFields = optionsFields ? (0, import_utils11.evalJSONContext)(optionsFields) : null;
|
|
4899
4899
|
const domainObject = (0, import_react18.useMemo)(
|
|
4900
|
-
() => (0,
|
|
4900
|
+
() => (0, import_utils11.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
4901
4901
|
[domain]
|
|
4902
4902
|
);
|
|
4903
4903
|
const data = {
|
|
@@ -4941,7 +4941,7 @@ var many2manyTagsController = (props) => {
|
|
|
4941
4941
|
|
|
4942
4942
|
// src/widget/basic/status-bar-field/controller.ts
|
|
4943
4943
|
var import_react19 = require("react");
|
|
4944
|
-
var
|
|
4944
|
+
var import_utils12 = require("@fctc/interface-logic/utils");
|
|
4945
4945
|
var durationController = (props) => {
|
|
4946
4946
|
const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
|
|
4947
4947
|
const specification = {
|
|
@@ -4957,7 +4957,7 @@ var durationController = (props) => {
|
|
|
4957
4957
|
const listDataProps = {
|
|
4958
4958
|
model: relation,
|
|
4959
4959
|
specification,
|
|
4960
|
-
domain: (0,
|
|
4960
|
+
domain: (0, import_utils12.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
|
|
4961
4961
|
limit: 10,
|
|
4962
4962
|
offset: 0,
|
|
4963
4963
|
fields: "",
|
|
@@ -5007,10 +5007,10 @@ var durationController = (props) => {
|
|
|
5007
5007
|
};
|
|
5008
5008
|
|
|
5009
5009
|
// src/widget/basic/priority-field/controller.ts
|
|
5010
|
-
var
|
|
5010
|
+
var import_utils13 = require("@fctc/interface-logic/utils");
|
|
5011
5011
|
var priorityFieldController = (props) => {
|
|
5012
5012
|
const { name, model, index, actionData, context, onChange, specification } = props;
|
|
5013
|
-
const _context = { ...(0,
|
|
5013
|
+
const _context = { ...(0, import_utils13.evalJSONContext)(actionData?.context) };
|
|
5014
5014
|
const contextObject = { ...context, ..._context };
|
|
5015
5015
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
5016
5016
|
const { mutateAsync: fetchSave } = useSave3();
|
|
@@ -5978,12 +5978,12 @@ var dateFieldController = (props) => {
|
|
|
5978
5978
|
|
|
5979
5979
|
// src/widget/basic/copy-link-button/controller.ts
|
|
5980
5980
|
var import_react21 = require("react");
|
|
5981
|
-
var
|
|
5981
|
+
var import_utils14 = require("@fctc/interface-logic/utils");
|
|
5982
5982
|
var copyLinkButtonController = (props) => {
|
|
5983
5983
|
const { value, defaultValue } = props;
|
|
5984
5984
|
const [isCopied, setIsCopied] = (0, import_react21.useState)(false);
|
|
5985
5985
|
const handleCopyToClipboard = async (value2) => {
|
|
5986
|
-
await (0,
|
|
5986
|
+
await (0, import_utils14.copyTextToClipboard)(value2);
|
|
5987
5987
|
setIsCopied(true);
|
|
5988
5988
|
setTimeout(() => setIsCopied(false), 2e3);
|
|
5989
5989
|
};
|
|
@@ -5996,12 +5996,12 @@ var copyLinkButtonController = (props) => {
|
|
|
5996
5996
|
};
|
|
5997
5997
|
|
|
5998
5998
|
// src/widget/basic/color-field/color-controller.ts
|
|
5999
|
-
var
|
|
5999
|
+
var import_utils15 = require("@fctc/interface-logic/utils");
|
|
6000
6000
|
var colorFieldController = (props) => {
|
|
6001
6001
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6002
6002
|
const { env } = (0, provider_exports.useEnv)();
|
|
6003
6003
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6004
|
-
const _context = { ...(0,
|
|
6004
|
+
const _context = { ...(0, import_utils15.evalJSONContext)(actionData?.context) || {} };
|
|
6005
6005
|
const contextObject = { ...env.context, ..._context };
|
|
6006
6006
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6007
6007
|
const { mutate: onSave } = useSave3();
|
|
@@ -6030,7 +6030,7 @@ var colorFieldController = (props) => {
|
|
|
6030
6030
|
|
|
6031
6031
|
// src/widget/basic/binary-field/controller.ts
|
|
6032
6032
|
var import_react22 = require("react");
|
|
6033
|
-
var
|
|
6033
|
+
var import_utils16 = require("@fctc/interface-logic/utils");
|
|
6034
6034
|
var binaryFieldController = (props) => {
|
|
6035
6035
|
const { name, methods, readonly = false, value } = props;
|
|
6036
6036
|
const inputId = (0, import_react22.useId)();
|
|
@@ -6087,11 +6087,11 @@ var binaryFieldController = (props) => {
|
|
|
6087
6087
|
};
|
|
6088
6088
|
const checkIsImageLink = (url) => {
|
|
6089
6089
|
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
6090
|
-
return imageExtensions.test(url) || (0,
|
|
6090
|
+
return imageExtensions.test(url) || (0, import_utils16.isBase64Image)(url) || isBlobUrl(url);
|
|
6091
6091
|
};
|
|
6092
6092
|
const getImageBase64WithMimeType = (base64) => {
|
|
6093
6093
|
if (typeof base64 !== "string" || base64.length < 10) return null;
|
|
6094
|
-
if ((0,
|
|
6094
|
+
if ((0, import_utils16.isBase64Image)(base64)) return base64;
|
|
6095
6095
|
let mimeType = null;
|
|
6096
6096
|
if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
|
|
6097
6097
|
else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
|
|
@@ -6194,7 +6194,7 @@ var tableHeadController = (props) => {
|
|
|
6194
6194
|
|
|
6195
6195
|
// src/widget/advance/table/table-view/controller.ts
|
|
6196
6196
|
var import_react24 = require("react");
|
|
6197
|
-
var
|
|
6197
|
+
var import_utils18 = require("@fctc/interface-logic/utils");
|
|
6198
6198
|
var tableController = ({ data }) => {
|
|
6199
6199
|
const [rows, setRows] = (0, import_react24.useState)([]);
|
|
6200
6200
|
const [columnVisibility, setColumnVisibility] = (0, import_react24.useState)({});
|
|
@@ -6237,10 +6237,10 @@ var tableController = ({ data }) => {
|
|
|
6237
6237
|
const columns = (0, import_react24.useMemo)(() => {
|
|
6238
6238
|
try {
|
|
6239
6239
|
return mergeFields?.filter((item) => {
|
|
6240
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ?
|
|
6240
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils18.domainHelper.matchDomains(
|
|
6241
6241
|
data.context,
|
|
6242
6242
|
item?.column_invisible
|
|
6243
|
-
) : item?.invisible ?
|
|
6243
|
+
) : item?.invisible ? import_utils18.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6244
6244
|
})?.map((field) => {
|
|
6245
6245
|
const overridden = columnVisibility[field?.name];
|
|
6246
6246
|
return {
|
|
@@ -6405,7 +6405,7 @@ var tableGroupController = (props) => {
|
|
|
6405
6405
|
|
|
6406
6406
|
// src/widget/advance/search/controller.ts
|
|
6407
6407
|
var import_constants3 = require("@fctc/interface-logic/constants");
|
|
6408
|
-
var
|
|
6408
|
+
var import_utils20 = require("@fctc/interface-logic/utils");
|
|
6409
6409
|
var import_moment2 = __toESM(require_moment());
|
|
6410
6410
|
var import_react26 = require("react");
|
|
6411
6411
|
var searchController = ({
|
|
@@ -6422,9 +6422,9 @@ var searchController = ({
|
|
|
6422
6422
|
const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
|
|
6423
6423
|
const [searchString, setSearchString] = (0, import_react26.useState)("");
|
|
6424
6424
|
const [searchMap, setSearchMap] = (0, import_react26.useState)({});
|
|
6425
|
-
const actionContext = typeof context === "string" ? (0,
|
|
6425
|
+
const actionContext = typeof context === "string" ? (0, import_utils20.evalJSONContext)(context) : context;
|
|
6426
6426
|
const contextSearch = { ...env.context, ...actionContext };
|
|
6427
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0,
|
|
6427
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils20.evalJSONDomain)(domain, contextSearch) : [];
|
|
6428
6428
|
const clearSearch = () => {
|
|
6429
6429
|
setFilterBy([]);
|
|
6430
6430
|
setGroupBy([]);
|
|
@@ -6439,7 +6439,7 @@ var searchController = ({
|
|
|
6439
6439
|
const dataModel = viewData?.models?.[model];
|
|
6440
6440
|
const searchViews = viewData?.views?.search;
|
|
6441
6441
|
const searchByItems = searchViews?.search_by?.filter(
|
|
6442
|
-
(item) => !
|
|
6442
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item.invisible)
|
|
6443
6443
|
)?.map(
|
|
6444
6444
|
({ string, name, filter_domain, operator, widget }, index) => ({
|
|
6445
6445
|
dataIndex: index,
|
|
@@ -6452,10 +6452,10 @@ var searchController = ({
|
|
|
6452
6452
|
})
|
|
6453
6453
|
);
|
|
6454
6454
|
const filterByItems = searchViews?.filter_by.filter((item) => {
|
|
6455
|
-
return !
|
|
6455
|
+
return !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible);
|
|
6456
6456
|
})?.map((item) => ({ ...item, active: false }));
|
|
6457
6457
|
const groupByItems = searchViews?.group_by.filter(
|
|
6458
|
-
(item) => !
|
|
6458
|
+
(item) => !import_utils20.domainHelper.matchDomains(contextSearch, item?.invisible)
|
|
6459
6459
|
).map((item) => ({
|
|
6460
6460
|
...item,
|
|
6461
6461
|
string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
|
|
@@ -6532,14 +6532,14 @@ var searchController = ({
|
|
|
6532
6532
|
}
|
|
6533
6533
|
let valueDomainItem = value?.value;
|
|
6534
6534
|
if (value?.modelType === "date") {
|
|
6535
|
-
valueDomainItem = (0,
|
|
6535
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value);
|
|
6536
6536
|
} else if (value?.modelType === "datetime") {
|
|
6537
6537
|
if (value?.operator === "<=" || value?.operator === "<") {
|
|
6538
|
-
const parsedDate = (0,
|
|
6538
|
+
const parsedDate = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
6539
6539
|
const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
|
|
6540
6540
|
valueDomainItem = hasTime ? (0, import_moment2.default)(parsedDate).format("YYYY-MM-DD HH:mm:ss") : (0, import_moment2.default)(parsedDate).add(1, "day").subtract(1, "second").format("YYYY-MM-DD HH:mm:ss");
|
|
6541
6541
|
} else {
|
|
6542
|
-
valueDomainItem = (0,
|
|
6542
|
+
valueDomainItem = (0, import_utils20.validateAndParseDate)(value?.value, true);
|
|
6543
6543
|
}
|
|
6544
6544
|
}
|
|
6545
6545
|
const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
|
|
@@ -6618,7 +6618,7 @@ var searchController = ({
|
|
|
6618
6618
|
}, [searchMap]);
|
|
6619
6619
|
const handleAddTagSearch = (tag) => {
|
|
6620
6620
|
const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
|
|
6621
|
-
const domainFormat = new
|
|
6621
|
+
const domainFormat = new import_utils20.domainHelper.Domain(domain2);
|
|
6622
6622
|
if (type === import_constants3.SearchType.FILTER) {
|
|
6623
6623
|
addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
|
|
6624
6624
|
...tag,
|
package/dist/widget.mjs
CHANGED
|
@@ -4608,7 +4608,7 @@ import * as store_star from "@fctc/interface-logic/store";
|
|
|
4608
4608
|
// src/widget/basic/many2one-field/controller.ts
|
|
4609
4609
|
var many2oneFieldController = (props) => {
|
|
4610
4610
|
const {
|
|
4611
|
-
sessionStorageUtils,
|
|
4611
|
+
sessionStorageUtils: sessionStorageUtils3,
|
|
4612
4612
|
methods,
|
|
4613
4613
|
relation,
|
|
4614
4614
|
domain,
|
|
@@ -4630,7 +4630,7 @@ var many2oneFieldController = (props) => {
|
|
|
4630
4630
|
const [tempSelectedOption, setTempSelectedOption] = useState7(null);
|
|
4631
4631
|
const [domainModal, setDomainModal] = useState7(null);
|
|
4632
4632
|
const [domainObject, setDomainObject] = useState7(null);
|
|
4633
|
-
const actionData =
|
|
4633
|
+
const actionData = sessionStorageUtils3.getActionData();
|
|
4634
4634
|
const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
|
|
4635
4635
|
const initValue = methods?.getValues(name);
|
|
4636
4636
|
const optionsObject = (0, utils_exports.evalJSONContext)(fieldOptions) || {};
|
package/package.json
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fctc/widget-logic",
|
|
3
|
-
"version": "3.4.
|
|
4
|
-
"types": "dist/index.d.ts",
|
|
5
|
-
"main": "dist/index.cjs",
|
|
6
|
-
"module": "dist/index.mjs",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/index.d.ts",
|
|
10
|
-
"import": "./dist/index.mjs",
|
|
11
|
-
"require": "./dist/index.cjs"
|
|
12
|
-
},
|
|
13
|
-
"./hooks": {
|
|
14
|
-
"types": "./dist/hooks.d.ts",
|
|
15
|
-
"import": "./dist/hooks.mjs",
|
|
16
|
-
"require": "./dist/hooks.cjs"
|
|
17
|
-
},
|
|
18
|
-
"./widget": {
|
|
19
|
-
"types": "./dist/widget.d.ts",
|
|
20
|
-
"import": "./dist/widget.mjs",
|
|
21
|
-
"require": "./dist/widget.cjs"
|
|
22
|
-
},
|
|
23
|
-
"./icons": {
|
|
24
|
-
"types": "./dist/icons.d.ts",
|
|
25
|
-
"import": "./dist/icons.mjs",
|
|
26
|
-
"require": "./dist/icons.cjs"
|
|
27
|
-
},
|
|
28
|
-
"./utils": {
|
|
29
|
-
"types": "./dist/utils.d.ts",
|
|
30
|
-
"import": "./dist/utils.mjs",
|
|
31
|
-
"require": "./dist/utils.cjs"
|
|
32
|
-
},
|
|
33
|
-
"./store": {
|
|
34
|
-
"types": "./dist/store.d.ts",
|
|
35
|
-
"import": "./dist/store.mjs",
|
|
36
|
-
"require": "./dist/store.cjs"
|
|
37
|
-
},
|
|
38
|
-
"./config": {
|
|
39
|
-
"types": "./dist/config.d.ts",
|
|
40
|
-
"import": "./dist/config.mjs",
|
|
41
|
-
"require": "./dist/config.cjs"
|
|
42
|
-
},
|
|
43
|
-
"./constants": {
|
|
44
|
-
"types": "./dist/constants.d.ts",
|
|
45
|
-
"import": "./dist/constants.mjs",
|
|
46
|
-
"require": "./dist/constants.cjs"
|
|
47
|
-
},
|
|
48
|
-
"./environment": {
|
|
49
|
-
"types": "./dist/environment.d.ts",
|
|
50
|
-
"import": "./dist/environment.mjs",
|
|
51
|
-
"require": "./dist/environment.cjs"
|
|
52
|
-
},
|
|
53
|
-
"./provider": {
|
|
54
|
-
"types": "./dist/provider.d.ts",
|
|
55
|
-
"import": "./dist/provider.mjs",
|
|
56
|
-
"require": "./dist/provider.cjs"
|
|
57
|
-
},
|
|
58
|
-
"./services": {
|
|
59
|
-
"types": "./dist/services.d.ts",
|
|
60
|
-
"import": "./dist/services.mjs",
|
|
61
|
-
"require": "./dist/services.cjs"
|
|
62
|
-
},
|
|
63
|
-
"./types": {
|
|
64
|
-
"types": "./dist/types.d.ts",
|
|
65
|
-
"import": "./dist/types.mjs",
|
|
66
|
-
"require": "./dist/types.cjs"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
"files": [
|
|
70
|
-
"dist"
|
|
71
|
-
],
|
|
72
|
-
"scripts": {
|
|
73
|
-
"build": "tsup",
|
|
74
|
-
"test": "jest"
|
|
75
|
-
},
|
|
76
|
-
"dependencies": {
|
|
77
|
-
"@fctc/interface-logic": "^3.1.
|
|
78
|
-
"@headlessui/react": "^2.2.6",
|
|
79
|
-
"@tanstack/react-query": "^5.84.0",
|
|
80
|
-
"i18next": "^25.3.2",
|
|
81
|
-
"i18next-browser-languagedetector": "^8.2.0",
|
|
82
|
-
"react-i18next": "^15.6.1",
|
|
83
|
-
"react-tooltip": "^5.29.1"
|
|
84
|
-
},
|
|
85
|
-
"devDependencies": {
|
|
86
|
-
"@types/react": "^18.3.1",
|
|
87
|
-
"jest": "^29.7.0",
|
|
88
|
-
"react": "18.0.0",
|
|
89
|
-
"tsup": "^8.0.0",
|
|
90
|
-
"typescript": "^5.8.2"
|
|
91
|
-
},
|
|
92
|
-
"packageManager": "yarn@1.22.0",
|
|
93
|
-
"peerDependencies": {}
|
|
94
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@fctc/widget-logic",
|
|
3
|
+
"version": "3.4.9",
|
|
4
|
+
"types": "dist/index.d.ts",
|
|
5
|
+
"main": "dist/index.cjs",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.mjs",
|
|
11
|
+
"require": "./dist/index.cjs"
|
|
12
|
+
},
|
|
13
|
+
"./hooks": {
|
|
14
|
+
"types": "./dist/hooks.d.ts",
|
|
15
|
+
"import": "./dist/hooks.mjs",
|
|
16
|
+
"require": "./dist/hooks.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./widget": {
|
|
19
|
+
"types": "./dist/widget.d.ts",
|
|
20
|
+
"import": "./dist/widget.mjs",
|
|
21
|
+
"require": "./dist/widget.cjs"
|
|
22
|
+
},
|
|
23
|
+
"./icons": {
|
|
24
|
+
"types": "./dist/icons.d.ts",
|
|
25
|
+
"import": "./dist/icons.mjs",
|
|
26
|
+
"require": "./dist/icons.cjs"
|
|
27
|
+
},
|
|
28
|
+
"./utils": {
|
|
29
|
+
"types": "./dist/utils.d.ts",
|
|
30
|
+
"import": "./dist/utils.mjs",
|
|
31
|
+
"require": "./dist/utils.cjs"
|
|
32
|
+
},
|
|
33
|
+
"./store": {
|
|
34
|
+
"types": "./dist/store.d.ts",
|
|
35
|
+
"import": "./dist/store.mjs",
|
|
36
|
+
"require": "./dist/store.cjs"
|
|
37
|
+
},
|
|
38
|
+
"./config": {
|
|
39
|
+
"types": "./dist/config.d.ts",
|
|
40
|
+
"import": "./dist/config.mjs",
|
|
41
|
+
"require": "./dist/config.cjs"
|
|
42
|
+
},
|
|
43
|
+
"./constants": {
|
|
44
|
+
"types": "./dist/constants.d.ts",
|
|
45
|
+
"import": "./dist/constants.mjs",
|
|
46
|
+
"require": "./dist/constants.cjs"
|
|
47
|
+
},
|
|
48
|
+
"./environment": {
|
|
49
|
+
"types": "./dist/environment.d.ts",
|
|
50
|
+
"import": "./dist/environment.mjs",
|
|
51
|
+
"require": "./dist/environment.cjs"
|
|
52
|
+
},
|
|
53
|
+
"./provider": {
|
|
54
|
+
"types": "./dist/provider.d.ts",
|
|
55
|
+
"import": "./dist/provider.mjs",
|
|
56
|
+
"require": "./dist/provider.cjs"
|
|
57
|
+
},
|
|
58
|
+
"./services": {
|
|
59
|
+
"types": "./dist/services.d.ts",
|
|
60
|
+
"import": "./dist/services.mjs",
|
|
61
|
+
"require": "./dist/services.cjs"
|
|
62
|
+
},
|
|
63
|
+
"./types": {
|
|
64
|
+
"types": "./dist/types.d.ts",
|
|
65
|
+
"import": "./dist/types.mjs",
|
|
66
|
+
"require": "./dist/types.cjs"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"files": [
|
|
70
|
+
"dist"
|
|
71
|
+
],
|
|
72
|
+
"scripts": {
|
|
73
|
+
"build": "tsup",
|
|
74
|
+
"test": "jest"
|
|
75
|
+
},
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"@fctc/interface-logic": "^3.1.1",
|
|
78
|
+
"@headlessui/react": "^2.2.6",
|
|
79
|
+
"@tanstack/react-query": "^5.84.0",
|
|
80
|
+
"i18next": "^25.3.2",
|
|
81
|
+
"i18next-browser-languagedetector": "^8.2.0",
|
|
82
|
+
"react-i18next": "^15.6.1",
|
|
83
|
+
"react-tooltip": "^5.29.1"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@types/react": "^18.3.1",
|
|
87
|
+
"jest": "^29.7.0",
|
|
88
|
+
"react": "18.0.0",
|
|
89
|
+
"tsup": "^8.0.0",
|
|
90
|
+
"typescript": "^5.8.2"
|
|
91
|
+
},
|
|
92
|
+
"packageManager": "yarn@1.22.0",
|
|
93
|
+
"peerDependencies": {}
|
|
94
|
+
}
|