@fctc/widget-logic 3.4.7 → 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 CHANGED
@@ -1145,6 +1145,7 @@ interface UserInfo {
1145
1145
  username: string;
1146
1146
  website: boolean;
1147
1147
  zoneinfo: string;
1148
+ x_node: string;
1148
1149
  }
1149
1150
  interface Address {
1150
1151
  country: boolean;
package/dist/hooks.d.ts CHANGED
@@ -1145,6 +1145,7 @@ interface UserInfo {
1145
1145
  username: string;
1146
1146
  website: boolean;
1147
1147
  zoneinfo: string;
1148
+ x_node: string;
1148
1149
  }
1149
1150
  interface Address {
1150
1151
  country: boolean;
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("", service);
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(Number(current_company_id)),
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 && sessionStorageUtils()
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 import_utils5 = require("@fctc/interface-logic/utils");
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, import_utils5.evalJSONDomain)(action?.domain, context) : [];
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, import_utils5.formatSortingString)(viewData?.views?.list?.default_order) : "";
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, import_utils5.isObjectEmpty)(specification) && !!domain,
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("", service);
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(Number(current_company_id)),
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 && sessionStorageUtils()
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("", service);
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(Number(current_company_id)),
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 && sessionStorageUtils()
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 import_utils5 = require("@fctc/interface-logic/utils");
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, import_utils5.evalJSONDomain)(action?.domain, context) : [];
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, import_utils5.formatSortingString)(viewData?.views?.list?.default_order) : "";
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, import_utils5.isObjectEmpty)(specification) && !!domain,
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 = sessionStorageUtils.getActionData();
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 import_utils8 = require("@fctc/interface-logic/utils");
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, import_utils8.evalJSONDomain)(domain, methods?.getValues() || {});
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, import_utils8.evalJSONContext)(actionData?.context) }
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 import_utils9 = require("@fctc/interface-logic/utils");
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, import_utils9.evalJSONContext)(options) : options) || {};
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 import_utils10 = require("@fctc/interface-logic/utils");
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, import_utils10.evalJSONContext)(optionsFields) : null;
5666
+ const addtionalFields = optionsFields ? (0, import_utils11.evalJSONContext)(optionsFields) : null;
5662
5667
  const domainObject = (0, import_react18.useMemo)(
5663
- () => (0, import_utils10.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
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 import_utils11 = require("@fctc/interface-logic/utils");
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, import_utils11.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
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 import_utils12 = require("@fctc/interface-logic/utils");
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, import_utils12.evalJSONContext)(actionData?.context) };
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 import_utils13 = require("@fctc/interface-logic/utils");
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, import_utils13.copyTextToClipboard)(value2);
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 import_utils14 = require("@fctc/interface-logic/utils");
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, import_utils14.evalJSONContext)(actionData?.context) || {} };
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 import_utils15 = require("@fctc/interface-logic/utils");
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, import_utils15.isBase64Image)(url) || isBlobUrl(url);
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, import_utils15.isBase64Image)(base64)) return base64;
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 import_utils17 = require("@fctc/interface-logic/utils");
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 ? import_utils17.domainHelper.matchDomains(
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 ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
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 import_utils19 = require("@fctc/interface-logic/utils");
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, import_utils19.evalJSONContext)(context) : context;
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, import_utils19.evalJSONDomain)(domain, contextSearch) : [];
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) => !import_utils19.domainHelper.matchDomains(contextSearch, item.invisible)
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 !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible);
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) => !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible)
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, import_utils19.validateAndParseDate)(value?.value);
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, import_utils19.validateAndParseDate)(value?.value, true);
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, import_utils19.validateAndParseDate)(value?.value, true);
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 import_utils19.domainHelper.Domain(domain2);
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("", service);
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(Number(current_company_id)),
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 && sessionStorageUtils()
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 = sessionStorageUtils.getActionData();
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 import_utils5 = require("@fctc/interface-logic/utils");
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, import_utils5.evalJSONDomain)(action?.domain, context) : [];
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, import_utils5.formatSortingString)(viewData?.views?.list?.default_order) : "";
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, import_utils5.isObjectEmpty)(specification) && !!domain,
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 = sessionStorageUtils.getActionData();
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 import_utils8 = require("@fctc/interface-logic/utils");
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, import_utils8.evalJSONDomain)(domain, methods?.getValues() || {});
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, import_utils8.evalJSONContext)(actionData?.context) }
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 import_utils9 = require("@fctc/interface-logic/utils");
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, import_utils9.evalJSONContext)(options) : options) || {};
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 import_utils10 = require("@fctc/interface-logic/utils");
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, import_utils10.evalJSONContext)(optionsFields) : null;
4898
+ const addtionalFields = optionsFields ? (0, import_utils11.evalJSONContext)(optionsFields) : null;
4899
4899
  const domainObject = (0, import_react18.useMemo)(
4900
- () => (0, import_utils10.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
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 import_utils11 = require("@fctc/interface-logic/utils");
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, import_utils11.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
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 import_utils12 = require("@fctc/interface-logic/utils");
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, import_utils12.evalJSONContext)(actionData?.context) };
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 import_utils13 = require("@fctc/interface-logic/utils");
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, import_utils13.copyTextToClipboard)(value2);
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 import_utils14 = require("@fctc/interface-logic/utils");
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, import_utils14.evalJSONContext)(actionData?.context) || {} };
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 import_utils15 = require("@fctc/interface-logic/utils");
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, import_utils15.isBase64Image)(url) || isBlobUrl(url);
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, import_utils15.isBase64Image)(base64)) return base64;
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 import_utils17 = require("@fctc/interface-logic/utils");
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 ? import_utils17.domainHelper.matchDomains(
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 ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
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 import_utils19 = require("@fctc/interface-logic/utils");
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, import_utils19.evalJSONContext)(context) : context;
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, import_utils19.evalJSONDomain)(domain, contextSearch) : [];
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) => !import_utils19.domainHelper.matchDomains(contextSearch, item.invisible)
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 !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible);
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) => !import_utils19.domainHelper.matchDomains(contextSearch, item?.invisible)
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, import_utils19.validateAndParseDate)(value?.value);
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, import_utils19.validateAndParseDate)(value?.value, true);
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, import_utils19.validateAndParseDate)(value?.value, true);
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 import_utils19.domainHelper.Domain(domain2);
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 = sessionStorageUtils.getActionData();
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.7",
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.0.8",
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
+ }