@fctc/widget-logic 4.9.9 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -5667,26 +5667,35 @@ var many2manyFieldController = (props) => {
5667
5667
  const { user } = useAppProvider();
5668
5668
  const { useGetView: useGetView2 } = (0, provider_exports.useService)();
5669
5669
  const dataUser = user?.userProfile?.data;
5670
- const contextObject = {
5671
- ...env.context,
5672
- ...context || {}
5673
- };
5674
- const viewParams = {
5675
- model: relation,
5676
- views: [
5677
- [false, "list"],
5678
- [false, "search"]
5679
- ],
5680
- context: contextObject,
5681
- service,
5682
- xNode: service == "wesap" && dataUser?.x_node
5683
- };
5670
+ const contextObject = (0, import_react17.useMemo)(
5671
+ () => ({
5672
+ ...env.context,
5673
+ ...context || {}
5674
+ }),
5675
+ [env?.context, context]
5676
+ );
5677
+ const viewParams = (0, import_react17.useMemo)(
5678
+ () => ({
5679
+ model: relation,
5680
+ views: [
5681
+ [false, "list"],
5682
+ [false, "search"]
5683
+ ],
5684
+ context: contextObject,
5685
+ service,
5686
+ xNode: service == "wesap" && dataUser?.x_node
5687
+ }),
5688
+ [relation, contextObject, service, dataUser?.x_node]
5689
+ );
5684
5690
  const { data: viewResponse } = useGetView2({
5685
5691
  viewParams,
5686
5692
  enabled: enabledCallAPI
5687
5693
  });
5688
5694
  const default_order = viewResponse && viewResponse?.views?.list?.default_order;
5689
- const optionsObject = (options && typeof options === "string" ? (0, import_utils9.evalJSONContext)(options) : options) || {};
5695
+ const optionsObject = (0, import_react17.useMemo)(
5696
+ () => (options && typeof options === "string" ? (0, import_utils9.evalJSONContext)(options) : options) || {},
5697
+ [options]
5698
+ );
5690
5699
  const {
5691
5700
  data: dataResponse,
5692
5701
  isFetched,
@@ -5799,7 +5808,6 @@ var many2manyTagsController = (props) => {
5799
5808
  const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
5800
5809
  const [options, setOptions] = (0, import_react18.useState)([]);
5801
5810
  const [inputValue, setInputValue] = (0, import_react18.useState)("");
5802
- const [debouncedInputValue] = useDebounce(inputValue, 1e3);
5803
5811
  const [domainObject, setDomainObject] = (0, import_react18.useState)(null);
5804
5812
  const [isShowModalMany2Many, setIsShowModalMany2Many] = (0, import_react18.useState)(false);
5805
5813
  const addtionalFields = optionsFields ? (0, import_utils10.evalJSONContext)(optionsFields) : null;
package/dist/index.mjs CHANGED
@@ -5747,7 +5747,7 @@ var many2oneButtonController = (props) => {
5747
5747
  };
5748
5748
 
5749
5749
  // src/widget/basic/many2many-field/controller.ts
5750
- import { useEffect as useEffect11 } from "react";
5750
+ import { useEffect as useEffect11, useMemo as useMemo8 } from "react";
5751
5751
  import { evalJSONContext as evalJSONContext4 } from "@fctc/interface-logic/utils";
5752
5752
  var many2manyFieldController = (props) => {
5753
5753
  const {
@@ -5762,26 +5762,35 @@ var many2manyFieldController = (props) => {
5762
5762
  const { user } = useAppProvider();
5763
5763
  const { useGetView: useGetView2 } = (0, provider_exports.useService)();
5764
5764
  const dataUser = user?.userProfile?.data;
5765
- const contextObject = {
5766
- ...env.context,
5767
- ...context || {}
5768
- };
5769
- const viewParams = {
5770
- model: relation,
5771
- views: [
5772
- [false, "list"],
5773
- [false, "search"]
5774
- ],
5775
- context: contextObject,
5776
- service,
5777
- xNode: service == "wesap" && dataUser?.x_node
5778
- };
5765
+ const contextObject = useMemo8(
5766
+ () => ({
5767
+ ...env.context,
5768
+ ...context || {}
5769
+ }),
5770
+ [env?.context, context]
5771
+ );
5772
+ const viewParams = useMemo8(
5773
+ () => ({
5774
+ model: relation,
5775
+ views: [
5776
+ [false, "list"],
5777
+ [false, "search"]
5778
+ ],
5779
+ context: contextObject,
5780
+ service,
5781
+ xNode: service == "wesap" && dataUser?.x_node
5782
+ }),
5783
+ [relation, contextObject, service, dataUser?.x_node]
5784
+ );
5779
5785
  const { data: viewResponse } = useGetView2({
5780
5786
  viewParams,
5781
5787
  enabled: enabledCallAPI
5782
5788
  });
5783
5789
  const default_order = viewResponse && viewResponse?.views?.list?.default_order;
5784
- const optionsObject = (options && typeof options === "string" ? evalJSONContext4(options) : options) || {};
5790
+ const optionsObject = useMemo8(
5791
+ () => (options && typeof options === "string" ? evalJSONContext4(options) : options) || {},
5792
+ [options]
5793
+ );
5785
5794
  const {
5786
5795
  data: dataResponse,
5787
5796
  isFetched,
@@ -5871,7 +5880,7 @@ var many2manyFieldController = (props) => {
5871
5880
  };
5872
5881
 
5873
5882
  // src/widget/basic/many2many-tags-field/controller.ts
5874
- import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo8, useState as useState8 } from "react";
5883
+ import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo9, useState as useState8 } from "react";
5875
5884
  import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
5876
5885
  import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
5877
5886
  var many2manyTagsController = (props) => {
@@ -5894,7 +5903,6 @@ var many2manyTagsController = (props) => {
5894
5903
  const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
5895
5904
  const [options, setOptions] = useState8([]);
5896
5905
  const [inputValue, setInputValue] = useState8("");
5897
- const [debouncedInputValue] = useDebounce(inputValue, 1e3);
5898
5906
  const [domainObject, setDomainObject] = useState8(null);
5899
5907
  const [isShowModalMany2Many, setIsShowModalMany2Many] = useState8(false);
5900
5908
  const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
@@ -5903,7 +5911,7 @@ var many2manyTagsController = (props) => {
5903
5911
  ...fieldContext ?? {},
5904
5912
  ...env?.context
5905
5913
  };
5906
- const parsedFormValues = useMemo8(
5914
+ const parsedFormValues = useMemo9(
5907
5915
  () => JSON.parse(
5908
5916
  JSON.stringify({
5909
5917
  ...formValues,
@@ -5944,7 +5952,7 @@ var many2manyTagsController = (props) => {
5944
5952
  xNode,
5945
5953
  enabled: false
5946
5954
  });
5947
- const selectOptions = useMemo8(() => {
5955
+ const selectOptions = useMemo9(() => {
5948
5956
  return dataOfSelection?.records?.map((val) => ({
5949
5957
  value: val.id,
5950
5958
  label: val.name ?? val.display_name,
@@ -6430,7 +6438,7 @@ var binaryFieldController = (props) => {
6430
6438
  };
6431
6439
 
6432
6440
  // src/widget/advance/table/table-head/controller.ts
6433
- import { useMemo as useMemo9, useRef as useRef4 } from "react";
6441
+ import { useMemo as useMemo10, useRef as useRef4 } from "react";
6434
6442
  var tableHeadController = (props) => {
6435
6443
  const {
6436
6444
  typeTable,
@@ -6443,19 +6451,19 @@ var tableHeadController = (props) => {
6443
6451
  const { rowIds: recordIds } = useGetRowIds(tableRef);
6444
6452
  const selectedRowKeysRef = useRef4(recordIds);
6445
6453
  const isGroupTable = typeTable === "group";
6446
- const recordsCheckedGroup = useMemo9(() => {
6454
+ const recordsCheckedGroup = useMemo10(() => {
6447
6455
  if (!rows || !groupByList) return 0;
6448
6456
  const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
6449
6457
  return countSum(rows, groupBy);
6450
6458
  }, [rows, groupByList]);
6451
- const isAllGroupChecked = useMemo9(() => {
6459
+ const isAllGroupChecked = useMemo10(() => {
6452
6460
  if (!isGroupTable || !selectedRowKeys?.length) return false;
6453
6461
  const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
6454
6462
  const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
6455
6463
  const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
6456
6464
  return allGroupsSelected || allRecordsSelected;
6457
6465
  }, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
6458
- const isAllNormalChecked = useMemo9(() => {
6466
+ const isAllNormalChecked = useMemo10(() => {
6459
6467
  if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
6460
6468
  return selectedRowKeys.length === rows.length && selectedRowKeys.every(
6461
6469
  (id) => rows.some((record) => record.id === id)
@@ -6496,19 +6504,19 @@ var tableHeadController = (props) => {
6496
6504
  };
6497
6505
 
6498
6506
  // src/widget/advance/table/table-view/controller.ts
6499
- import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo10, useState as useState13 } from "react";
6507
+ import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
6500
6508
  import { domainHelper } from "@fctc/interface-logic/utils";
6501
6509
  var tableController = ({ data }) => {
6502
6510
  const [rows, setRows] = useState13([]);
6503
6511
  const [columnVisibility, setColumnVisibility] = useState13({});
6504
- const dataModelFields = useMemo10(() => {
6512
+ const dataModelFields = useMemo11(() => {
6505
6513
  return data?.fields?.map((field) => ({
6506
6514
  ...data.dataModel?.[field?.name],
6507
6515
  ...field,
6508
6516
  string: field?.string || data.dataModel?.[field?.name]?.string
6509
6517
  })) ?? [];
6510
6518
  }, [data?.fields, data?.dataModel]);
6511
- const mergeFields = useMemo10(
6519
+ const mergeFields = useMemo11(
6512
6520
  () => mergeButtons(dataModelFields),
6513
6521
  [dataModelFields]
6514
6522
  );
@@ -6537,7 +6545,7 @@ var tableController = ({ data }) => {
6537
6545
  useEffect14(() => {
6538
6546
  setRows(transformData(data?.records));
6539
6547
  }, [data?.records, transformData]);
6540
- const columns = useMemo10(() => {
6548
+ const columns = useMemo11(() => {
6541
6549
  try {
6542
6550
  return mergeFields?.filter((item) => {
6543
6551
  return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
@@ -6573,7 +6581,7 @@ var tableController = ({ data }) => {
6573
6581
  };
6574
6582
 
6575
6583
  // src/widget/advance/table/table-group/controller.ts
6576
- import { useEffect as useEffect15, useMemo as useMemo11, useState as useState14 } from "react";
6584
+ import { useEffect as useEffect15, useMemo as useMemo12, useState as useState14 } from "react";
6577
6585
  import { useAppSelector, selectList } from "@fctc/interface-logic/store";
6578
6586
  var tableGroupController = (props) => {
6579
6587
  const { env } = (0, provider_exports.useEnv)();
@@ -6598,7 +6606,7 @@ var tableGroupController = (props) => {
6598
6606
  fromEnd: 1
6599
6607
  });
6600
6608
  const domain = row?.__domain;
6601
- const processedData = useMemo11(() => {
6609
+ const processedData = useMemo12(() => {
6602
6610
  const calculateColSpanEmpty = () => {
6603
6611
  const startIndex = columns.findIndex(
6604
6612
  (col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
@@ -6613,7 +6621,7 @@ var tableGroupController = (props) => {
6613
6621
  };
6614
6622
  return calculateColSpanEmpty();
6615
6623
  }, [columns, row]);
6616
- const shouldFetchData = useMemo11(() => {
6624
+ const shouldFetchData = useMemo12(() => {
6617
6625
  return !!isShowGroup;
6618
6626
  }, [isShowGroup]);
6619
6627
  const enabled = shouldFetchData && !!processedData;
package/dist/widget.js CHANGED
@@ -4905,26 +4905,35 @@ var many2manyFieldController = (props) => {
4905
4905
  const { user } = useAppProvider();
4906
4906
  const { useGetView: useGetView2 } = (0, provider_exports.useService)();
4907
4907
  const dataUser = user?.userProfile?.data;
4908
- const contextObject = {
4909
- ...env.context,
4910
- ...context || {}
4911
- };
4912
- const viewParams = {
4913
- model: relation,
4914
- views: [
4915
- [false, "list"],
4916
- [false, "search"]
4917
- ],
4918
- context: contextObject,
4919
- service,
4920
- xNode: service == "wesap" && dataUser?.x_node
4921
- };
4908
+ const contextObject = (0, import_react17.useMemo)(
4909
+ () => ({
4910
+ ...env.context,
4911
+ ...context || {}
4912
+ }),
4913
+ [env?.context, context]
4914
+ );
4915
+ const viewParams = (0, import_react17.useMemo)(
4916
+ () => ({
4917
+ model: relation,
4918
+ views: [
4919
+ [false, "list"],
4920
+ [false, "search"]
4921
+ ],
4922
+ context: contextObject,
4923
+ service,
4924
+ xNode: service == "wesap" && dataUser?.x_node
4925
+ }),
4926
+ [relation, contextObject, service, dataUser?.x_node]
4927
+ );
4922
4928
  const { data: viewResponse } = useGetView2({
4923
4929
  viewParams,
4924
4930
  enabled: enabledCallAPI
4925
4931
  });
4926
4932
  const default_order = viewResponse && viewResponse?.views?.list?.default_order;
4927
- const optionsObject = (options && typeof options === "string" ? (0, import_utils9.evalJSONContext)(options) : options) || {};
4933
+ const optionsObject = (0, import_react17.useMemo)(
4934
+ () => (options && typeof options === "string" ? (0, import_utils9.evalJSONContext)(options) : options) || {},
4935
+ [options]
4936
+ );
4928
4937
  const {
4929
4938
  data: dataResponse,
4930
4939
  isFetched,
@@ -5037,7 +5046,6 @@ var many2manyTagsController = (props) => {
5037
5046
  const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
5038
5047
  const [options, setOptions] = (0, import_react18.useState)([]);
5039
5048
  const [inputValue, setInputValue] = (0, import_react18.useState)("");
5040
- const [debouncedInputValue] = useDebounce(inputValue, 1e3);
5041
5049
  const [domainObject, setDomainObject] = (0, import_react18.useState)(null);
5042
5050
  const [isShowModalMany2Many, setIsShowModalMany2Many] = (0, import_react18.useState)(false);
5043
5051
  const addtionalFields = optionsFields ? (0, import_utils10.evalJSONContext)(optionsFields) : null;
package/dist/widget.mjs CHANGED
@@ -4962,7 +4962,7 @@ var many2oneButtonController = (props) => {
4962
4962
  };
4963
4963
 
4964
4964
  // src/widget/basic/many2many-field/controller.ts
4965
- import { useEffect as useEffect11 } from "react";
4965
+ import { useEffect as useEffect11, useMemo as useMemo8 } from "react";
4966
4966
  import { evalJSONContext as evalJSONContext4 } from "@fctc/interface-logic/utils";
4967
4967
  var many2manyFieldController = (props) => {
4968
4968
  const {
@@ -4977,26 +4977,35 @@ var many2manyFieldController = (props) => {
4977
4977
  const { user } = useAppProvider();
4978
4978
  const { useGetView: useGetView2 } = (0, provider_exports.useService)();
4979
4979
  const dataUser = user?.userProfile?.data;
4980
- const contextObject = {
4981
- ...env.context,
4982
- ...context || {}
4983
- };
4984
- const viewParams = {
4985
- model: relation,
4986
- views: [
4987
- [false, "list"],
4988
- [false, "search"]
4989
- ],
4990
- context: contextObject,
4991
- service,
4992
- xNode: service == "wesap" && dataUser?.x_node
4993
- };
4980
+ const contextObject = useMemo8(
4981
+ () => ({
4982
+ ...env.context,
4983
+ ...context || {}
4984
+ }),
4985
+ [env?.context, context]
4986
+ );
4987
+ const viewParams = useMemo8(
4988
+ () => ({
4989
+ model: relation,
4990
+ views: [
4991
+ [false, "list"],
4992
+ [false, "search"]
4993
+ ],
4994
+ context: contextObject,
4995
+ service,
4996
+ xNode: service == "wesap" && dataUser?.x_node
4997
+ }),
4998
+ [relation, contextObject, service, dataUser?.x_node]
4999
+ );
4994
5000
  const { data: viewResponse } = useGetView2({
4995
5001
  viewParams,
4996
5002
  enabled: enabledCallAPI
4997
5003
  });
4998
5004
  const default_order = viewResponse && viewResponse?.views?.list?.default_order;
4999
- const optionsObject = (options && typeof options === "string" ? evalJSONContext4(options) : options) || {};
5005
+ const optionsObject = useMemo8(
5006
+ () => (options && typeof options === "string" ? evalJSONContext4(options) : options) || {},
5007
+ [options]
5008
+ );
5000
5009
  const {
5001
5010
  data: dataResponse,
5002
5011
  isFetched,
@@ -5086,7 +5095,7 @@ var many2manyFieldController = (props) => {
5086
5095
  };
5087
5096
 
5088
5097
  // src/widget/basic/many2many-tags-field/controller.ts
5089
- import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo8, useState as useState8 } from "react";
5098
+ import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo9, useState as useState8 } from "react";
5090
5099
  import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
5091
5100
  import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
5092
5101
  var many2manyTagsController = (props) => {
@@ -5109,7 +5118,6 @@ var many2manyTagsController = (props) => {
5109
5118
  const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
5110
5119
  const [options, setOptions] = useState8([]);
5111
5120
  const [inputValue, setInputValue] = useState8("");
5112
- const [debouncedInputValue] = useDebounce(inputValue, 1e3);
5113
5121
  const [domainObject, setDomainObject] = useState8(null);
5114
5122
  const [isShowModalMany2Many, setIsShowModalMany2Many] = useState8(false);
5115
5123
  const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
@@ -5118,7 +5126,7 @@ var many2manyTagsController = (props) => {
5118
5126
  ...fieldContext ?? {},
5119
5127
  ...env?.context
5120
5128
  };
5121
- const parsedFormValues = useMemo8(
5129
+ const parsedFormValues = useMemo9(
5122
5130
  () => JSON.parse(
5123
5131
  JSON.stringify({
5124
5132
  ...formValues,
@@ -5159,7 +5167,7 @@ var many2manyTagsController = (props) => {
5159
5167
  xNode,
5160
5168
  enabled: false
5161
5169
  });
5162
- const selectOptions = useMemo8(() => {
5170
+ const selectOptions = useMemo9(() => {
5163
5171
  return dataOfSelection?.records?.map((val) => ({
5164
5172
  value: val.id,
5165
5173
  label: val.name ?? val.display_name,
@@ -5645,7 +5653,7 @@ var binaryFieldController = (props) => {
5645
5653
  };
5646
5654
 
5647
5655
  // src/widget/advance/table/table-head/controller.ts
5648
- import { useMemo as useMemo9, useRef as useRef4 } from "react";
5656
+ import { useMemo as useMemo10, useRef as useRef4 } from "react";
5649
5657
  var tableHeadController = (props) => {
5650
5658
  const {
5651
5659
  typeTable,
@@ -5658,19 +5666,19 @@ var tableHeadController = (props) => {
5658
5666
  const { rowIds: recordIds } = useGetRowIds(tableRef);
5659
5667
  const selectedRowKeysRef = useRef4(recordIds);
5660
5668
  const isGroupTable = typeTable === "group";
5661
- const recordsCheckedGroup = useMemo9(() => {
5669
+ const recordsCheckedGroup = useMemo10(() => {
5662
5670
  if (!rows || !groupByList) return 0;
5663
5671
  const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
5664
5672
  return countSum(rows, groupBy);
5665
5673
  }, [rows, groupByList]);
5666
- const isAllGroupChecked = useMemo9(() => {
5674
+ const isAllGroupChecked = useMemo10(() => {
5667
5675
  if (!isGroupTable || !selectedRowKeys?.length) return false;
5668
5676
  const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
5669
5677
  const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
5670
5678
  const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
5671
5679
  return allGroupsSelected || allRecordsSelected;
5672
5680
  }, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
5673
- const isAllNormalChecked = useMemo9(() => {
5681
+ const isAllNormalChecked = useMemo10(() => {
5674
5682
  if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
5675
5683
  return selectedRowKeys.length === rows.length && selectedRowKeys.every(
5676
5684
  (id) => rows.some((record) => record.id === id)
@@ -5711,19 +5719,19 @@ var tableHeadController = (props) => {
5711
5719
  };
5712
5720
 
5713
5721
  // src/widget/advance/table/table-view/controller.ts
5714
- import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo10, useState as useState13 } from "react";
5722
+ import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
5715
5723
  import { domainHelper } from "@fctc/interface-logic/utils";
5716
5724
  var tableController = ({ data }) => {
5717
5725
  const [rows, setRows] = useState13([]);
5718
5726
  const [columnVisibility, setColumnVisibility] = useState13({});
5719
- const dataModelFields = useMemo10(() => {
5727
+ const dataModelFields = useMemo11(() => {
5720
5728
  return data?.fields?.map((field) => ({
5721
5729
  ...data.dataModel?.[field?.name],
5722
5730
  ...field,
5723
5731
  string: field?.string || data.dataModel?.[field?.name]?.string
5724
5732
  })) ?? [];
5725
5733
  }, [data?.fields, data?.dataModel]);
5726
- const mergeFields = useMemo10(
5734
+ const mergeFields = useMemo11(
5727
5735
  () => mergeButtons(dataModelFields),
5728
5736
  [dataModelFields]
5729
5737
  );
@@ -5752,7 +5760,7 @@ var tableController = ({ data }) => {
5752
5760
  useEffect14(() => {
5753
5761
  setRows(transformData(data?.records));
5754
5762
  }, [data?.records, transformData]);
5755
- const columns = useMemo10(() => {
5763
+ const columns = useMemo11(() => {
5756
5764
  try {
5757
5765
  return mergeFields?.filter((item) => {
5758
5766
  return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
@@ -5788,7 +5796,7 @@ var tableController = ({ data }) => {
5788
5796
  };
5789
5797
 
5790
5798
  // src/widget/advance/table/table-group/controller.ts
5791
- import { useEffect as useEffect15, useMemo as useMemo11, useState as useState14 } from "react";
5799
+ import { useEffect as useEffect15, useMemo as useMemo12, useState as useState14 } from "react";
5792
5800
  import { useAppSelector, selectList } from "@fctc/interface-logic/store";
5793
5801
  var tableGroupController = (props) => {
5794
5802
  const { env } = (0, provider_exports.useEnv)();
@@ -5813,7 +5821,7 @@ var tableGroupController = (props) => {
5813
5821
  fromEnd: 1
5814
5822
  });
5815
5823
  const domain = row?.__domain;
5816
- const processedData = useMemo11(() => {
5824
+ const processedData = useMemo12(() => {
5817
5825
  const calculateColSpanEmpty = () => {
5818
5826
  const startIndex = columns.findIndex(
5819
5827
  (col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
@@ -5828,7 +5836,7 @@ var tableGroupController = (props) => {
5828
5836
  };
5829
5837
  return calculateColSpanEmpty();
5830
5838
  }, [columns, row]);
5831
- const shouldFetchData = useMemo11(() => {
5839
+ const shouldFetchData = useMemo12(() => {
5832
5840
  return !!isShowGroup;
5833
5841
  }, [isShowGroup]);
5834
5842
  const enabled = shouldFetchData && !!processedData;
package/package.json CHANGED
@@ -1,94 +1,92 @@
1
- {
2
- "name": "@fctc/widget-logic",
3
- "version": "4.9.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": "^4.2.6",
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": "4.10.0",
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": "^4.2.7",
78
+ "@tanstack/react-query": "^5.84.0",
79
+ "i18next": "^25.3.2",
80
+ "i18next-browser-languagedetector": "^8.2.0",
81
+ "react-i18next": "^15.6.1"
82
+ },
83
+ "devDependencies": {
84
+ "@types/react": "^18.3.1",
85
+ "jest": "^29.7.0",
86
+ "react": "18.0.0",
87
+ "tsup": "^8.0.0",
88
+ "typescript": "^5.8.2"
89
+ },
90
+ "packageManager": "yarn@1.22.0",
91
+ "peerDependencies": {}
92
+ }