@fctc/widget-logic 3.4.9 → 3.5.1
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.js +6 -8
- package/dist/hooks.mjs +2 -4
- package/dist/index.js +40 -42
- package/dist/index.mjs +4 -6
- package/dist/widget.js +38 -38
- package/dist/widget.mjs +2 -2
- package/package.json +2 -2
package/dist/hooks.js
CHANGED
|
@@ -583,12 +583,10 @@ var useCompany = ({ service }) => {
|
|
|
583
583
|
enabled: !!current_company_id
|
|
584
584
|
});
|
|
585
585
|
(0, import_react7.useEffect)(() => {
|
|
586
|
-
console.log("companyInfo", companyInfo.data);
|
|
587
586
|
if (companyInfo.data) {
|
|
588
587
|
const companyInfoData = companyInfo.data;
|
|
589
588
|
if (companyInfoData?.length) {
|
|
590
589
|
setDefaultCompany(companyInfoData[0]);
|
|
591
|
-
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
592
590
|
}
|
|
593
591
|
}
|
|
594
592
|
}, [companyInfo.data]);
|
|
@@ -680,7 +678,7 @@ var useConfig = ({
|
|
|
680
678
|
envConfig,
|
|
681
679
|
config,
|
|
682
680
|
localStorageUtils,
|
|
683
|
-
sessionStorageUtils:
|
|
681
|
+
sessionStorageUtils: sessionStorageUtils2
|
|
684
682
|
}) => {
|
|
685
683
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
686
684
|
(0, import_react9.useEffect)(() => {
|
|
@@ -690,7 +688,7 @@ var useConfig = ({
|
|
|
690
688
|
config: envConfig.config,
|
|
691
689
|
default_service: "",
|
|
692
690
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
693
|
-
sessionStorageUtils: localStorageUtils &&
|
|
691
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils2()
|
|
694
692
|
});
|
|
695
693
|
setEnvFile(config);
|
|
696
694
|
} catch (error) {
|
|
@@ -775,7 +773,7 @@ var useGetSpecification = ({
|
|
|
775
773
|
|
|
776
774
|
// src/hooks/core/use-list-data.ts
|
|
777
775
|
var import_react14 = require("react");
|
|
778
|
-
var
|
|
776
|
+
var import_utils5 = require("@fctc/interface-logic/utils");
|
|
779
777
|
|
|
780
778
|
// src/hooks/utils/use-click-outside.ts
|
|
781
779
|
var import_react11 = require("react");
|
|
@@ -916,12 +914,12 @@ var useListData = ({
|
|
|
916
914
|
if (!viewData || !action || !context) {
|
|
917
915
|
return null;
|
|
918
916
|
}
|
|
919
|
-
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0,
|
|
917
|
+
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0, import_utils5.evalJSONDomain)(action?.domain, context) : [];
|
|
920
918
|
const limit = pageLimit;
|
|
921
919
|
const offset = debouncedPage * pageLimit;
|
|
922
920
|
const fields = typeof groupByList === "object" ? groupByList?.fields : void 0;
|
|
923
921
|
const groupby = typeof groupByList === "object" ? [groupByList?.contexts?.[0]?.group_by] : [];
|
|
924
|
-
const sort = order ? order : viewData?.views?.list?.default_order ? (0,
|
|
922
|
+
const sort = order ? order : viewData?.views?.list?.default_order ? (0, import_utils5.formatSortingString)(viewData?.views?.list?.default_order) : "";
|
|
925
923
|
return {
|
|
926
924
|
model: action?.res_model,
|
|
927
925
|
specification,
|
|
@@ -943,7 +941,7 @@ var useListData = ({
|
|
|
943
941
|
listDataProps?.offset,
|
|
944
942
|
listDataProps?.sort
|
|
945
943
|
],
|
|
946
|
-
!!listDataProps && !!specification && !(0,
|
|
944
|
+
!!listDataProps && !!specification && !(0, import_utils5.isObjectEmpty)(specification) && !!domain,
|
|
947
945
|
service,
|
|
948
946
|
xNode
|
|
949
947
|
);
|
package/dist/hooks.mjs
CHANGED
|
@@ -564,12 +564,10 @@ var useCompany = ({ service }) => {
|
|
|
564
564
|
enabled: !!current_company_id
|
|
565
565
|
});
|
|
566
566
|
useEffect4(() => {
|
|
567
|
-
console.log("companyInfo", companyInfo.data);
|
|
568
567
|
if (companyInfo.data) {
|
|
569
568
|
const companyInfoData = companyInfo.data;
|
|
570
569
|
if (companyInfoData?.length) {
|
|
571
570
|
setDefaultCompany(companyInfoData[0]);
|
|
572
|
-
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
573
571
|
}
|
|
574
572
|
}
|
|
575
573
|
}, [companyInfo.data]);
|
|
@@ -661,7 +659,7 @@ var useConfig = ({
|
|
|
661
659
|
envConfig,
|
|
662
660
|
config,
|
|
663
661
|
localStorageUtils,
|
|
664
|
-
sessionStorageUtils:
|
|
662
|
+
sessionStorageUtils: sessionStorageUtils2
|
|
665
663
|
}) => {
|
|
666
664
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
667
665
|
useEffect5(() => {
|
|
@@ -671,7 +669,7 @@ var useConfig = ({
|
|
|
671
669
|
config: envConfig.config,
|
|
672
670
|
default_service: "",
|
|
673
671
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
674
|
-
sessionStorageUtils: localStorageUtils &&
|
|
672
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils2()
|
|
675
673
|
});
|
|
676
674
|
setEnvFile(config);
|
|
677
675
|
} catch (error) {
|
package/dist/index.js
CHANGED
|
@@ -4633,12 +4633,10 @@ var useCompany = ({ service }) => {
|
|
|
4633
4633
|
enabled: !!current_company_id
|
|
4634
4634
|
});
|
|
4635
4635
|
(0, import_react7.useEffect)(() => {
|
|
4636
|
-
console.log("companyInfo", companyInfo.data);
|
|
4637
4636
|
if (companyInfo.data) {
|
|
4638
4637
|
const companyInfoData = companyInfo.data;
|
|
4639
4638
|
if (companyInfoData?.length) {
|
|
4640
4639
|
setDefaultCompany(companyInfoData[0]);
|
|
4641
|
-
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
4642
4640
|
}
|
|
4643
4641
|
}
|
|
4644
4642
|
}, [companyInfo.data]);
|
|
@@ -4730,7 +4728,7 @@ var useConfig = ({
|
|
|
4730
4728
|
envConfig,
|
|
4731
4729
|
config,
|
|
4732
4730
|
localStorageUtils,
|
|
4733
|
-
sessionStorageUtils:
|
|
4731
|
+
sessionStorageUtils: sessionStorageUtils2
|
|
4734
4732
|
}) => {
|
|
4735
4733
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
4736
4734
|
(0, import_react9.useEffect)(() => {
|
|
@@ -4740,7 +4738,7 @@ var useConfig = ({
|
|
|
4740
4738
|
config: envConfig.config,
|
|
4741
4739
|
default_service: "",
|
|
4742
4740
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
4743
|
-
sessionStorageUtils: localStorageUtils &&
|
|
4741
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils2()
|
|
4744
4742
|
});
|
|
4745
4743
|
setEnvFile(config);
|
|
4746
4744
|
} catch (error) {
|
|
@@ -4825,7 +4823,7 @@ var useGetSpecification = ({
|
|
|
4825
4823
|
|
|
4826
4824
|
// src/hooks/core/use-list-data.ts
|
|
4827
4825
|
var import_react14 = require("react");
|
|
4828
|
-
var
|
|
4826
|
+
var import_utils5 = require("@fctc/interface-logic/utils");
|
|
4829
4827
|
|
|
4830
4828
|
// src/hooks/utils/use-click-outside.ts
|
|
4831
4829
|
var import_react11 = require("react");
|
|
@@ -4966,12 +4964,12 @@ var useListData = ({
|
|
|
4966
4964
|
if (!viewData || !action || !context) {
|
|
4967
4965
|
return null;
|
|
4968
4966
|
}
|
|
4969
|
-
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0,
|
|
4967
|
+
const domainParse = domain ? [...domain] : action?.domain ? Array.isArray(action?.domain) ? [...action?.domain] : (0, import_utils5.evalJSONDomain)(action?.domain, context) : [];
|
|
4970
4968
|
const limit = pageLimit;
|
|
4971
4969
|
const offset = debouncedPage * pageLimit;
|
|
4972
4970
|
const fields = typeof groupByList === "object" ? groupByList?.fields : void 0;
|
|
4973
4971
|
const groupby = typeof groupByList === "object" ? [groupByList?.contexts?.[0]?.group_by] : [];
|
|
4974
|
-
const sort = order ? order : viewData?.views?.list?.default_order ? (0,
|
|
4972
|
+
const sort = order ? order : viewData?.views?.list?.default_order ? (0, import_utils5.formatSortingString)(viewData?.views?.list?.default_order) : "";
|
|
4975
4973
|
return {
|
|
4976
4974
|
model: action?.res_model,
|
|
4977
4975
|
specification,
|
|
@@ -4993,7 +4991,7 @@ var useListData = ({
|
|
|
4993
4991
|
listDataProps?.offset,
|
|
4994
4992
|
listDataProps?.sort
|
|
4995
4993
|
],
|
|
4996
|
-
!!listDataProps && !!specification && !(0,
|
|
4994
|
+
!!listDataProps && !!specification && !(0, import_utils5.isObjectEmpty)(specification) && !!domain,
|
|
4997
4995
|
service,
|
|
4998
4996
|
xNode
|
|
4999
4997
|
);
|
|
@@ -5318,7 +5316,7 @@ __reExport(store_exports, require("@fctc/interface-logic/store"));
|
|
|
5318
5316
|
// src/widget/basic/many2one-field/controller.ts
|
|
5319
5317
|
var many2oneFieldController = (props) => {
|
|
5320
5318
|
const {
|
|
5321
|
-
sessionStorageUtils:
|
|
5319
|
+
sessionStorageUtils: sessionStorageUtils2,
|
|
5322
5320
|
methods,
|
|
5323
5321
|
relation,
|
|
5324
5322
|
domain,
|
|
@@ -5340,7 +5338,7 @@ var many2oneFieldController = (props) => {
|
|
|
5340
5338
|
const [tempSelectedOption, setTempSelectedOption] = (0, import_react16.useState)(null);
|
|
5341
5339
|
const [domainModal, setDomainModal] = (0, import_react16.useState)(null);
|
|
5342
5340
|
const [domainObject, setDomainObject] = (0, import_react16.useState)(null);
|
|
5343
|
-
const actionData =
|
|
5341
|
+
const actionData = sessionStorageUtils2.getActionData();
|
|
5344
5342
|
const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
|
|
5345
5343
|
const initValue = methods?.getValues(name);
|
|
5346
5344
|
const optionsObject = (0, utils_exports.evalJSONContext)(fieldOptions) || {};
|
|
@@ -5497,18 +5495,18 @@ var many2oneFieldController = (props) => {
|
|
|
5497
5495
|
// src/widget/basic/many2one-button-field/controller.ts
|
|
5498
5496
|
var import_environment2 = require("@fctc/interface-logic/environment");
|
|
5499
5497
|
var import_hooks6 = require("@fctc/interface-logic/hooks");
|
|
5500
|
-
var
|
|
5498
|
+
var import_utils8 = require("@fctc/interface-logic/utils");
|
|
5501
5499
|
var many2oneButtonController = (props) => {
|
|
5502
5500
|
const { domain, methods, relation, service, xNode } = props;
|
|
5503
5501
|
const actionDataString = sessionStorage.getItem("actionData");
|
|
5504
5502
|
const env = (0, import_environment2.getEnv)();
|
|
5505
|
-
const domainObject = (0,
|
|
5503
|
+
const domainObject = (0, import_utils8.evalJSONDomain)(domain, methods?.getValues() || {});
|
|
5506
5504
|
const actionData = actionDataString && actionDataString !== "undefined" ? JSON.parse(actionDataString) : {};
|
|
5507
5505
|
const { data: dataOfSelection } = (0, import_hooks6.useGetSelection)({
|
|
5508
5506
|
data: {
|
|
5509
5507
|
model: relation ?? "",
|
|
5510
5508
|
domain: domainObject,
|
|
5511
|
-
context: { ...env.context, ...(0,
|
|
5509
|
+
context: { ...env.context, ...(0, import_utils8.evalJSONContext)(actionData?.context) }
|
|
5512
5510
|
},
|
|
5513
5511
|
queryKey: [`data_${relation}`, domainObject],
|
|
5514
5512
|
service,
|
|
@@ -5525,7 +5523,7 @@ var many2oneButtonController = (props) => {
|
|
|
5525
5523
|
|
|
5526
5524
|
// src/widget/basic/many2many-field/controller.ts
|
|
5527
5525
|
var import_react17 = require("react");
|
|
5528
|
-
var
|
|
5526
|
+
var import_utils9 = require("@fctc/interface-logic/utils");
|
|
5529
5527
|
var many2manyFieldController = (props) => {
|
|
5530
5528
|
const {
|
|
5531
5529
|
relation,
|
|
@@ -5556,7 +5554,7 @@ var many2manyFieldController = (props) => {
|
|
|
5556
5554
|
enabled: enabledCallAPI
|
|
5557
5555
|
});
|
|
5558
5556
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5559
|
-
const optionsObject = (options && typeof options === "string" ? (0,
|
|
5557
|
+
const optionsObject = (options && typeof options === "string" ? (0, import_utils9.evalJSONContext)(options) : options) || {};
|
|
5560
5558
|
const {
|
|
5561
5559
|
data: dataResponse,
|
|
5562
5560
|
isFetched,
|
|
@@ -5648,7 +5646,7 @@ var many2manyFieldController = (props) => {
|
|
|
5648
5646
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5649
5647
|
var import_react18 = require("react");
|
|
5650
5648
|
var import_constants2 = require("@fctc/interface-logic/constants");
|
|
5651
|
-
var
|
|
5649
|
+
var import_utils10 = require("@fctc/interface-logic/utils");
|
|
5652
5650
|
var many2manyTagsController = (props) => {
|
|
5653
5651
|
const {
|
|
5654
5652
|
relation,
|
|
@@ -5663,9 +5661,9 @@ var many2manyTagsController = (props) => {
|
|
|
5663
5661
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
5664
5662
|
const { env } = (0, provider_exports.useEnv)();
|
|
5665
5663
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5666
|
-
const addtionalFields = optionsFields ? (0,
|
|
5664
|
+
const addtionalFields = optionsFields ? (0, import_utils10.evalJSONContext)(optionsFields) : null;
|
|
5667
5665
|
const domainObject = (0, import_react18.useMemo)(
|
|
5668
|
-
() => (0,
|
|
5666
|
+
() => (0, import_utils10.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5669
5667
|
[domain]
|
|
5670
5668
|
);
|
|
5671
5669
|
const data = {
|
|
@@ -5709,7 +5707,7 @@ var many2manyTagsController = (props) => {
|
|
|
5709
5707
|
|
|
5710
5708
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5711
5709
|
var import_react19 = require("react");
|
|
5712
|
-
var
|
|
5710
|
+
var import_utils11 = require("@fctc/interface-logic/utils");
|
|
5713
5711
|
var durationController = (props) => {
|
|
5714
5712
|
const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
|
|
5715
5713
|
const specification = {
|
|
@@ -5725,7 +5723,7 @@ var durationController = (props) => {
|
|
|
5725
5723
|
const listDataProps = {
|
|
5726
5724
|
model: relation,
|
|
5727
5725
|
specification,
|
|
5728
|
-
domain: (0,
|
|
5726
|
+
domain: (0, import_utils11.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5729
5727
|
limit: 10,
|
|
5730
5728
|
offset: 0,
|
|
5731
5729
|
fields: "",
|
|
@@ -5775,10 +5773,10 @@ var durationController = (props) => {
|
|
|
5775
5773
|
};
|
|
5776
5774
|
|
|
5777
5775
|
// src/widget/basic/priority-field/controller.ts
|
|
5778
|
-
var
|
|
5776
|
+
var import_utils12 = require("@fctc/interface-logic/utils");
|
|
5779
5777
|
var priorityFieldController = (props) => {
|
|
5780
5778
|
const { name, model, index, actionData, context, onChange, specification } = props;
|
|
5781
|
-
const _context = { ...(0,
|
|
5779
|
+
const _context = { ...(0, import_utils12.evalJSONContext)(actionData?.context) };
|
|
5782
5780
|
const contextObject = { ...context, ..._context };
|
|
5783
5781
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
5784
5782
|
const { mutateAsync: fetchSave } = useSave3();
|
|
@@ -6746,12 +6744,12 @@ var dateFieldController = (props) => {
|
|
|
6746
6744
|
|
|
6747
6745
|
// src/widget/basic/copy-link-button/controller.ts
|
|
6748
6746
|
var import_react21 = require("react");
|
|
6749
|
-
var
|
|
6747
|
+
var import_utils13 = require("@fctc/interface-logic/utils");
|
|
6750
6748
|
var copyLinkButtonController = (props) => {
|
|
6751
6749
|
const { value, defaultValue } = props;
|
|
6752
6750
|
const [isCopied, setIsCopied] = (0, import_react21.useState)(false);
|
|
6753
6751
|
const handleCopyToClipboard = async (value2) => {
|
|
6754
|
-
await (0,
|
|
6752
|
+
await (0, import_utils13.copyTextToClipboard)(value2);
|
|
6755
6753
|
setIsCopied(true);
|
|
6756
6754
|
setTimeout(() => setIsCopied(false), 2e3);
|
|
6757
6755
|
};
|
|
@@ -6764,12 +6762,12 @@ var copyLinkButtonController = (props) => {
|
|
|
6764
6762
|
};
|
|
6765
6763
|
|
|
6766
6764
|
// src/widget/basic/color-field/color-controller.ts
|
|
6767
|
-
var
|
|
6765
|
+
var import_utils14 = require("@fctc/interface-logic/utils");
|
|
6768
6766
|
var colorFieldController = (props) => {
|
|
6769
6767
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6770
6768
|
const { env } = (0, provider_exports.useEnv)();
|
|
6771
6769
|
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6772
|
-
const _context = { ...(0,
|
|
6770
|
+
const _context = { ...(0, import_utils14.evalJSONContext)(actionData?.context) || {} };
|
|
6773
6771
|
const contextObject = { ...env.context, ..._context };
|
|
6774
6772
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6775
6773
|
const { mutate: onSave } = useSave3();
|
|
@@ -6798,7 +6796,7 @@ var colorFieldController = (props) => {
|
|
|
6798
6796
|
|
|
6799
6797
|
// src/widget/basic/binary-field/controller.ts
|
|
6800
6798
|
var import_react22 = require("react");
|
|
6801
|
-
var
|
|
6799
|
+
var import_utils15 = require("@fctc/interface-logic/utils");
|
|
6802
6800
|
var binaryFieldController = (props) => {
|
|
6803
6801
|
const { name, methods, readonly = false, value } = props;
|
|
6804
6802
|
const inputId = (0, import_react22.useId)();
|
|
@@ -6855,11 +6853,11 @@ var binaryFieldController = (props) => {
|
|
|
6855
6853
|
};
|
|
6856
6854
|
const checkIsImageLink = (url) => {
|
|
6857
6855
|
const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
|
|
6858
|
-
return imageExtensions.test(url) || (0,
|
|
6856
|
+
return imageExtensions.test(url) || (0, import_utils15.isBase64Image)(url) || isBlobUrl(url);
|
|
6859
6857
|
};
|
|
6860
6858
|
const getImageBase64WithMimeType = (base64) => {
|
|
6861
6859
|
if (typeof base64 !== "string" || base64.length < 10) return null;
|
|
6862
|
-
if ((0,
|
|
6860
|
+
if ((0, import_utils15.isBase64Image)(base64)) return base64;
|
|
6863
6861
|
let mimeType = null;
|
|
6864
6862
|
if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
|
|
6865
6863
|
else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
|
|
@@ -6962,7 +6960,7 @@ var tableHeadController = (props) => {
|
|
|
6962
6960
|
|
|
6963
6961
|
// src/widget/advance/table/table-view/controller.ts
|
|
6964
6962
|
var import_react24 = require("react");
|
|
6965
|
-
var
|
|
6963
|
+
var import_utils17 = require("@fctc/interface-logic/utils");
|
|
6966
6964
|
var tableController = ({ data }) => {
|
|
6967
6965
|
const [rows, setRows] = (0, import_react24.useState)([]);
|
|
6968
6966
|
const [columnVisibility, setColumnVisibility] = (0, import_react24.useState)({});
|
|
@@ -7005,10 +7003,10 @@ var tableController = ({ data }) => {
|
|
|
7005
7003
|
const columns = (0, import_react24.useMemo)(() => {
|
|
7006
7004
|
try {
|
|
7007
7005
|
return mergeFields?.filter((item) => {
|
|
7008
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ?
|
|
7006
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils17.domainHelper.matchDomains(
|
|
7009
7007
|
data.context,
|
|
7010
7008
|
item?.column_invisible
|
|
7011
|
-
) : item?.invisible ?
|
|
7009
|
+
) : item?.invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
7012
7010
|
})?.map((field) => {
|
|
7013
7011
|
const overridden = columnVisibility[field?.name];
|
|
7014
7012
|
return {
|
|
@@ -7173,7 +7171,7 @@ var tableGroupController = (props) => {
|
|
|
7173
7171
|
|
|
7174
7172
|
// src/widget/advance/search/controller.ts
|
|
7175
7173
|
var import_constants3 = require("@fctc/interface-logic/constants");
|
|
7176
|
-
var
|
|
7174
|
+
var import_utils19 = require("@fctc/interface-logic/utils");
|
|
7177
7175
|
var import_moment2 = __toESM(require_moment());
|
|
7178
7176
|
var import_react26 = require("react");
|
|
7179
7177
|
var searchController = ({
|
|
@@ -7190,9 +7188,9 @@ var searchController = ({
|
|
|
7190
7188
|
const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
|
|
7191
7189
|
const [searchString, setSearchString] = (0, import_react26.useState)("");
|
|
7192
7190
|
const [searchMap, setSearchMap] = (0, import_react26.useState)({});
|
|
7193
|
-
const actionContext = typeof context === "string" ? (0,
|
|
7191
|
+
const actionContext = typeof context === "string" ? (0, import_utils19.evalJSONContext)(context) : context;
|
|
7194
7192
|
const contextSearch = { ...env.context, ...actionContext };
|
|
7195
|
-
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0,
|
|
7193
|
+
const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils19.evalJSONDomain)(domain, contextSearch) : [];
|
|
7196
7194
|
const clearSearch = () => {
|
|
7197
7195
|
setFilterBy([]);
|
|
7198
7196
|
setGroupBy([]);
|
|
@@ -7207,7 +7205,7 @@ var searchController = ({
|
|
|
7207
7205
|
const dataModel = viewData?.models?.[model];
|
|
7208
7206
|
const searchViews = viewData?.views?.search;
|
|
7209
7207
|
const searchByItems = searchViews?.search_by?.filter(
|
|
7210
|
-
(item) => !
|
|
7208
|
+
(item) => !import_utils19.domainHelper.matchDomains(contextSearch, item.invisible)
|
|
7211
7209
|
)?.map(
|
|
7212
7210
|
({ string, name, filter_domain, operator, widget }, index) => ({
|
|
7213
7211
|
dataIndex: index,
|
|
@@ -7220,10 +7218,10 @@ var searchController = ({
|
|
|
7220
7218
|
})
|
|
7221
7219
|
);
|
|
7222
7220
|
const filterByItems = searchViews?.filter_by.filter((item) => {
|
|
7223
|
-
return !
|
|
7221
|
+
return !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible);
|
|
7224
7222
|
})?.map((item) => ({ ...item, active: false }));
|
|
7225
7223
|
const groupByItems = searchViews?.group_by.filter(
|
|
7226
|
-
(item) => !
|
|
7224
|
+
(item) => !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible)
|
|
7227
7225
|
).map((item) => ({
|
|
7228
7226
|
...item,
|
|
7229
7227
|
string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
|
|
@@ -7300,14 +7298,14 @@ var searchController = ({
|
|
|
7300
7298
|
}
|
|
7301
7299
|
let valueDomainItem = value?.value;
|
|
7302
7300
|
if (value?.modelType === "date") {
|
|
7303
|
-
valueDomainItem = (0,
|
|
7301
|
+
valueDomainItem = (0, import_utils19.validateAndParseDate)(value?.value);
|
|
7304
7302
|
} else if (value?.modelType === "datetime") {
|
|
7305
7303
|
if (value?.operator === "<=" || value?.operator === "<") {
|
|
7306
|
-
const parsedDate = (0,
|
|
7304
|
+
const parsedDate = (0, import_utils19.validateAndParseDate)(value?.value, true);
|
|
7307
7305
|
const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
|
|
7308
7306
|
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");
|
|
7309
7307
|
} else {
|
|
7310
|
-
valueDomainItem = (0,
|
|
7308
|
+
valueDomainItem = (0, import_utils19.validateAndParseDate)(value?.value, true);
|
|
7311
7309
|
}
|
|
7312
7310
|
}
|
|
7313
7311
|
const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
|
|
@@ -7386,7 +7384,7 @@ var searchController = ({
|
|
|
7386
7384
|
}, [searchMap]);
|
|
7387
7385
|
const handleAddTagSearch = (tag) => {
|
|
7388
7386
|
const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
|
|
7389
|
-
const domainFormat = new
|
|
7387
|
+
const domainFormat = new import_utils19.domainHelper.Domain(domain2);
|
|
7390
7388
|
if (type === import_constants3.SearchType.FILTER) {
|
|
7391
7389
|
addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
|
|
7392
7390
|
...tag,
|
package/dist/index.mjs
CHANGED
|
@@ -4708,12 +4708,10 @@ var useCompany = ({ service }) => {
|
|
|
4708
4708
|
enabled: !!current_company_id
|
|
4709
4709
|
});
|
|
4710
4710
|
useEffect4(() => {
|
|
4711
|
-
console.log("companyInfo", companyInfo.data);
|
|
4712
4711
|
if (companyInfo.data) {
|
|
4713
4712
|
const companyInfoData = companyInfo.data;
|
|
4714
4713
|
if (companyInfoData?.length) {
|
|
4715
4714
|
setDefaultCompany(companyInfoData[0]);
|
|
4716
|
-
utils_exports.sessionStorageUtils.setXNode(companyInfoData.x_node);
|
|
4717
4715
|
}
|
|
4718
4716
|
}
|
|
4719
4717
|
}, [companyInfo.data]);
|
|
@@ -4805,7 +4803,7 @@ var useConfig = ({
|
|
|
4805
4803
|
envConfig,
|
|
4806
4804
|
config,
|
|
4807
4805
|
localStorageUtils,
|
|
4808
|
-
sessionStorageUtils:
|
|
4806
|
+
sessionStorageUtils: sessionStorageUtils2
|
|
4809
4807
|
}) => {
|
|
4810
4808
|
const { setupEnv, setEnvFile } = (0, provider_exports.useEnv)();
|
|
4811
4809
|
useEffect5(() => {
|
|
@@ -4815,7 +4813,7 @@ var useConfig = ({
|
|
|
4815
4813
|
config: envConfig.config,
|
|
4816
4814
|
default_service: "",
|
|
4817
4815
|
localStorageUtils: localStorageUtils && localStorageUtils(),
|
|
4818
|
-
sessionStorageUtils: localStorageUtils &&
|
|
4816
|
+
sessionStorageUtils: localStorageUtils && sessionStorageUtils2()
|
|
4819
4817
|
});
|
|
4820
4818
|
setEnvFile(config);
|
|
4821
4819
|
} catch (error) {
|
|
@@ -5399,7 +5397,7 @@ import * as store_star from "@fctc/interface-logic/store";
|
|
|
5399
5397
|
// src/widget/basic/many2one-field/controller.ts
|
|
5400
5398
|
var many2oneFieldController = (props) => {
|
|
5401
5399
|
const {
|
|
5402
|
-
sessionStorageUtils:
|
|
5400
|
+
sessionStorageUtils: sessionStorageUtils2,
|
|
5403
5401
|
methods,
|
|
5404
5402
|
relation,
|
|
5405
5403
|
domain,
|
|
@@ -5421,7 +5419,7 @@ var many2oneFieldController = (props) => {
|
|
|
5421
5419
|
const [tempSelectedOption, setTempSelectedOption] = useState7(null);
|
|
5422
5420
|
const [domainModal, setDomainModal] = useState7(null);
|
|
5423
5421
|
const [domainObject, setDomainObject] = useState7(null);
|
|
5424
|
-
const actionData =
|
|
5422
|
+
const actionData = sessionStorageUtils2.getActionData();
|
|
5425
5423
|
const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
|
|
5426
5424
|
const initValue = methods?.getValues(name);
|
|
5427
5425
|
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_utils5 = 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_utils5.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_utils5.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_utils5.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: sessionStorageUtils2,
|
|
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 = sessionStorageUtils2.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_utils8 = 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_utils8.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_utils8.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_utils9 = 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_utils9.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_utils10 = 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_utils10.evalJSONContext)(optionsFields) : null;
|
|
4899
4899
|
const domainObject = (0, import_react18.useMemo)(
|
|
4900
|
-
() => (0,
|
|
4900
|
+
() => (0, import_utils10.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_utils11 = 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_utils11.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_utils12 = 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_utils12.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_utils13 = 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_utils13.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_utils14 = 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_utils14.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_utils15 = 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_utils15.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_utils15.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_utils17 = 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_utils17.domainHelper.matchDomains(
|
|
6241
6241
|
data.context,
|
|
6242
6242
|
item?.column_invisible
|
|
6243
|
-
) : item?.invisible ?
|
|
6243
|
+
) : item?.invisible ? import_utils17.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_utils19 = 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_utils19.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_utils19.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_utils19.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_utils19.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_utils19.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_utils19.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_utils19.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_utils19.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_utils19.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: sessionStorageUtils2,
|
|
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 = sessionStorageUtils2.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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fctc/widget-logic",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.1",
|
|
4
4
|
"types": "dist/index.d.ts",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"test": "jest"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@fctc/interface-logic": "^3.1.
|
|
77
|
+
"@fctc/interface-logic": "^3.1.6",
|
|
78
78
|
"@headlessui/react": "^2.2.6",
|
|
79
79
|
"@tanstack/react-query": "^5.84.0",
|
|
80
80
|
"i18next": "^25.3.2",
|