@fctc/widget-logic 2.0.9 → 2.0.10

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
@@ -4068,7 +4068,6 @@ __export(index_exports, {
4068
4068
  searchController: () => searchController,
4069
4069
  setStorageItemAsync: () => setStorageItemAsync,
4070
4070
  statusDropdownController: () => statusDropdownController,
4071
- tableBodyController: () => tableBodyController,
4072
4071
  tableController: () => tableController,
4073
4072
  tableGroupController: () => tableGroupController,
4074
4073
  tableHeadController: () => tableHeadController,
@@ -4082,6 +4081,7 @@ __export(index_exports, {
4082
4081
  useGetRowIds: () => useGetRowIds,
4083
4082
  useListData: () => useListData,
4084
4083
  useMenu: () => useMenu,
4084
+ useMenuItem: () => useMenuItem,
4085
4085
  useProfile: () => useProfile,
4086
4086
  useSelectionState: () => useSelectionState,
4087
4087
  useStorageState: () => useStorageState,
@@ -4103,6 +4103,7 @@ __export(hooks_exports, {
4103
4103
  useDetail: () => useDetail,
4104
4104
  useListData: () => useListData,
4105
4105
  useMenu: () => useMenu,
4106
+ useMenuItem: () => useMenuItem,
4106
4107
  useProfile: () => useProfile,
4107
4108
  useUser: () => useUser,
4108
4109
  useViewV2: () => useViewV2
@@ -4862,8 +4863,69 @@ var useAppProvider = () => {
4862
4863
  return context;
4863
4864
  };
4864
4865
 
4865
- // src/hooks/utils/use-click-outside.ts
4866
+ // src/hooks/core/use-menu-item.tsx
4867
+ var import_environment5 = require("@fctc/interface-logic/environment");
4868
+ var import_hooks9 = require("@fctc/interface-logic/hooks");
4866
4869
  var import_react11 = require("react");
4870
+
4871
+ // src/utils.ts
4872
+ var utils_exports = {};
4873
+ __export(utils_exports, {
4874
+ API_APP_URL: () => API_APP_URL,
4875
+ API_PRESCHOOL_URL: () => API_PRESCHOOL_URL,
4876
+ STORAGES: () => STORAGES,
4877
+ combineContexts: () => combineContexts,
4878
+ convertFieldsToArray: () => convertFieldsToArray,
4879
+ countSum: () => countSum,
4880
+ getDateRange: () => getDateRange,
4881
+ languages: () => languages,
4882
+ mergeButtons: () => mergeButtons,
4883
+ setStorageItemAsync: () => setStorageItemAsync,
4884
+ useGetRowIds: () => useGetRowIds,
4885
+ useSelectionState: () => useSelectionState,
4886
+ useStorageState: () => useStorageState
4887
+ });
4888
+ __reExport(utils_exports, require("@fctc/interface-logic/utils"));
4889
+
4890
+ // src/hooks/core/use-menu-item.tsx
4891
+ var useMenuItem = (props) => {
4892
+ const { menu, activeMenuId } = props;
4893
+ const model = menu?.action?.res_model;
4894
+ const aid = menu?.action?.id?.id;
4895
+ const id = menu?.id;
4896
+ const context = (0, import_environment5.getEnv)().context;
4897
+ const queryActionDetail = (0, import_hooks9.useGetActionDetail)({
4898
+ aid,
4899
+ id,
4900
+ model,
4901
+ context,
4902
+ enabled: true,
4903
+ queryKey: [`action-${aid}`]
4904
+ }).data;
4905
+ const [path, setPath] = (0, import_react11.useState)("");
4906
+ const handleClick = () => {
4907
+ if (location?.pathname === "/list/menu" && activeMenuId === menu?.id) {
4908
+ return;
4909
+ }
4910
+ const hasListView = queryActionDetail.views.some(
4911
+ ([id2, type]) => type === "list"
4912
+ );
4913
+ const viewType = hasListView ? "list" : "form";
4914
+ const isAccountPayment = menu?.action?.res_model === "account.payment" && menu?.action?.id?.id === 1551;
4915
+ const isConvertCurrencyMenu = menu?.action?.res_model === "currency.convert" && menu?.action?.id?.id === 1562;
4916
+ const path2 = (0, utils_exports.formatUrlPath)({
4917
+ viewType,
4918
+ actionPath: isConvertCurrencyMenu ? "menu" : isAccountPayment ? "menu" : menu?.action?.path || "menu",
4919
+ aid: menu?.action?.id?.id,
4920
+ model: queryActionDetail.res_model
4921
+ });
4922
+ setPath(path2);
4923
+ };
4924
+ return { handleClick, path, queryActionDetail };
4925
+ };
4926
+
4927
+ // src/hooks/utils/use-click-outside.ts
4928
+ var import_react12 = require("react");
4867
4929
  var DEFAULT_EVENTS = ["mousedown", "touchstart"];
4868
4930
  var useClickOutside = ({
4869
4931
  handler,
@@ -4871,8 +4933,8 @@ var useClickOutside = ({
4871
4933
  nodes = [],
4872
4934
  refs
4873
4935
  }) => {
4874
- const ref = (0, import_react11.useRef)(null);
4875
- (0, import_react11.useEffect)(() => {
4936
+ const ref = (0, import_react12.useRef)(null);
4937
+ (0, import_react12.useEffect)(() => {
4876
4938
  const listener = (event) => {
4877
4939
  const { target } = event;
4878
4940
  if (refs && refs?.length > 0 && refs?.some((r) => r.current?.contains(target))) {
@@ -4894,10 +4956,10 @@ var useClickOutside = ({
4894
4956
  };
4895
4957
 
4896
4958
  // src/hooks/utils/use-debounce.ts
4897
- var import_react12 = require("react");
4959
+ var import_react13 = require("react");
4898
4960
  function useDebounce(value, delay) {
4899
- const [debouncedValue, setDebouncedValue] = (0, import_react12.useState)(value);
4900
- (0, import_react12.useEffect)(() => {
4961
+ const [debouncedValue, setDebouncedValue] = (0, import_react13.useState)(value);
4962
+ (0, import_react13.useEffect)(() => {
4901
4963
  const handler = setTimeout(() => {
4902
4964
  setDebouncedValue(value);
4903
4965
  }, delay);
@@ -5152,20 +5214,20 @@ var ChevronBottomIcon = ({
5152
5214
  };
5153
5215
 
5154
5216
  // src/widget/basic/status-dropdown-field/controller.ts
5155
- var import_react13 = require("react");
5156
- var import_environment5 = require("@fctc/interface-logic/environment");
5157
- var import_hooks10 = require("@fctc/interface-logic/hooks");
5217
+ var import_react14 = require("react");
5218
+ var import_environment6 = require("@fctc/interface-logic/environment");
5219
+ var import_hooks11 = require("@fctc/interface-logic/hooks");
5158
5220
  var statusDropdownController = (props) => {
5159
5221
  const { selection, isForm, id, model, name, state, onRefetch } = props;
5160
- const env = (0, import_environment5.getEnv)();
5222
+ const env = (0, import_environment6.getEnv)();
5161
5223
  const colors = {
5162
5224
  normal: "bg-[#e9ecef]",
5163
5225
  done: "bg-primary",
5164
5226
  blocked: "bg-red-500"
5165
5227
  };
5166
- const [isOpen, setIsOpen] = (0, import_react13.useState)(false);
5167
- const buttonRef = (0, import_react13.useRef)(null);
5168
- (0, import_react13.useEffect)(() => {
5228
+ const [isOpen, setIsOpen] = (0, import_react14.useState)(false);
5229
+ const buttonRef = (0, import_react14.useRef)(null);
5230
+ (0, import_react14.useEffect)(() => {
5169
5231
  const handleClickOutside = (event) => {
5170
5232
  if (buttonRef.current && !buttonRef.current.contains(event.target)) {
5171
5233
  setIsOpen(false);
@@ -5176,7 +5238,7 @@ var statusDropdownController = (props) => {
5176
5238
  document.removeEventListener("mousedown", handleClickOutside);
5177
5239
  };
5178
5240
  }, []);
5179
- const { mutate: onSave } = (0, import_hooks10.useSave)();
5241
+ const { mutate: onSave } = (0, import_hooks11.useSave)();
5180
5242
  const handleClick = async (status) => {
5181
5243
  setIsOpen(!isOpen);
5182
5244
  onSave(
@@ -5206,26 +5268,7 @@ var statusDropdownController = (props) => {
5206
5268
  };
5207
5269
 
5208
5270
  // src/widget/basic/many2one-field/controller.ts
5209
- var import_react14 = require("react");
5210
-
5211
- // src/utils.ts
5212
- var utils_exports = {};
5213
- __export(utils_exports, {
5214
- API_APP_URL: () => API_APP_URL,
5215
- API_PRESCHOOL_URL: () => API_PRESCHOOL_URL,
5216
- STORAGES: () => STORAGES,
5217
- combineContexts: () => combineContexts,
5218
- convertFieldsToArray: () => convertFieldsToArray,
5219
- countSum: () => countSum,
5220
- getDateRange: () => getDateRange,
5221
- languages: () => languages,
5222
- mergeButtons: () => mergeButtons,
5223
- setStorageItemAsync: () => setStorageItemAsync,
5224
- useGetRowIds: () => useGetRowIds,
5225
- useSelectionState: () => useSelectionState,
5226
- useStorageState: () => useStorageState
5227
- });
5228
- __reExport(utils_exports, require("@fctc/interface-logic/utils"));
5271
+ var import_react15 = require("react");
5229
5272
 
5230
5273
  // src/provider.ts
5231
5274
  var provider_exports = {};
@@ -5247,13 +5290,13 @@ var many2oneFieldController = (props) => {
5247
5290
  showDetail
5248
5291
  } = props;
5249
5292
  const { env } = (0, provider_exports.useEnv)();
5250
- const [options, setOptions] = (0, import_react14.useState)([]);
5251
- const [inputValue, setInputValue] = (0, import_react14.useState)("");
5293
+ const [options, setOptions] = (0, import_react15.useState)([]);
5294
+ const [inputValue, setInputValue] = (0, import_react15.useState)("");
5252
5295
  const [debouncedInputValue] = useDebounce(inputValue, 1e3);
5253
- const [isShowModalMany2Many, setIsShowModalMany2Many] = (0, import_react14.useState)(false);
5254
- const [tempSelectedOption, setTempSelectedOption] = (0, import_react14.useState)(null);
5255
- const [domainModal, setDomainModal] = (0, import_react14.useState)(null);
5256
- const [domainObject, setDomainObject] = (0, import_react14.useState)(null);
5296
+ const [isShowModalMany2Many, setIsShowModalMany2Many] = (0, import_react15.useState)(false);
5297
+ const [tempSelectedOption, setTempSelectedOption] = (0, import_react15.useState)(null);
5298
+ const [domainModal, setDomainModal] = (0, import_react15.useState)(null);
5299
+ const [domainObject, setDomainObject] = (0, import_react15.useState)(null);
5257
5300
  const actionData = sessionStorageUtils.getActionData();
5258
5301
  const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
5259
5302
  const initValue = methods?.getValues(name);
@@ -5263,7 +5306,7 @@ var many2oneFieldController = (props) => {
5263
5306
  ...fieldContext,
5264
5307
  ...env?.context
5265
5308
  };
5266
- const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
5309
+ const { useGetSelection: useGetSelection2 } = (0, provider_exports.useService)();
5267
5310
  const data = {
5268
5311
  model: relation,
5269
5312
  domain: domainObject,
@@ -5279,23 +5322,23 @@ var many2oneFieldController = (props) => {
5279
5322
  data: dataOfSelection,
5280
5323
  refetch,
5281
5324
  isFetching
5282
- } = useGetSelection3({
5325
+ } = useGetSelection2({
5283
5326
  data,
5284
5327
  queryKey,
5285
5328
  enabled: false
5286
5329
  });
5287
- const selectOptions = (0, import_react14.useMemo)(() => {
5330
+ const selectOptions = (0, import_react15.useMemo)(() => {
5288
5331
  return dataOfSelection?.records?.map((val) => ({
5289
5332
  value: val?.id,
5290
5333
  label: val?.display_name || val?.name
5291
5334
  })) || [];
5292
5335
  }, [dataOfSelection]);
5293
- (0, import_react14.useEffect)(() => {
5336
+ (0, import_react15.useEffect)(() => {
5294
5337
  setOptions(selectOptions);
5295
5338
  setDomainModal(domainObject);
5296
5339
  if (relation === "student.subject") (0, store_exports.setListSubject)(selectOptions);
5297
5340
  }, [selectOptions]);
5298
- (0, import_react14.useEffect)(() => {
5341
+ (0, import_react15.useEffect)(() => {
5299
5342
  setDomainObject(
5300
5343
  (0, utils_exports.evalJSONDomain)(
5301
5344
  domain,
@@ -5303,7 +5346,7 @@ var many2oneFieldController = (props) => {
5303
5346
  )
5304
5347
  );
5305
5348
  }, [domain, formValues]);
5306
- (0, import_react14.useEffect)(() => {
5349
+ (0, import_react15.useEffect)(() => {
5307
5350
  if (!propValue && tempSelectedOption) {
5308
5351
  methods.setValue(name, null);
5309
5352
  setTempSelectedOption(null);
@@ -5314,10 +5357,10 @@ var many2oneFieldController = (props) => {
5314
5357
  });
5315
5358
  }
5316
5359
  }, [propValue]);
5317
- const fetchMoreOptions = (0, import_react14.useCallback)(() => {
5360
+ const fetchMoreOptions = (0, import_react15.useCallback)(() => {
5318
5361
  refetch();
5319
5362
  }, [refetch]);
5320
- (0, import_react14.useEffect)(() => {
5363
+ (0, import_react15.useEffect)(() => {
5321
5364
  if (debouncedInputValue) {
5322
5365
  const filteredDomain = [...domainObject ?? []]?.filter(
5323
5366
  (d) => !(Array.isArray(d) && d[0] === "name" && d[1] === "ilike")
@@ -5332,7 +5375,7 @@ var many2oneFieldController = (props) => {
5332
5375
  }, 50);
5333
5376
  }
5334
5377
  }, [debouncedInputValue]);
5335
- const handleChooseRecord = (0, import_react14.useCallback)(
5378
+ const handleChooseRecord = (0, import_react15.useCallback)(
5336
5379
  (idRecord) => {
5337
5380
  const newOption = options.find(
5338
5381
  (option) => option.value === idRecord
@@ -5357,8 +5400,8 @@ var many2oneFieldController = (props) => {
5357
5400
  },
5358
5401
  [options, methods, name, onChange]
5359
5402
  );
5360
- const handleClose = (0, import_react14.useCallback)(() => setIsShowModalMany2Many(false), []);
5361
- const handleSelectChange = (0, import_react14.useCallback)(
5403
+ const handleClose = (0, import_react15.useCallback)(() => setIsShowModalMany2Many(false), []);
5404
+ const handleSelectChange = (0, import_react15.useCallback)(
5362
5405
  (selectedOption) => {
5363
5406
  if (!selectedOption) {
5364
5407
  methods.setValue(name, null, { shouldDirty: true });
@@ -5405,20 +5448,20 @@ var many2oneFieldController = (props) => {
5405
5448
  };
5406
5449
 
5407
5450
  // src/widget/basic/many2one-button-field/controller.ts
5408
- var import_environment6 = require("@fctc/interface-logic/environment");
5409
- var import_hooks12 = require("@fctc/interface-logic/hooks");
5410
- var import_utils5 = require("@fctc/interface-logic/utils");
5451
+ var import_environment7 = require("@fctc/interface-logic/environment");
5452
+ var import_hooks13 = require("@fctc/interface-logic/hooks");
5453
+ var import_utils6 = require("@fctc/interface-logic/utils");
5411
5454
  var many2oneButtonController = (props) => {
5412
5455
  const { domain, methods, relation } = props;
5413
5456
  const actionDataString = sessionStorage.getItem("actionData");
5414
- const env = (0, import_environment6.getEnv)();
5415
- const domainObject = (0, import_utils5.evalJSONDomain)(domain, methods?.getValues() || {});
5457
+ const env = (0, import_environment7.getEnv)();
5458
+ const domainObject = (0, import_utils6.evalJSONDomain)(domain, methods?.getValues() || {});
5416
5459
  const actionData = actionDataString && actionDataString !== "undefined" ? JSON.parse(actionDataString) : {};
5417
- const { data: dataOfSelection } = (0, import_hooks12.useGetSelection)({
5460
+ const { data: dataOfSelection } = (0, import_hooks13.useGetSelection)({
5418
5461
  data: {
5419
5462
  model: relation ?? "",
5420
5463
  domain: domainObject,
5421
- context: { ...env.context, ...(0, import_utils5.evalJSONContext)(actionData?.context) }
5464
+ context: { ...env.context, ...(0, import_utils6.evalJSONContext)(actionData?.context) }
5422
5465
  },
5423
5466
  queryKey: [`data_${relation}`, domainObject]
5424
5467
  });
@@ -5432,8 +5475,8 @@ var many2oneButtonController = (props) => {
5432
5475
  };
5433
5476
 
5434
5477
  // src/widget/basic/many2many-field/controller.ts
5435
- var import_react15 = require("react");
5436
- var import_utils6 = require("@fctc/interface-logic/utils");
5478
+ var import_react16 = require("react");
5479
+ var import_utils7 = require("@fctc/interface-logic/utils");
5437
5480
  var many2manyFieldController = (props) => {
5438
5481
  const {
5439
5482
  relation,
@@ -5441,16 +5484,16 @@ var many2manyFieldController = (props) => {
5441
5484
  context,
5442
5485
  options,
5443
5486
  tab,
5444
- setSelectedRowKeys: setSelectedRowKeys4,
5487
+ setSelectedRowKeys: setSelectedRowKeys3,
5445
5488
  groupByDomain,
5446
5489
  enabled: enabledCallAPI,
5447
5490
  actionData
5448
5491
  } = props;
5449
5492
  const { env } = (0, provider_exports.useEnv)();
5450
5493
  const { useGetView: useGetView2, useGetListData: useGetListData3, useGetFormView } = (0, provider_exports.useService)();
5451
- const [order, setOrder] = (0, import_react15.useState)();
5452
- const [page, setPage] = (0, import_react15.useState)(0);
5453
- const [domainMany2Many, setDomainMany2Many] = (0, import_react15.useState)(null);
5494
+ const [order, setOrder] = (0, import_react16.useState)();
5495
+ const [page, setPage] = (0, import_react16.useState)(0);
5496
+ const [domainMany2Many, setDomainMany2Many] = (0, import_react16.useState)(null);
5454
5497
  const [debouncedPage] = useDebounce(page, 500);
5455
5498
  const contextObject = {
5456
5499
  ...env.context,
@@ -5465,7 +5508,7 @@ var many2manyFieldController = (props) => {
5465
5508
  context: contextObject
5466
5509
  };
5467
5510
  const { data: viewResponse } = useGetView2(viewParams, enabledCallAPI);
5468
- const baseModel = (0, import_react15.useMemo)(
5511
+ const baseModel = (0, import_react16.useMemo)(
5469
5512
  () => ({
5470
5513
  name: String(relation),
5471
5514
  view: viewResponse || {},
@@ -5478,23 +5521,23 @@ var many2manyFieldController = (props) => {
5478
5521
  [relation, viewResponse]
5479
5522
  );
5480
5523
  const initModel = (0, hooks_exports.useModel)();
5481
- const modelInstance = (0, import_react15.useMemo)(() => {
5524
+ const modelInstance = (0, import_react16.useMemo)(() => {
5482
5525
  if (viewResponse) {
5483
5526
  return initModel.initModel(baseModel);
5484
5527
  }
5485
5528
  return null;
5486
5529
  }, [baseModel, viewResponse]);
5487
- const specification = (0, import_react15.useMemo)(() => {
5530
+ const specification = (0, import_react16.useMemo)(() => {
5488
5531
  if (modelInstance) {
5489
5532
  return modelInstance.getSpecification();
5490
5533
  }
5491
5534
  return null;
5492
5535
  }, [modelInstance]);
5493
5536
  const default_order = viewResponse && viewResponse?.views?.list?.default_order;
5494
- const optionsObject = tab?.options ? (0, import_utils6.evalJSONContext)(tab?.options) : (options ? (0, import_utils6.evalJSONContext)(options) : {}) || {};
5537
+ const optionsObject = tab?.options ? (0, import_utils7.evalJSONContext)(tab?.options) : (options ? (0, import_utils7.evalJSONContext)(options) : {}) || {};
5495
5538
  const fetchData = async () => {
5496
5539
  try {
5497
- const domainParse = typeof domain === "string" ? (0, import_utils6.evalJSONDomain)(domain, contextObject) : Array.isArray(domain) ? domain : [];
5540
+ const domainParse = typeof domain === "string" ? (0, import_utils7.evalJSONDomain)(domain, contextObject) : Array.isArray(domain) ? domain : [];
5498
5541
  setDomainMany2Many(domainParse);
5499
5542
  setPage(0);
5500
5543
  } catch (err) {
@@ -5518,7 +5561,7 @@ var many2manyFieldController = (props) => {
5518
5561
  context: contextObject,
5519
5562
  fields: groupByDomain?.fields,
5520
5563
  groupby: [groupByDomain?.contexts[0]?.group_by],
5521
- sort: order ? order : default_order ? (0, import_utils6.formatSortingString)(default_order) : ""
5564
+ sort: order ? order : default_order ? (0, import_utils7.formatSortingString)(default_order) : ""
5522
5565
  };
5523
5566
  const enabled = enabledCallAPI && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
5524
5567
  const {
@@ -5527,13 +5570,13 @@ var many2manyFieldController = (props) => {
5527
5570
  isFetched,
5528
5571
  isPlaceholderData
5529
5572
  } = useGetListData3(data, queryKey, enabled);
5530
- (0, import_react15.useEffect)(() => {
5573
+ (0, import_react16.useEffect)(() => {
5531
5574
  if (viewResponse) {
5532
5575
  fetchData();
5533
5576
  }
5534
5577
  return () => {
5535
5578
  setPage(0);
5536
- setSelectedRowKeys4([]);
5579
+ setSelectedRowKeys3([]);
5537
5580
  setDomainMany2Many(null);
5538
5581
  };
5539
5582
  }, [viewResponse]);
@@ -5580,11 +5623,9 @@ var many2manyFieldController = (props) => {
5580
5623
  };
5581
5624
 
5582
5625
  // src/widget/basic/many2many-tags-field/controller.ts
5583
- var import_react16 = require("react");
5626
+ var import_react17 = require("react");
5584
5627
  var import_constants4 = require("@fctc/interface-logic/constants");
5585
- var import_environment7 = require("@fctc/interface-logic/environment");
5586
- var import_hooks14 = require("@fctc/interface-logic/hooks");
5587
- var import_utils7 = require("@fctc/interface-logic/utils");
5628
+ var import_utils8 = require("@fctc/interface-logic/utils");
5588
5629
  var many2manyTagsController = (props) => {
5589
5630
  const {
5590
5631
  relation,
@@ -5595,10 +5636,11 @@ var many2manyTagsController = (props) => {
5595
5636
  placeholderNoOption
5596
5637
  } = props;
5597
5638
  const isUser = relation === "res.users" || relation === "res.partner";
5598
- const env = (0, import_environment7.getEnv)();
5599
- const addtionalFields = optionsFields ? (0, import_utils7.evalJSONContext)(optionsFields) : null;
5600
- const domainObject = (0, import_react16.useMemo)(
5601
- () => (0, import_utils7.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
5639
+ const { env } = (0, provider_exports.useEnv)();
5640
+ const { useGetSelection: useGetSelection2 } = (0, provider_exports.useService)();
5641
+ const addtionalFields = optionsFields ? (0, import_utils8.evalJSONContext)(optionsFields) : null;
5642
+ const domainObject = (0, import_react17.useMemo)(
5643
+ () => (0, import_utils8.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues || {}))),
5602
5644
  [domain, formValues]
5603
5645
  );
5604
5646
  const data = {
@@ -5614,7 +5656,7 @@ var many2manyTagsController = (props) => {
5614
5656
  enabled: true,
5615
5657
  context: env.context
5616
5658
  };
5617
- const { data: dataOfSelection } = (0, import_hooks14.useGetSelection)({
5659
+ const { data: dataOfSelection } = useGetSelection2({
5618
5660
  data,
5619
5661
  queryKey: [`data_${relation}`, domainObject]
5620
5662
  });
@@ -5634,16 +5676,15 @@ var many2manyTagsController = (props) => {
5634
5676
  options,
5635
5677
  customNoOptionsMessage,
5636
5678
  tranfer,
5637
- dataOfSelection,
5638
5679
  isUser
5639
5680
  };
5640
5681
  };
5641
5682
 
5642
5683
  // src/widget/basic/status-bar-field/controller.ts
5643
- var import_react17 = require("react");
5644
- var import_utils8 = require("@fctc/interface-logic/utils");
5684
+ var import_react18 = require("react");
5685
+ var import_utils9 = require("@fctc/interface-logic/utils");
5645
5686
  var durationController = (props) => {
5646
- const { relation, domain, formValues, name, id, model, onRefetch } = props;
5687
+ const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
5647
5688
  const specification = {
5648
5689
  id: 0,
5649
5690
  name: "",
@@ -5651,13 +5692,13 @@ var durationController = (props) => {
5651
5692
  };
5652
5693
  const { useGetListData: useGetListData3, useChangeStatus } = (0, provider_exports.useService)();
5653
5694
  const { env } = (0, provider_exports.useEnv)();
5654
- const [disabled, setDisabled] = (0, import_react17.useState)(false);
5655
- const [modelStatus, setModalStatus] = (0, import_react17.useState)(false);
5695
+ const [disabled, setDisabled] = (0, import_react18.useState)(false);
5696
+ const [modelStatus, setModalStatus] = (0, import_react18.useState)(false);
5656
5697
  const queryKey = [`data-status-duration`, specification];
5657
5698
  const listDataProps = {
5658
5699
  model: relation,
5659
5700
  specification,
5660
- domain: (0, import_utils8.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
5701
+ domain: (0, import_utils9.evalJSONDomain)(domain, JSON.parse(JSON.stringify(formValues))),
5661
5702
  limit: 10,
5662
5703
  offset: 0,
5663
5704
  fields: "",
@@ -5667,7 +5708,11 @@ var durationController = (props) => {
5667
5708
  },
5668
5709
  sort: ""
5669
5710
  };
5670
- const { data: dataResponse } = useGetListData3(listDataProps, queryKey);
5711
+ const { data: dataResponse } = useGetListData3(
5712
+ listDataProps,
5713
+ queryKey,
5714
+ enabled
5715
+ );
5671
5716
  const { mutate: fetchChangeStatus } = useChangeStatus();
5672
5717
  const handleClick = async (stage_id) => {
5673
5718
  setDisabled(true);
@@ -5703,32 +5748,18 @@ var durationController = (props) => {
5703
5748
  };
5704
5749
 
5705
5750
  // src/widget/basic/priority-field/controller.ts
5706
- var import_hooks15 = require("@fctc/interface-logic/hooks");
5707
- var import_utils9 = require("@fctc/interface-logic/utils");
5751
+ var import_utils10 = require("@fctc/interface-logic/utils");
5708
5752
  var priorityFieldController = (props) => {
5709
- const {
5710
- value,
5711
- isForm,
5712
- name,
5713
- methods,
5714
- onChange,
5715
- model,
5716
- selection,
5717
- id,
5718
- actionData,
5719
- viewData,
5720
- context
5721
- } = props;
5722
- const _context = { ...(0, import_utils9.evalJSONContext)(actionData?.context) };
5753
+ const { name, model, id, actionData, context, onChange } = props;
5754
+ const _context = { ...(0, import_utils10.evalJSONContext)(actionData?.context) };
5723
5755
  const contextObject = { ...context, ..._context };
5724
- const defaultPriority = parseInt(value) + 1;
5725
- const label = viewData?.models?.[model]?.[name ?? ""]?.string ?? name;
5726
- const { mutateAsync: fetchSave } = (0, import_hooks15.useSave)();
5756
+ const { useSave: useSave2 } = (0, provider_exports.useService)();
5757
+ const { mutateAsync: fetchSave } = useSave2();
5727
5758
  const savePriorities = async ({
5728
- value: value2,
5759
+ value,
5729
5760
  resetPriority
5730
5761
  }) => {
5731
- const priorityValue = value2 <= 0 ? 0 : value2 - 1;
5762
+ const priorityValue = value <= 0 ? 0 : value - 1;
5732
5763
  try {
5733
5764
  fetchSave({
5734
5765
  ids: id ? [id] : [],
@@ -5746,22 +5777,15 @@ var priorityFieldController = (props) => {
5746
5777
  }
5747
5778
  };
5748
5779
  return {
5749
- selection,
5750
- isForm,
5751
- methods,
5752
- defaultPriority,
5753
- savePriorities,
5754
- label,
5755
- id,
5756
- onChange
5780
+ savePriorities
5757
5781
  };
5758
5782
  };
5759
5783
 
5760
5784
  // src/widget/basic/download-file-field/controller.ts
5761
- var import_react18 = require("react");
5785
+ var import_react19 = require("react");
5762
5786
  var downloadFileController = () => {
5763
- const inputId = (0, import_react18.useId)();
5764
- const [file, setFile] = (0, import_react18.useState)(null);
5787
+ const inputId = (0, import_react19.useId)();
5788
+ const [file, setFile] = (0, import_react19.useState)(null);
5765
5789
  const handleFileChange = (e) => {
5766
5790
  setFile(e.target.files[0]);
5767
5791
  };
@@ -6693,13 +6717,13 @@ var dateFieldController = (props) => {
6693
6717
  };
6694
6718
 
6695
6719
  // src/widget/basic/copy-link-button/controller.ts
6696
- var import_react19 = require("react");
6697
- var import_utils10 = require("@fctc/interface-logic/utils");
6720
+ var import_react20 = require("react");
6721
+ var import_utils11 = require("@fctc/interface-logic/utils");
6698
6722
  var copyLinkButtonController = (props) => {
6699
6723
  const { value, defaultValue } = props;
6700
- const [isCopied, setIsCopied] = (0, import_react19.useState)(false);
6724
+ const [isCopied, setIsCopied] = (0, import_react20.useState)(false);
6701
6725
  const handleCopyToClipboard = async (value2) => {
6702
- await (0, import_utils10.copyTextToClipboard)(value2);
6726
+ await (0, import_utils11.copyTextToClipboard)(value2);
6703
6727
  setIsCopied(true);
6704
6728
  setTimeout(() => setIsCopied(false), 2e3);
6705
6729
  };
@@ -6712,15 +6736,15 @@ var copyLinkButtonController = (props) => {
6712
6736
  };
6713
6737
 
6714
6738
  // src/widget/basic/color-field/color-controller.ts
6715
- var import_utils11 = require("@fctc/interface-logic/utils");
6739
+ var import_utils12 = require("@fctc/interface-logic/utils");
6716
6740
  var colorFieldController = (props) => {
6717
6741
  const { value, isForm, name, formValues, idForm, model, actionData } = props;
6718
6742
  const { env } = (0, provider_exports.useEnv)();
6719
- const { useSave: useSave3 } = (0, provider_exports.useService)();
6720
- const _context = { ...(0, import_utils11.evalJSONContext)(actionData?.context) || {} };
6743
+ const { useSave: useSave2 } = (0, provider_exports.useService)();
6744
+ const _context = { ...(0, import_utils12.evalJSONContext)(actionData?.context) || {} };
6721
6745
  const contextObject = { ...env.context, ..._context };
6722
6746
  const idDefault = isForm ? idForm : formValues?.id;
6723
- const { mutate: onSave } = useSave3();
6747
+ const { mutate: onSave } = useSave2();
6724
6748
  const savePickColor = async (colorObject) => {
6725
6749
  const { id } = colorObject;
6726
6750
  if (value === id) return;
@@ -6745,16 +6769,16 @@ var colorFieldController = (props) => {
6745
6769
  };
6746
6770
 
6747
6771
  // src/widget/basic/binary-field/controller.ts
6748
- var import_react20 = require("react");
6749
- var import_utils12 = require("@fctc/interface-logic/utils");
6772
+ var import_react21 = require("react");
6773
+ var import_utils13 = require("@fctc/interface-logic/utils");
6750
6774
  var binaryFieldController = (props) => {
6751
6775
  const { name, methods, readonly = false, value } = props;
6752
- const inputId = (0, import_react20.useId)();
6753
- const [selectedImage, setSelectedImage] = (0, import_react20.useState)(null);
6754
- const [initialImage, setInitialImage] = (0, import_react20.useState)(value || null);
6755
- const [isInsideTable, setIsInsideTable] = (0, import_react20.useState)(false);
6776
+ const inputId = (0, import_react21.useId)();
6777
+ const [selectedImage, setSelectedImage] = (0, import_react21.useState)(null);
6778
+ const [initialImage, setInitialImage] = (0, import_react21.useState)(value || null);
6779
+ const [isInsideTable, setIsInsideTable] = (0, import_react21.useState)(false);
6756
6780
  const { setValue } = methods;
6757
- const binaryRef = (0, import_react20.useRef)(null);
6781
+ const binaryRef = (0, import_react21.useRef)(null);
6758
6782
  const convertUrlToBase64 = async (url) => {
6759
6783
  try {
6760
6784
  const response = await fetch(url);
@@ -6803,11 +6827,11 @@ var binaryFieldController = (props) => {
6803
6827
  };
6804
6828
  const checkIsImageLink = (url) => {
6805
6829
  const imageExtensions = /\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i;
6806
- return imageExtensions.test(url) || (0, import_utils12.isBase64Image)(url) || isBlobUrl(url);
6830
+ return imageExtensions.test(url) || (0, import_utils13.isBase64Image)(url) || isBlobUrl(url);
6807
6831
  };
6808
6832
  const getImageBase64WithMimeType = (base64) => {
6809
6833
  if (typeof base64 !== "string" || base64.length < 10) return null;
6810
- if ((0, import_utils12.isBase64Image)(base64)) return base64;
6834
+ if ((0, import_utils13.isBase64Image)(base64)) return base64;
6811
6835
  let mimeType = null;
6812
6836
  if (base64.startsWith("iVBORw0KGgo")) mimeType = "image/png";
6813
6837
  else if (base64.startsWith("/9j/")) mimeType = "image/jpeg";
@@ -6816,14 +6840,14 @@ var binaryFieldController = (props) => {
6816
6840
  else if (base64.startsWith("UklGR")) mimeType = "image/webp";
6817
6841
  return mimeType ? `data:${mimeType};base64,${base64}` : null;
6818
6842
  };
6819
- (0, import_react20.useEffect)(() => {
6843
+ (0, import_react21.useEffect)(() => {
6820
6844
  return () => {
6821
6845
  if (selectedImage) {
6822
6846
  URL.revokeObjectURL(selectedImage);
6823
6847
  }
6824
6848
  };
6825
6849
  }, [selectedImage]);
6826
- (0, import_react20.useEffect)(() => {
6850
+ (0, import_react21.useEffect)(() => {
6827
6851
  if (binaryRef.current) {
6828
6852
  const isInsideTable2 = !!binaryRef.current.closest("table");
6829
6853
  setIsInsideTable(isInsideTable2);
@@ -6842,103 +6866,36 @@ var binaryFieldController = (props) => {
6842
6866
  };
6843
6867
  };
6844
6868
 
6845
- // src/widget/advance/table/table-body/controller.ts
6846
- var import_store8 = require("@fctc/interface-logic/store");
6847
- var import_react21 = require("react");
6848
- var tableBodyController = (props) => {
6849
- const {
6850
- checkedAll,
6851
- checkboxRef,
6852
- setIsAutoSelect,
6853
- selectedRowKeys,
6854
- row,
6855
- isAutoSelect,
6856
- selectedRowKeysRef,
6857
- onClickRow
6858
- } = props;
6859
- const appDispatch = (0, import_store8.useAppDispatch)();
6860
- const checked = (0, import_react21.useMemo)(() => {
6861
- if (!row?.id) return false;
6862
- if (selectedRowKeys?.includes(row.id)) {
6863
- return true;
6864
- }
6865
- return checkedAll;
6866
- }, [row?.id, selectedRowKeys, checkedAll]);
6867
- const handleCheckBoxSingle = (event) => {
6868
- event.stopPropagation();
6869
- if (checkedAll) {
6870
- checkboxRef.current = "uncheck";
6871
- setIsAutoSelect(true);
6872
- return;
6873
- }
6874
- const newSelectedRowKeys = selectedRowKeys?.includes(row.id) ? selectedRowKeys?.filter((key) => key !== row.id) : [...selectedRowKeys, row.id];
6875
- console.log("newSelectedRowKeys", newSelectedRowKeys);
6876
- appDispatch((0, import_store8.setSelectedRowKeys)(newSelectedRowKeys));
6877
- };
6878
- const handleClickRow = (col, row2) => {
6879
- onClickRow(col, row2);
6880
- };
6881
- (0, import_react21.useEffect)(() => {
6882
- if (!row?.id) return;
6883
- if (isAutoSelect) {
6884
- if (checkboxRef?.current === "uncheck") {
6885
- const filtered = selectedRowKeysRef.current.filter(
6886
- (id) => id !== row.id
6887
- );
6888
- selectedRowKeysRef.current = filtered;
6889
- appDispatch((0, import_store8.setSelectedRowKeys)(filtered));
6890
- } else {
6891
- const unique = Array.from(
6892
- /* @__PURE__ */ new Set([...selectedRowKeysRef?.current, row?.id])
6893
- );
6894
- selectedRowKeysRef.current = unique;
6895
- appDispatch((0, import_store8.setSelectedRowKeys)(unique));
6896
- }
6897
- }
6898
- }, [isAutoSelect]);
6899
- (0, import_react21.useEffect)(() => {
6900
- if (!checkedAll) {
6901
- checkboxRef.current = "enabled";
6902
- false;
6903
- }
6904
- }, [checkedAll]);
6905
- return {
6906
- handleCheckBoxSingle,
6907
- checked,
6908
- handleClickRow
6909
- };
6910
- };
6911
-
6912
6869
  // src/widget/advance/table/table-head/controller.ts
6913
- var import_store9 = require("@fctc/interface-logic/store");
6870
+ var import_store8 = require("@fctc/interface-logic/store");
6914
6871
  var tableHeadController = (props) => {
6915
6872
  const { typeTable, rows, selectedRowKeysRef } = props;
6916
- const appDispatch = (0, import_store9.useAppDispatch)();
6917
- const { groupByDomain } = (0, import_store9.useAppSelector)(import_store9.selectSearch);
6873
+ const appDispatch = (0, import_store8.useAppDispatch)();
6874
+ const { groupByDomain } = (0, import_store8.useAppSelector)(import_store8.selectSearch);
6918
6875
  const handleCheckBoxAll = (event) => {
6919
6876
  if (event?.target?.checked && typeTable === "list") {
6920
6877
  const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
6921
- appDispatch((0, import_store9.setSelectedRowKeys)(allRowKeys));
6878
+ appDispatch((0, import_store8.setSelectedRowKeys)(allRowKeys));
6922
6879
  } else if (event?.target?.checked && typeTable === "group") {
6923
6880
  const rowsIDs = document.querySelectorAll("tr[data-row-id]");
6924
6881
  const ids = Array.from(rowsIDs)?.map(
6925
6882
  (row) => Number(row?.getAttribute("data-row-id"))
6926
6883
  );
6927
6884
  if (ids?.length > 0) {
6928
- appDispatch((0, import_store9.setSelectedRowKeys)(ids));
6885
+ appDispatch((0, import_store8.setSelectedRowKeys)(ids));
6929
6886
  } else {
6930
6887
  const sum = countSum(
6931
6888
  rows,
6932
6889
  typeof groupByDomain === "object" ? groupByDomain?.contexts?.[0]?.group_by : void 0
6933
6890
  );
6934
6891
  const keys = Array.from({ length: sum }, (_) => void 0);
6935
- appDispatch((0, import_store9.setSelectedRowKeys)(keys));
6892
+ appDispatch((0, import_store8.setSelectedRowKeys)(keys));
6936
6893
  }
6937
6894
  if (selectedRowKeysRef) {
6938
6895
  selectedRowKeysRef.current = [];
6939
6896
  }
6940
6897
  } else {
6941
- appDispatch((0, import_store9.setSelectedRowKeys)([]));
6898
+ appDispatch((0, import_store8.setSelectedRowKeys)([]));
6942
6899
  }
6943
6900
  };
6944
6901
  return {
@@ -6948,8 +6905,8 @@ var tableHeadController = (props) => {
6948
6905
 
6949
6906
  // src/widget/advance/table/table-view/controller.ts
6950
6907
  var import_react22 = require("react");
6951
- var import_store10 = require("@fctc/interface-logic/store");
6952
- var import_utils13 = require("@fctc/interface-logic/utils");
6908
+ var import_store9 = require("@fctc/interface-logic/store");
6909
+ var import_utils14 = require("@fctc/interface-logic/utils");
6953
6910
  var tableController = ({ data }) => {
6954
6911
  const [rows, setRows] = (0, import_react22.useState)(data.records || []);
6955
6912
  const [columns, setColumns] = (0, import_react22.useState)([]);
@@ -6987,7 +6944,7 @@ var tableController = ({ data }) => {
6987
6944
  let cols = [];
6988
6945
  try {
6989
6946
  cols = mergeFields?.filter((item) => {
6990
- return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils13.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils13.domainHelper.matchDomains(data.context, item?.invisible) : false);
6947
+ return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils14.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils14.domainHelper.matchDomains(data.context, item?.invisible) : false);
6991
6948
  })?.map((field) => {
6992
6949
  return {
6993
6950
  name: field?.name,
@@ -7027,8 +6984,8 @@ var tableController = ({ data }) => {
7027
6984
 
7028
6985
  // src/widget/advance/table/table-group/controller.ts
7029
6986
  var import_react23 = require("react");
7030
- var import_hooks16 = require("@fctc/interface-logic/hooks");
7031
- var import_store11 = require("@fctc/interface-logic/store");
6987
+ var import_hooks15 = require("@fctc/interface-logic/hooks");
6988
+ var import_store10 = require("@fctc/interface-logic/store");
7032
6989
 
7033
6990
  // src/environment.ts
7034
6991
  var environment_exports = {};
@@ -7056,10 +7013,10 @@ var tableGroupController = (props) => {
7056
7013
  selectedRowKeysRef
7057
7014
  } = props;
7058
7015
  const [pageGroup, setPageGroup] = (0, import_react23.useState)(0);
7059
- const { groupByDomain, selectedTags } = (0, import_store11.useAppSelector)(import_store11.selectSearch);
7060
- const { selectedRowKeys } = (0, import_store11.useAppSelector)(import_store11.selectList);
7061
- const appDispatch = (0, import_store11.useAppDispatch)();
7062
- const { toDataJS } = (0, import_hooks16.useOdooDataTransform)();
7016
+ const { groupByDomain, selectedTags } = (0, import_store10.useAppSelector)(import_store10.selectSearch);
7017
+ const { selectedRowKeys } = (0, import_store10.useAppSelector)(import_store10.selectList);
7018
+ const appDispatch = (0, import_store10.useAppDispatch)();
7019
+ const { toDataJS } = (0, import_hooks15.useOdooDataTransform)();
7063
7020
  const initVal = toDataJS(row, viewData, model);
7064
7021
  const [isShowGroup, setIsShowGroup] = (0, import_react23.useState)(false);
7065
7022
  const [colEmptyGroup, setColEmptyGroup] = (0, import_react23.useState)({
@@ -7106,7 +7063,7 @@ var tableGroupController = (props) => {
7106
7063
  isPlaceholderData,
7107
7064
  isLoading,
7108
7065
  isFetching
7109
- } = (0, import_hooks16.useGetListData)(listDataProps, queryKey, enabled);
7066
+ } = (0, import_hooks15.useGetListData)(listDataProps, queryKey, enabled);
7110
7067
  const {
7111
7068
  columns: columnsGroup,
7112
7069
  rows: rowsGroup,
@@ -7144,14 +7101,14 @@ var tableGroupController = (props) => {
7144
7101
  const filteredIds = selectedRowKeys.filter(
7145
7102
  (id) => !ids.includes(id)
7146
7103
  );
7147
- appDispatch((0, import_store11.setSelectedRowKeys)(filteredIds));
7104
+ appDispatch((0, import_store10.setSelectedRowKeys)(filteredIds));
7148
7105
  } else if (!isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && checkedAll && !allIdsNull && isQueryFetched) {
7149
7106
  const clonedKeys = [...selectedRowKeys];
7150
- appDispatch((0, import_store11.setSelectedRowKeys)([...clonedKeys, -1]));
7151
- setTimeout(() => appDispatch((0, import_store11.setSelectedRowKeys)(clonedKeys)), 500);
7107
+ appDispatch((0, import_store10.setSelectedRowKeys)([...clonedKeys, -1]));
7108
+ setTimeout(() => appDispatch((0, import_store10.setSelectedRowKeys)(clonedKeys)), 500);
7152
7109
  } else if (isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && !checkedAll && !allIdsNull) {
7153
7110
  const filteredKeys = selectedRowKeys.filter((id) => id > -1);
7154
- appDispatch((0, import_store11.setSelectedRowKeys)(filteredKeys));
7111
+ appDispatch((0, import_store10.setSelectedRowKeys)(filteredKeys));
7155
7112
  }
7156
7113
  toggleShowGroup();
7157
7114
  };
@@ -7160,8 +7117,8 @@ var tableGroupController = (props) => {
7160
7117
  return;
7161
7118
  }
7162
7119
  const clonedKeys = [...selectedRowKeys];
7163
- (0, import_store11.setSelectedRowKeys)([...clonedKeys, -1]);
7164
- setTimeout(() => (0, import_store11.setSelectedRowKeys)(clonedKeys), 500);
7120
+ (0, import_store10.setSelectedRowKeys)([...clonedKeys, -1]);
7121
+ setTimeout(() => (0, import_store10.setSelectedRowKeys)(clonedKeys), 500);
7165
7122
  }, [isQueryFetched]);
7166
7123
  return {
7167
7124
  handleExpandChildGroup,
@@ -7196,7 +7153,7 @@ var tableGroupController = (props) => {
7196
7153
 
7197
7154
  // src/widget/advance/search/controller.ts
7198
7155
  var import_constants5 = require("@fctc/interface-logic/constants");
7199
- var import_utils14 = require("@fctc/interface-logic/utils");
7156
+ var import_utils15 = require("@fctc/interface-logic/utils");
7200
7157
  var import_moment2 = __toESM(require_moment());
7201
7158
  var import_react24 = require("react");
7202
7159
  var searchController = ({
@@ -7213,9 +7170,9 @@ var searchController = ({
7213
7170
  const [selectedTags, setSelectedTags] = (0, import_react24.useState)(null);
7214
7171
  const [searchString, setSearchString] = (0, import_react24.useState)("");
7215
7172
  const [searchMap, setSearchMap] = (0, import_react24.useState)({});
7216
- const actionContext = typeof context === "string" ? (0, import_utils14.evalJSONContext)(context) : context;
7173
+ const actionContext = typeof context === "string" ? (0, import_utils15.evalJSONContext)(context) : context;
7217
7174
  const contextSearch = { ...env.context, ...actionContext };
7218
- const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils14.evalJSONDomain)(domain, contextSearch) : [];
7175
+ const domainAction = domain ? Array.isArray(domain) ? [...domain] : (0, import_utils15.evalJSONDomain)(domain, contextSearch) : [];
7219
7176
  const clearSearch = () => {
7220
7177
  setFilterBy([]);
7221
7178
  setGroupBy([]);
@@ -7230,7 +7187,7 @@ var searchController = ({
7230
7187
  const dataModel = viewData?.models?.[model];
7231
7188
  const searchViews = viewData?.views?.search;
7232
7189
  const searchByItems = searchViews?.search_by?.filter(
7233
- (item) => !import_utils14.domainHelper.matchDomains(contextSearch, item.invisible)
7190
+ (item) => !import_utils15.domainHelper.matchDomains(contextSearch, item.invisible)
7234
7191
  )?.map(
7235
7192
  ({ string, name, filter_domain, operator, widget }, index) => ({
7236
7193
  dataIndex: index,
@@ -7243,10 +7200,10 @@ var searchController = ({
7243
7200
  })
7244
7201
  );
7245
7202
  const filterByItems = searchViews?.filter_by.filter((item) => {
7246
- return !import_utils14.domainHelper.matchDomains(contextSearch, item?.invisible);
7203
+ return !import_utils15.domainHelper.matchDomains(contextSearch, item?.invisible);
7247
7204
  })?.map((item) => ({ ...item, active: false }));
7248
7205
  const groupByItems = searchViews?.group_by.filter(
7249
- (item) => !import_utils14.domainHelper.matchDomains(contextSearch, item?.invisible)
7206
+ (item) => !import_utils15.domainHelper.matchDomains(contextSearch, item?.invisible)
7250
7207
  ).map((item) => ({
7251
7208
  ...item,
7252
7209
  string: item.string ?? viewData?.models?.[model]?.[item?.name?.split("group_by_")?.[1]]?.string
@@ -7323,14 +7280,14 @@ var searchController = ({
7323
7280
  }
7324
7281
  let valueDomainItem = value?.value;
7325
7282
  if (value?.modelType === "date") {
7326
- valueDomainItem = (0, import_utils14.validateAndParseDate)(value?.value);
7283
+ valueDomainItem = (0, import_utils15.validateAndParseDate)(value?.value);
7327
7284
  } else if (value?.modelType === "datetime") {
7328
7285
  if (value?.operator === "<=" || value?.operator === "<") {
7329
- const parsedDate = (0, import_utils14.validateAndParseDate)(value?.value, true);
7286
+ const parsedDate = (0, import_utils15.validateAndParseDate)(value?.value, true);
7330
7287
  const hasTime = (0, import_moment2.default)(value?.value).format("HH:mm:ss") !== "00:00:00";
7331
7288
  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");
7332
7289
  } else {
7333
- valueDomainItem = (0, import_utils14.validateAndParseDate)(value?.value, true);
7290
+ valueDomainItem = (0, import_utils15.validateAndParseDate)(value?.value, true);
7334
7291
  }
7335
7292
  }
7336
7293
  const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
@@ -7418,7 +7375,7 @@ var searchController = ({
7418
7375
  active,
7419
7376
  dataIndex
7420
7377
  } = tag;
7421
- const domainFormat = new import_utils14.domainHelper.Domain(domain2);
7378
+ const domainFormat = new import_utils15.domainHelper.Domain(domain2);
7422
7379
  if (type === import_constants5.SearchType.FILTER) {
7423
7380
  addSearchItems(`${import_constants5.SearchType.FILTER}_${groupIndex}`, {
7424
7381
  ...tag,
@@ -7522,7 +7479,6 @@ __reExport(index_exports, types_exports, module.exports);
7522
7479
  searchController,
7523
7480
  setStorageItemAsync,
7524
7481
  statusDropdownController,
7525
- tableBodyController,
7526
7482
  tableController,
7527
7483
  tableGroupController,
7528
7484
  tableHeadController,
@@ -7536,6 +7492,7 @@ __reExport(index_exports, types_exports, module.exports);
7536
7492
  useGetRowIds,
7537
7493
  useListData,
7538
7494
  useMenu,
7495
+ useMenuItem,
7539
7496
  useProfile,
7540
7497
  useSelectionState,
7541
7498
  useStorageState,