@fctc/widget-logic 2.4.5 → 2.4.7

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
@@ -4908,7 +4908,7 @@ var useListData = ({
4908
4908
  const [mode, setMode] = (0, import_react14.useState)("month");
4909
4909
  const [type, setType] = (0, import_react14.useState)("list");
4910
4910
  const [currentDate, setCurrentDate] = (0, import_react14.useState)(/* @__PURE__ */ new Date());
4911
- const [selectedRowKeys, setSelectedRowKeys3] = (0, import_react14.useState)([]);
4911
+ const [selectedRowKeys, setSelectedRowKeys2] = (0, import_react14.useState)([]);
4912
4912
  const [debouncedPage] = useDebounce(page, 500);
4913
4913
  const [debouncedDomain] = useDebounce(domain, 500);
4914
4914
  const { specification } = useGetSpecification({
@@ -4976,7 +4976,7 @@ var useListData = ({
4976
4976
  setPageLimit,
4977
4977
  setGroupByList,
4978
4978
  setCurrentDate,
4979
- setSelectedRowKeys: setSelectedRowKeys3
4979
+ setSelectedRowKeys: setSelectedRowKeys2
4980
4980
  }
4981
4981
  };
4982
4982
  };
@@ -5489,7 +5489,7 @@ var many2manyFieldController = (props) => {
5489
5489
  context,
5490
5490
  options,
5491
5491
  tab,
5492
- setSelectedRowKeys: setSelectedRowKeys3,
5492
+ setSelectedRowKeys: setSelectedRowKeys2,
5493
5493
  groupByDomain,
5494
5494
  enabled: enabledCallAPI,
5495
5495
  actionData
@@ -5581,7 +5581,7 @@ var many2manyFieldController = (props) => {
5581
5581
  }
5582
5582
  return () => {
5583
5583
  setPage(0);
5584
- setSelectedRowKeys3([]);
5584
+ setSelectedRowKeys2([]);
5585
5585
  setDomainMany2Many(null);
5586
5586
  };
5587
5587
  }, [viewResponse]);
@@ -6873,11 +6873,16 @@ var binaryFieldController = (props) => {
6873
6873
  };
6874
6874
 
6875
6875
  // src/widget/advance/table/table-head/controller.ts
6876
- var import_store2 = require("@fctc/interface-logic/store");
6877
6876
  var import_react23 = require("react");
6878
6877
  var tableHeadController = (props) => {
6879
- const { typeTable, rows, tableRef, groupByList, selectedRowKeys } = props;
6880
- const appDispatch = (0, import_store2.useAppDispatch)();
6878
+ const {
6879
+ typeTable,
6880
+ rows,
6881
+ tableRef,
6882
+ groupByList,
6883
+ selectedRowKeys,
6884
+ setSelectedRowKeys: setSelectedRowKeys2
6885
+ } = props;
6881
6886
  const { rowIds: recordIds } = useGetRowIds(tableRef);
6882
6887
  const selectedRowKeysRef = (0, import_react23.useRef)(recordIds);
6883
6888
  const isGroupTable = typeTable === "group";
@@ -6903,27 +6908,27 @@ var tableHeadController = (props) => {
6903
6908
  const handleCheckBoxAll = (event) => {
6904
6909
  if (event?.target?.checked && typeTable === "list") {
6905
6910
  const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
6906
- appDispatch((0, import_store2.setSelectedRowKeys)(allRowKeys));
6911
+ setSelectedRowKeys2(allRowKeys);
6907
6912
  } else if (event?.target?.checked && typeTable === "group") {
6908
6913
  const rowsIDs = document.querySelectorAll("tr[data-row-id]");
6909
6914
  const ids = Array.from(rowsIDs)?.map(
6910
6915
  (row) => Number(row?.getAttribute("data-row-id"))
6911
6916
  );
6912
6917
  if (ids?.length > 0) {
6913
- appDispatch((0, import_store2.setSelectedRowKeys)(ids));
6918
+ setSelectedRowKeys2(ids);
6914
6919
  } else {
6915
6920
  const sum = countSum(
6916
6921
  rows,
6917
6922
  typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0
6918
6923
  );
6919
6924
  const keys = Array.from({ length: sum }, (_) => void 0);
6920
- appDispatch((0, import_store2.setSelectedRowKeys)(keys));
6925
+ setSelectedRowKeys2(keys);
6921
6926
  }
6922
6927
  if (selectedRowKeysRef) {
6923
6928
  selectedRowKeysRef.current = [];
6924
6929
  }
6925
6930
  } else {
6926
- appDispatch((0, import_store2.setSelectedRowKeys)([]));
6931
+ setSelectedRowKeys2([]);
6927
6932
  }
6928
6933
  };
6929
6934
  return {
@@ -6935,7 +6940,7 @@ var tableHeadController = (props) => {
6935
6940
 
6936
6941
  // src/widget/advance/table/table-view/controller.ts
6937
6942
  var import_react24 = require("react");
6938
- var import_utils15 = require("@fctc/interface-logic/utils");
6943
+ var import_utils16 = require("@fctc/interface-logic/utils");
6939
6944
  var tableController = ({ data }) => {
6940
6945
  const [rows, setRows] = (0, import_react24.useState)(null);
6941
6946
  const [columns, setColumns] = (0, import_react24.useState)(null);
@@ -6973,7 +6978,7 @@ var tableController = ({ data }) => {
6973
6978
  let cols = [];
6974
6979
  try {
6975
6980
  cols = mergeFields?.filter((item) => {
6976
- return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils15.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils15.domainHelper.matchDomains(data.context, item?.invisible) : false);
6981
+ return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils16.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils16.domainHelper.matchDomains(data.context, item?.invisible) : false);
6977
6982
  })?.map((field) => {
6978
6983
  return {
6979
6984
  name: field?.name,
@@ -7024,7 +7029,7 @@ var tableController = ({ data }) => {
7024
7029
 
7025
7030
  // src/widget/advance/table/table-group/controller.ts
7026
7031
  var import_react25 = require("react");
7027
- var import_store3 = require("@fctc/interface-logic/store");
7032
+ var import_store2 = require("@fctc/interface-logic/store");
7028
7033
  var tableGroupController = (props) => {
7029
7034
  const { env } = (0, provider_exports.useEnv)();
7030
7035
  const { useGetListData: useGetListData2 } = (0, provider_exports.useService)();
@@ -7038,10 +7043,10 @@ var tableGroupController = (props) => {
7038
7043
  context,
7039
7044
  checkedAll,
7040
7045
  groupByList,
7041
- setSelectedRowKeys: setSelectedRowKeys3
7046
+ setSelectedRowKeys: setSelectedRowKeys2
7042
7047
  } = props;
7043
7048
  const [pageGroup, setPageGroup] = (0, import_react25.useState)(0);
7044
- const { selectedRowKeys } = (0, import_store3.useAppSelector)(import_store3.selectList);
7049
+ const { selectedRowKeys } = (0, import_store2.useAppSelector)(import_store2.selectList);
7045
7050
  const [isShowGroup, setIsShowGroup] = (0, import_react25.useState)(false);
7046
7051
  const [colEmptyGroup, setColEmptyGroup] = (0, import_react25.useState)({
7047
7052
  fromStart: 1,
@@ -7120,15 +7125,14 @@ var tableGroupController = (props) => {
7120
7125
  const filteredIds = selectedRowKeys.filter(
7121
7126
  (id) => !ids.includes(id)
7122
7127
  );
7123
- setSelectedRowKeys3(filteredIds);
7128
+ setSelectedRowKeys2(filteredIds);
7124
7129
  } else if (!isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && checkedAll && !allIdsNull) {
7125
7130
  const clonedKeys = [...selectedRowKeys];
7126
- setSelectedRowKeys3([...clonedKeys, -1]);
7127
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
7131
+ setSelectedRowKeys2([...clonedKeys, -1]);
7132
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
7128
7133
  } else if (isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && !checkedAll && !allIdsNull) {
7129
- console.log("abc");
7130
7134
  const filteredKeys = selectedRowKeys.filter((id) => id > -1);
7131
- setSelectedRowKeys3(filteredKeys);
7135
+ setSelectedRowKeys2(filteredKeys);
7132
7136
  }
7133
7137
  toggleShowGroup();
7134
7138
  };
@@ -7137,8 +7141,8 @@ var tableGroupController = (props) => {
7137
7141
  return;
7138
7142
  }
7139
7143
  const clonedKeys = [...selectedRowKeys];
7140
- setSelectedRowKeys3([...clonedKeys, -1]);
7141
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
7144
+ setSelectedRowKeys2([...clonedKeys, -1]);
7145
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
7142
7146
  }, [isDataGroupFetched]);
7143
7147
  return {
7144
7148
  onExpandChildGroup,
@@ -7158,7 +7162,7 @@ var tableGroupController = (props) => {
7158
7162
 
7159
7163
  // src/widget/advance/search/controller.ts
7160
7164
  var import_constants3 = require("@fctc/interface-logic/constants");
7161
- var import_utils17 = require("@fctc/interface-logic/utils");
7165
+ var import_utils18 = require("@fctc/interface-logic/utils");
7162
7166
  var import_moment2 = __toESM(require_moment());
7163
7167
  var import_react26 = require("react");
7164
7168
  var searchController = ({
@@ -7175,9 +7179,9 @@ var searchController = ({
7175
7179
  const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
7176
7180
  const [searchString, setSearchString] = (0, import_react26.useState)("");
7177
7181
  const [searchMap, setSearchMap] = (0, import_react26.useState)({});
7178
- const actionContext = typeof context === "string" ? (0, import_utils17.evalJSONContext)(context) : context;
7182
+ const actionContext = typeof context === "string" ? (0, import_utils18.evalJSONContext)(context) : context;
7179
7183
  const contextSearch = { ...env.context, ...actionContext };
7180
- const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils17.evalJSONDomain)(domain, contextSearch) : [];
7184
+ const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils18.evalJSONDomain)(domain, contextSearch) : [];
7181
7185
  const clearSearch = () => {
7182
7186
  setFilterBy([]);
7183
7187
  setGroupBy([]);
@@ -7192,7 +7196,7 @@ var searchController = ({
7192
7196
  const dataModel = viewData?.models?.[model];
7193
7197
  const searchViews = viewData?.views?.search;
7194
7198
  const searchByItems = searchViews?.search_by?.filter(
7195
- (item) => !import_utils17.domainHelper.matchDomains(contextSearch, item.invisible)
7199
+ (item) => !import_utils18.domainHelper.matchDomains(contextSearch, item.invisible)
7196
7200
  )?.map(
7197
7201
  ({ string, name, filter_domain, operator, widget }, index) => ({
7198
7202
  dataIndex: index,
@@ -7205,10 +7209,10 @@ var searchController = ({
7205
7209
  })
7206
7210
  );
7207
7211
  const filterByItems = searchViews?.filter_by.filter((item) => {
7208
- return !import_utils17.domainHelper.matchDomains(contextSearch, item?.invisible);
7212
+ return !import_utils18.domainHelper.matchDomains(contextSearch, item?.invisible);
7209
7213
  })?.map((item) => ({ ...item, active: false }));
7210
7214
  const groupByItems = searchViews?.group_by.filter(
7211
- (item) => !import_utils17.domainHelper.matchDomains(contextSearch, item?.invisible)
7215
+ (item) => !import_utils18.domainHelper.matchDomains(contextSearch, item?.invisible)
7212
7216
  ).map((item) => ({
7213
7217
  ...item,
7214
7218
  string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
@@ -7285,14 +7289,14 @@ var searchController = ({
7285
7289
  }
7286
7290
  let valueDomainItem = value?.value;
7287
7291
  if (value?.modelType === "date") {
7288
- valueDomainItem = (0, import_utils17.validateAndParseDate)(value?.value);
7292
+ valueDomainItem = (0, import_utils18.validateAndParseDate)(value?.value);
7289
7293
  } else if (value?.modelType === "datetime") {
7290
7294
  if (value?.operator === "<=" || value?.operator === "<") {
7291
- const parsedDate = (0, import_utils17.validateAndParseDate)(value?.value, true);
7295
+ const parsedDate = (0, import_utils18.validateAndParseDate)(value?.value, true);
7292
7296
  const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
7293
7297
  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");
7294
7298
  } else {
7295
- valueDomainItem = (0, import_utils17.validateAndParseDate)(value?.value, true);
7299
+ valueDomainItem = (0, import_utils18.validateAndParseDate)(value?.value, true);
7296
7300
  }
7297
7301
  }
7298
7302
  const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
@@ -7371,7 +7375,7 @@ var searchController = ({
7371
7375
  }, [searchMap]);
7372
7376
  const handleAddTagSearch = (tag) => {
7373
7377
  const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
7374
- const domainFormat = new import_utils17.domainHelper.Domain(domain2);
7378
+ const domainFormat = new import_utils18.domainHelper.Domain(domain2);
7375
7379
  if (type === import_constants3.SearchType.FILTER) {
7376
7380
  addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
7377
7381
  ...tag,
package/dist/index.mjs CHANGED
@@ -4987,7 +4987,7 @@ var useListData = ({
4987
4987
  const [mode, setMode] = useState5("month");
4988
4988
  const [type, setType] = useState5("list");
4989
4989
  const [currentDate, setCurrentDate] = useState5(/* @__PURE__ */ new Date());
4990
- const [selectedRowKeys, setSelectedRowKeys3] = useState5([]);
4990
+ const [selectedRowKeys, setSelectedRowKeys2] = useState5([]);
4991
4991
  const [debouncedPage] = useDebounce(page, 500);
4992
4992
  const [debouncedDomain] = useDebounce(domain, 500);
4993
4993
  const { specification } = useGetSpecification({
@@ -5055,7 +5055,7 @@ var useListData = ({
5055
5055
  setPageLimit,
5056
5056
  setGroupByList,
5057
5057
  setCurrentDate,
5058
- setSelectedRowKeys: setSelectedRowKeys3
5058
+ setSelectedRowKeys: setSelectedRowKeys2
5059
5059
  }
5060
5060
  };
5061
5061
  };
@@ -5574,7 +5574,7 @@ var many2manyFieldController = (props) => {
5574
5574
  context,
5575
5575
  options,
5576
5576
  tab,
5577
- setSelectedRowKeys: setSelectedRowKeys3,
5577
+ setSelectedRowKeys: setSelectedRowKeys2,
5578
5578
  groupByDomain,
5579
5579
  enabled: enabledCallAPI,
5580
5580
  actionData
@@ -5666,7 +5666,7 @@ var many2manyFieldController = (props) => {
5666
5666
  }
5667
5667
  return () => {
5668
5668
  setPage(0);
5669
- setSelectedRowKeys3([]);
5669
+ setSelectedRowKeys2([]);
5670
5670
  setDomainMany2Many(null);
5671
5671
  };
5672
5672
  }, [viewResponse]);
@@ -6958,11 +6958,16 @@ var binaryFieldController = (props) => {
6958
6958
  };
6959
6959
 
6960
6960
  // src/widget/advance/table/table-head/controller.ts
6961
- import { useAppDispatch, setSelectedRowKeys } from "@fctc/interface-logic/store";
6962
6961
  import { useMemo as useMemo11, useRef as useRef5 } from "react";
6963
6962
  var tableHeadController = (props) => {
6964
- const { typeTable, rows, tableRef, groupByList, selectedRowKeys } = props;
6965
- const appDispatch = useAppDispatch();
6963
+ const {
6964
+ typeTable,
6965
+ rows,
6966
+ tableRef,
6967
+ groupByList,
6968
+ selectedRowKeys,
6969
+ setSelectedRowKeys: setSelectedRowKeys2
6970
+ } = props;
6966
6971
  const { rowIds: recordIds } = useGetRowIds(tableRef);
6967
6972
  const selectedRowKeysRef = useRef5(recordIds);
6968
6973
  const isGroupTable = typeTable === "group";
@@ -6988,27 +6993,27 @@ var tableHeadController = (props) => {
6988
6993
  const handleCheckBoxAll = (event) => {
6989
6994
  if (event?.target?.checked && typeTable === "list") {
6990
6995
  const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
6991
- appDispatch(setSelectedRowKeys(allRowKeys));
6996
+ setSelectedRowKeys2(allRowKeys);
6992
6997
  } else if (event?.target?.checked && typeTable === "group") {
6993
6998
  const rowsIDs = document.querySelectorAll("tr[data-row-id]");
6994
6999
  const ids = Array.from(rowsIDs)?.map(
6995
7000
  (row) => Number(row?.getAttribute("data-row-id"))
6996
7001
  );
6997
7002
  if (ids?.length > 0) {
6998
- appDispatch(setSelectedRowKeys(ids));
7003
+ setSelectedRowKeys2(ids);
6999
7004
  } else {
7000
7005
  const sum = countSum(
7001
7006
  rows,
7002
7007
  typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0
7003
7008
  );
7004
7009
  const keys = Array.from({ length: sum }, (_) => void 0);
7005
- appDispatch(setSelectedRowKeys(keys));
7010
+ setSelectedRowKeys2(keys);
7006
7011
  }
7007
7012
  if (selectedRowKeysRef) {
7008
7013
  selectedRowKeysRef.current = [];
7009
7014
  }
7010
7015
  } else {
7011
- appDispatch(setSelectedRowKeys([]));
7016
+ setSelectedRowKeys2([]);
7012
7017
  }
7013
7018
  };
7014
7019
  return {
@@ -7126,7 +7131,7 @@ var tableGroupController = (props) => {
7126
7131
  context,
7127
7132
  checkedAll,
7128
7133
  groupByList,
7129
- setSelectedRowKeys: setSelectedRowKeys3
7134
+ setSelectedRowKeys: setSelectedRowKeys2
7130
7135
  } = props;
7131
7136
  const [pageGroup, setPageGroup] = useState14(0);
7132
7137
  const { selectedRowKeys } = useAppSelector2(selectList);
@@ -7208,15 +7213,14 @@ var tableGroupController = (props) => {
7208
7213
  const filteredIds = selectedRowKeys.filter(
7209
7214
  (id) => !ids.includes(id)
7210
7215
  );
7211
- setSelectedRowKeys3(filteredIds);
7216
+ setSelectedRowKeys2(filteredIds);
7212
7217
  } else if (!isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && checkedAll && !allIdsNull) {
7213
7218
  const clonedKeys = [...selectedRowKeys];
7214
- setSelectedRowKeys3([...clonedKeys, -1]);
7215
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
7219
+ setSelectedRowKeys2([...clonedKeys, -1]);
7220
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
7216
7221
  } else if (isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && !checkedAll && !allIdsNull) {
7217
- console.log("abc");
7218
7222
  const filteredKeys = selectedRowKeys.filter((id) => id > -1);
7219
- setSelectedRowKeys3(filteredKeys);
7223
+ setSelectedRowKeys2(filteredKeys);
7220
7224
  }
7221
7225
  toggleShowGroup();
7222
7226
  };
@@ -7225,8 +7229,8 @@ var tableGroupController = (props) => {
7225
7229
  return;
7226
7230
  }
7227
7231
  const clonedKeys = [...selectedRowKeys];
7228
- setSelectedRowKeys3([...clonedKeys, -1]);
7229
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
7232
+ setSelectedRowKeys2([...clonedKeys, -1]);
7233
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
7230
7234
  }, [isDataGroupFetched]);
7231
7235
  return {
7232
7236
  onExpandChildGroup,
package/dist/widget.d.mts CHANGED
@@ -200,6 +200,12 @@ declare const binaryFieldController: (props: IInputFieldProps) => {
200
200
  getImageBase64WithMimeType: (base64: any) => string | null;
201
201
  };
202
202
 
203
+ declare const tableHeadController: (props: any) => {
204
+ handleCheckBoxAll: (event: React.ChangeEvent<HTMLInputElement>) => void;
205
+ checkedAll: any;
206
+ selectedRowKeysRef: react.MutableRefObject<any[]>;
207
+ };
208
+
203
209
  interface ITableHeadProps {
204
210
  typeTable: string;
205
211
  rows: any[];
@@ -208,12 +214,6 @@ interface ITableHeadProps {
208
214
  selectedRowKeys: any;
209
215
  }
210
216
 
211
- declare const tableHeadController: (props: ITableHeadProps) => {
212
- handleCheckBoxAll: (event: React.ChangeEvent<HTMLInputElement>) => void;
213
- checkedAll: any;
214
- selectedRowKeysRef: react.MutableRefObject<any[]>;
215
- };
216
-
217
217
  interface ITableProps {
218
218
  data: {
219
219
  fields: any[];
package/dist/widget.d.ts CHANGED
@@ -200,6 +200,12 @@ declare const binaryFieldController: (props: IInputFieldProps) => {
200
200
  getImageBase64WithMimeType: (base64: any) => string | null;
201
201
  };
202
202
 
203
+ declare const tableHeadController: (props: any) => {
204
+ handleCheckBoxAll: (event: React.ChangeEvent<HTMLInputElement>) => void;
205
+ checkedAll: any;
206
+ selectedRowKeysRef: react.MutableRefObject<any[]>;
207
+ };
208
+
203
209
  interface ITableHeadProps {
204
210
  typeTable: string;
205
211
  rows: any[];
@@ -208,12 +214,6 @@ interface ITableHeadProps {
208
214
  selectedRowKeys: any;
209
215
  }
210
216
 
211
- declare const tableHeadController: (props: ITableHeadProps) => {
212
- handleCheckBoxAll: (event: React.ChangeEvent<HTMLInputElement>) => void;
213
- checkedAll: any;
214
- selectedRowKeysRef: react.MutableRefObject<any[]>;
215
- };
216
-
217
217
  interface ITableProps {
218
218
  data: {
219
219
  fields: any[];
package/dist/widget.js CHANGED
@@ -4644,7 +4644,7 @@ var many2manyFieldController = (props) => {
4644
4644
  context,
4645
4645
  options,
4646
4646
  tab,
4647
- setSelectedRowKeys: setSelectedRowKeys3,
4647
+ setSelectedRowKeys: setSelectedRowKeys2,
4648
4648
  groupByDomain,
4649
4649
  enabled: enabledCallAPI,
4650
4650
  actionData
@@ -4736,7 +4736,7 @@ var many2manyFieldController = (props) => {
4736
4736
  }
4737
4737
  return () => {
4738
4738
  setPage(0);
4739
- setSelectedRowKeys3([]);
4739
+ setSelectedRowKeys2([]);
4740
4740
  setDomainMany2Many(null);
4741
4741
  };
4742
4742
  }, [viewResponse]);
@@ -6028,11 +6028,16 @@ var binaryFieldController = (props) => {
6028
6028
  };
6029
6029
 
6030
6030
  // src/widget/advance/table/table-head/controller.ts
6031
- var import_store2 = require("@fctc/interface-logic/store");
6032
6031
  var import_react23 = require("react");
6033
6032
  var tableHeadController = (props) => {
6034
- const { typeTable, rows, tableRef, groupByList, selectedRowKeys } = props;
6035
- const appDispatch = (0, import_store2.useAppDispatch)();
6033
+ const {
6034
+ typeTable,
6035
+ rows,
6036
+ tableRef,
6037
+ groupByList,
6038
+ selectedRowKeys,
6039
+ setSelectedRowKeys: setSelectedRowKeys2
6040
+ } = props;
6036
6041
  const { rowIds: recordIds } = useGetRowIds(tableRef);
6037
6042
  const selectedRowKeysRef = (0, import_react23.useRef)(recordIds);
6038
6043
  const isGroupTable = typeTable === "group";
@@ -6058,27 +6063,27 @@ var tableHeadController = (props) => {
6058
6063
  const handleCheckBoxAll = (event) => {
6059
6064
  if (event?.target?.checked && typeTable === "list") {
6060
6065
  const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
6061
- appDispatch((0, import_store2.setSelectedRowKeys)(allRowKeys));
6066
+ setSelectedRowKeys2(allRowKeys);
6062
6067
  } else if (event?.target?.checked && typeTable === "group") {
6063
6068
  const rowsIDs = document.querySelectorAll("tr[data-row-id]");
6064
6069
  const ids = Array.from(rowsIDs)?.map(
6065
6070
  (row) => Number(row?.getAttribute("data-row-id"))
6066
6071
  );
6067
6072
  if (ids?.length > 0) {
6068
- appDispatch((0, import_store2.setSelectedRowKeys)(ids));
6073
+ setSelectedRowKeys2(ids);
6069
6074
  } else {
6070
6075
  const sum = countSum(
6071
6076
  rows,
6072
6077
  typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0
6073
6078
  );
6074
6079
  const keys = Array.from({ length: sum }, (_) => void 0);
6075
- appDispatch((0, import_store2.setSelectedRowKeys)(keys));
6080
+ setSelectedRowKeys2(keys);
6076
6081
  }
6077
6082
  if (selectedRowKeysRef) {
6078
6083
  selectedRowKeysRef.current = [];
6079
6084
  }
6080
6085
  } else {
6081
- appDispatch((0, import_store2.setSelectedRowKeys)([]));
6086
+ setSelectedRowKeys2([]);
6082
6087
  }
6083
6088
  };
6084
6089
  return {
@@ -6090,7 +6095,7 @@ var tableHeadController = (props) => {
6090
6095
 
6091
6096
  // src/widget/advance/table/table-view/controller.ts
6092
6097
  var import_react24 = require("react");
6093
- var import_utils15 = require("@fctc/interface-logic/utils");
6098
+ var import_utils16 = require("@fctc/interface-logic/utils");
6094
6099
  var tableController = ({ data }) => {
6095
6100
  const [rows, setRows] = (0, import_react24.useState)(null);
6096
6101
  const [columns, setColumns] = (0, import_react24.useState)(null);
@@ -6128,7 +6133,7 @@ var tableController = ({ data }) => {
6128
6133
  let cols = [];
6129
6134
  try {
6130
6135
  cols = mergeFields?.filter((item) => {
6131
- return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils15.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils15.domainHelper.matchDomains(data.context, item?.invisible) : false);
6136
+ return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils16.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils16.domainHelper.matchDomains(data.context, item?.invisible) : false);
6132
6137
  })?.map((field) => {
6133
6138
  return {
6134
6139
  name: field?.name,
@@ -6179,7 +6184,7 @@ var tableController = ({ data }) => {
6179
6184
 
6180
6185
  // src/widget/advance/table/table-group/controller.ts
6181
6186
  var import_react25 = require("react");
6182
- var import_store3 = require("@fctc/interface-logic/store");
6187
+ var import_store2 = require("@fctc/interface-logic/store");
6183
6188
  var tableGroupController = (props) => {
6184
6189
  const { env } = (0, provider_exports.useEnv)();
6185
6190
  const { useGetListData: useGetListData2 } = (0, provider_exports.useService)();
@@ -6193,10 +6198,10 @@ var tableGroupController = (props) => {
6193
6198
  context,
6194
6199
  checkedAll,
6195
6200
  groupByList,
6196
- setSelectedRowKeys: setSelectedRowKeys3
6201
+ setSelectedRowKeys: setSelectedRowKeys2
6197
6202
  } = props;
6198
6203
  const [pageGroup, setPageGroup] = (0, import_react25.useState)(0);
6199
- const { selectedRowKeys } = (0, import_store3.useAppSelector)(import_store3.selectList);
6204
+ const { selectedRowKeys } = (0, import_store2.useAppSelector)(import_store2.selectList);
6200
6205
  const [isShowGroup, setIsShowGroup] = (0, import_react25.useState)(false);
6201
6206
  const [colEmptyGroup, setColEmptyGroup] = (0, import_react25.useState)({
6202
6207
  fromStart: 1,
@@ -6275,15 +6280,14 @@ var tableGroupController = (props) => {
6275
6280
  const filteredIds = selectedRowKeys.filter(
6276
6281
  (id) => !ids.includes(id)
6277
6282
  );
6278
- setSelectedRowKeys3(filteredIds);
6283
+ setSelectedRowKeys2(filteredIds);
6279
6284
  } else if (!isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && checkedAll && !allIdsNull) {
6280
6285
  const clonedKeys = [...selectedRowKeys];
6281
- setSelectedRowKeys3([...clonedKeys, -1]);
6282
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
6286
+ setSelectedRowKeys2([...clonedKeys, -1]);
6287
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
6283
6288
  } else if (isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && !checkedAll && !allIdsNull) {
6284
- console.log("abc");
6285
6289
  const filteredKeys = selectedRowKeys.filter((id) => id > -1);
6286
- setSelectedRowKeys3(filteredKeys);
6290
+ setSelectedRowKeys2(filteredKeys);
6287
6291
  }
6288
6292
  toggleShowGroup();
6289
6293
  };
@@ -6292,8 +6296,8 @@ var tableGroupController = (props) => {
6292
6296
  return;
6293
6297
  }
6294
6298
  const clonedKeys = [...selectedRowKeys];
6295
- setSelectedRowKeys3([...clonedKeys, -1]);
6296
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
6299
+ setSelectedRowKeys2([...clonedKeys, -1]);
6300
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
6297
6301
  }, [isDataGroupFetched]);
6298
6302
  return {
6299
6303
  onExpandChildGroup,
@@ -6313,7 +6317,7 @@ var tableGroupController = (props) => {
6313
6317
 
6314
6318
  // src/widget/advance/search/controller.ts
6315
6319
  var import_constants3 = require("@fctc/interface-logic/constants");
6316
- var import_utils17 = require("@fctc/interface-logic/utils");
6320
+ var import_utils18 = require("@fctc/interface-logic/utils");
6317
6321
  var import_moment2 = __toESM(require_moment());
6318
6322
  var import_react26 = require("react");
6319
6323
  var searchController = ({
@@ -6330,9 +6334,9 @@ var searchController = ({
6330
6334
  const [selectedTags, setSelectedTags] = (0, import_react26.useState)(null);
6331
6335
  const [searchString, setSearchString] = (0, import_react26.useState)("");
6332
6336
  const [searchMap, setSearchMap] = (0, import_react26.useState)({});
6333
- const actionContext = typeof context === "string" ? (0, import_utils17.evalJSONContext)(context) : context;
6337
+ const actionContext = typeof context === "string" ? (0, import_utils18.evalJSONContext)(context) : context;
6334
6338
  const contextSearch = { ...env.context, ...actionContext };
6335
- const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils17.evalJSONDomain)(domain, contextSearch) : [];
6339
+ const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils18.evalJSONDomain)(domain, contextSearch) : [];
6336
6340
  const clearSearch = () => {
6337
6341
  setFilterBy([]);
6338
6342
  setGroupBy([]);
@@ -6347,7 +6351,7 @@ var searchController = ({
6347
6351
  const dataModel = viewData?.models?.[model];
6348
6352
  const searchViews = viewData?.views?.search;
6349
6353
  const searchByItems = searchViews?.search_by?.filter(
6350
- (item) => !import_utils17.domainHelper.matchDomains(contextSearch, item.invisible)
6354
+ (item) => !import_utils18.domainHelper.matchDomains(contextSearch, item.invisible)
6351
6355
  )?.map(
6352
6356
  ({ string, name, filter_domain, operator, widget }, index) => ({
6353
6357
  dataIndex: index,
@@ -6360,10 +6364,10 @@ var searchController = ({
6360
6364
  })
6361
6365
  );
6362
6366
  const filterByItems = searchViews?.filter_by.filter((item) => {
6363
- return !import_utils17.domainHelper.matchDomains(contextSearch, item?.invisible);
6367
+ return !import_utils18.domainHelper.matchDomains(contextSearch, item?.invisible);
6364
6368
  })?.map((item) => ({ ...item, active: false }));
6365
6369
  const groupByItems = searchViews?.group_by.filter(
6366
- (item) => !import_utils17.domainHelper.matchDomains(contextSearch, item?.invisible)
6370
+ (item) => !import_utils18.domainHelper.matchDomains(contextSearch, item?.invisible)
6367
6371
  ).map((item) => ({
6368
6372
  ...item,
6369
6373
  string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
@@ -6440,14 +6444,14 @@ var searchController = ({
6440
6444
  }
6441
6445
  let valueDomainItem = value?.value;
6442
6446
  if (value?.modelType === "date") {
6443
- valueDomainItem = (0, import_utils17.validateAndParseDate)(value?.value);
6447
+ valueDomainItem = (0, import_utils18.validateAndParseDate)(value?.value);
6444
6448
  } else if (value?.modelType === "datetime") {
6445
6449
  if (value?.operator === "<=" || value?.operator === "<") {
6446
- const parsedDate = (0, import_utils17.validateAndParseDate)(value?.value, true);
6450
+ const parsedDate = (0, import_utils18.validateAndParseDate)(value?.value, true);
6447
6451
  const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
6448
6452
  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");
6449
6453
  } else {
6450
- valueDomainItem = (0, import_utils17.validateAndParseDate)(value?.value, true);
6454
+ valueDomainItem = (0, import_utils18.validateAndParseDate)(value?.value, true);
6451
6455
  }
6452
6456
  }
6453
6457
  const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
@@ -6526,7 +6530,7 @@ var searchController = ({
6526
6530
  }, [searchMap]);
6527
6531
  const handleAddTagSearch = (tag) => {
6528
6532
  const { domain: domain2, groupIndex, value, type, context: context2, dataIndex } = tag;
6529
- const domainFormat = new import_utils17.domainHelper.Domain(domain2);
6533
+ const domainFormat = new import_utils18.domainHelper.Domain(domain2);
6530
6534
  if (type === import_constants3.SearchType.FILTER) {
6531
6535
  addSearchItems(`${import_constants3.SearchType.FILTER}_${groupIndex}`, {
6532
6536
  ...tag,
package/dist/widget.mjs CHANGED
@@ -4706,7 +4706,7 @@ var many2manyFieldController = (props) => {
4706
4706
  context,
4707
4707
  options,
4708
4708
  tab,
4709
- setSelectedRowKeys: setSelectedRowKeys3,
4709
+ setSelectedRowKeys: setSelectedRowKeys2,
4710
4710
  groupByDomain,
4711
4711
  enabled: enabledCallAPI,
4712
4712
  actionData
@@ -4798,7 +4798,7 @@ var many2manyFieldController = (props) => {
4798
4798
  }
4799
4799
  return () => {
4800
4800
  setPage(0);
4801
- setSelectedRowKeys3([]);
4801
+ setSelectedRowKeys2([]);
4802
4802
  setDomainMany2Many(null);
4803
4803
  };
4804
4804
  }, [viewResponse]);
@@ -6090,11 +6090,16 @@ var binaryFieldController = (props) => {
6090
6090
  };
6091
6091
 
6092
6092
  // src/widget/advance/table/table-head/controller.ts
6093
- import { useAppDispatch, setSelectedRowKeys } from "@fctc/interface-logic/store";
6094
6093
  import { useMemo as useMemo11, useRef as useRef5 } from "react";
6095
6094
  var tableHeadController = (props) => {
6096
- const { typeTable, rows, tableRef, groupByList, selectedRowKeys } = props;
6097
- const appDispatch = useAppDispatch();
6095
+ const {
6096
+ typeTable,
6097
+ rows,
6098
+ tableRef,
6099
+ groupByList,
6100
+ selectedRowKeys,
6101
+ setSelectedRowKeys: setSelectedRowKeys2
6102
+ } = props;
6098
6103
  const { rowIds: recordIds } = useGetRowIds(tableRef);
6099
6104
  const selectedRowKeysRef = useRef5(recordIds);
6100
6105
  const isGroupTable = typeTable === "group";
@@ -6120,27 +6125,27 @@ var tableHeadController = (props) => {
6120
6125
  const handleCheckBoxAll = (event) => {
6121
6126
  if (event?.target?.checked && typeTable === "list") {
6122
6127
  const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
6123
- appDispatch(setSelectedRowKeys(allRowKeys));
6128
+ setSelectedRowKeys2(allRowKeys);
6124
6129
  } else if (event?.target?.checked && typeTable === "group") {
6125
6130
  const rowsIDs = document.querySelectorAll("tr[data-row-id]");
6126
6131
  const ids = Array.from(rowsIDs)?.map(
6127
6132
  (row) => Number(row?.getAttribute("data-row-id"))
6128
6133
  );
6129
6134
  if (ids?.length > 0) {
6130
- appDispatch(setSelectedRowKeys(ids));
6135
+ setSelectedRowKeys2(ids);
6131
6136
  } else {
6132
6137
  const sum = countSum(
6133
6138
  rows,
6134
6139
  typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0
6135
6140
  );
6136
6141
  const keys = Array.from({ length: sum }, (_) => void 0);
6137
- appDispatch(setSelectedRowKeys(keys));
6142
+ setSelectedRowKeys2(keys);
6138
6143
  }
6139
6144
  if (selectedRowKeysRef) {
6140
6145
  selectedRowKeysRef.current = [];
6141
6146
  }
6142
6147
  } else {
6143
- appDispatch(setSelectedRowKeys([]));
6148
+ setSelectedRowKeys2([]);
6144
6149
  }
6145
6150
  };
6146
6151
  return {
@@ -6258,7 +6263,7 @@ var tableGroupController = (props) => {
6258
6263
  context,
6259
6264
  checkedAll,
6260
6265
  groupByList,
6261
- setSelectedRowKeys: setSelectedRowKeys3
6266
+ setSelectedRowKeys: setSelectedRowKeys2
6262
6267
  } = props;
6263
6268
  const [pageGroup, setPageGroup] = useState14(0);
6264
6269
  const { selectedRowKeys } = useAppSelector2(selectList);
@@ -6340,15 +6345,14 @@ var tableGroupController = (props) => {
6340
6345
  const filteredIds = selectedRowKeys.filter(
6341
6346
  (id) => !ids.includes(id)
6342
6347
  );
6343
- setSelectedRowKeys3(filteredIds);
6348
+ setSelectedRowKeys2(filteredIds);
6344
6349
  } else if (!isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && checkedAll && !allIdsNull) {
6345
6350
  const clonedKeys = [...selectedRowKeys];
6346
- setSelectedRowKeys3([...clonedKeys, -1]);
6347
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
6351
+ setSelectedRowKeys2([...clonedKeys, -1]);
6352
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
6348
6353
  } else if (isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && !checkedAll && !allIdsNull) {
6349
- console.log("abc");
6350
6354
  const filteredKeys = selectedRowKeys.filter((id) => id > -1);
6351
- setSelectedRowKeys3(filteredKeys);
6355
+ setSelectedRowKeys2(filteredKeys);
6352
6356
  }
6353
6357
  toggleShowGroup();
6354
6358
  };
@@ -6357,8 +6361,8 @@ var tableGroupController = (props) => {
6357
6361
  return;
6358
6362
  }
6359
6363
  const clonedKeys = [...selectedRowKeys];
6360
- setSelectedRowKeys3([...clonedKeys, -1]);
6361
- setTimeout(() => setSelectedRowKeys3(clonedKeys), 500);
6364
+ setSelectedRowKeys2([...clonedKeys, -1]);
6365
+ setTimeout(() => setSelectedRowKeys2(clonedKeys), 500);
6362
6366
  }, [isDataGroupFetched]);
6363
6367
  return {
6364
6368
  onExpandChildGroup,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fctc/widget-logic",
3
- "version": "2.4.5",
3
+ "version": "2.4.7",
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": "^2.4.6",
77
+ "@fctc/interface-logic": "^2.4.7",
78
78
  "@headlessui/react": "^2.2.6",
79
79
  "@tanstack/react-query": "^5.84.0",
80
80
  "i18next": "^25.3.2",