@fctc/widget-logic 2.0.7 → 2.0.8

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.mjs CHANGED
@@ -5276,7 +5276,6 @@ var many2oneFieldController = (props) => {
5276
5276
  options: fieldOptions,
5277
5277
  showDetail
5278
5278
  } = props;
5279
- const { env } = (0, provider_exports.useEnv)();
5280
5279
  const [options, setOptions] = useState7([]);
5281
5280
  const [inputValue, setInputValue] = useState7("");
5282
5281
  const [debouncedInputValue] = useDebounce(inputValue, 1e3);
@@ -5286,14 +5285,15 @@ var many2oneFieldController = (props) => {
5286
5285
  const [domainObject, setDomainObject] = useState7(null);
5287
5286
  const actionData = sessionStorageUtils.getActionData();
5288
5287
  const { menuList } = (0, store_exports.useAppSelector)(store_exports.selectNavbar);
5288
+ const { context } = (0, store_exports.useAppSelector)(store_exports.selectEnv);
5289
5289
  const initValue = methods?.getValues(name);
5290
5290
  const optionsObject = (0, utils_exports.evalJSONContext)(fieldOptions) || {};
5291
5291
  const contextObject = {
5292
5292
  ...(0, utils_exports.evalJSONContext)(actionData?.context) || {},
5293
5293
  ...fieldContext,
5294
- ...env?.context
5294
+ ...context
5295
5295
  };
5296
- const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
5296
+ const { useGetSelection: useGetSelection2 } = (0, provider_exports.useService)();
5297
5297
  const data = {
5298
5298
  model: relation,
5299
5299
  domain: domainObject,
@@ -5309,7 +5309,7 @@ var many2oneFieldController = (props) => {
5309
5309
  data: dataOfSelection,
5310
5310
  refetch,
5311
5311
  isFetching
5312
- } = useGetSelection3({
5312
+ } = useGetSelection2({
5313
5313
  data,
5314
5314
  queryKey,
5315
5315
  enabled: false
@@ -5463,9 +5463,15 @@ var many2oneButtonController = (props) => {
5463
5463
 
5464
5464
  // src/widget/basic/many2many-field/controller.ts
5465
5465
  import { useEffect as useEffect11, useMemo as useMemo10, useState as useState8 } from "react";
5466
+ import {
5467
+ useAppDispatch as useAppDispatch5,
5468
+ setFirstDomain,
5469
+ setViewDataStore,
5470
+ setPage,
5471
+ setGroupByDomain
5472
+ } from "@fctc/interface-logic/store";
5466
5473
  import {
5467
5474
  evalJSONContext as evalJSONContext4,
5468
- evalJSONDomain as evalJSONDomain4,
5469
5475
  formatSortingString as formatSortingString2
5470
5476
  } from "@fctc/interface-logic/utils";
5471
5477
  var many2manyFieldController = (props) => {
@@ -5473,43 +5479,45 @@ var many2manyFieldController = (props) => {
5473
5479
  relation,
5474
5480
  domain,
5475
5481
  context,
5476
- options,
5477
5482
  tab,
5483
+ model,
5484
+ aid,
5478
5485
  setSelectedRowKeys: setSelectedRowKeys4,
5486
+ fields,
5487
+ setFields,
5479
5488
  groupByDomain,
5480
- enabled: enabledCallAPI,
5481
- actionData
5489
+ page,
5490
+ options,
5491
+ sessionStorageUtils
5482
5492
  } = props;
5493
+ const appDispatch = useAppDispatch5();
5494
+ const actionData = sessionStorageUtils.getActionData();
5495
+ const [debouncedPage] = useDebounce(page, 500);
5496
+ const [order, setOrder] = useState8();
5497
+ const [isLoadedData, setIsLoadedData] = useState8(false);
5498
+ const [domainMany2Many, setDomainMany2Many] = useState8(domain);
5483
5499
  const { env } = (0, provider_exports.useEnv)();
5484
5500
  const { useGetView: useGetView2, useGetListData: useGetListData3, useGetFormView } = (0, provider_exports.useService)();
5485
- const [order, setOrder] = useState8();
5486
- const [page, setPage] = useState8(0);
5487
- const [domainMany2Many, setDomainMany2Many] = useState8(null);
5488
- const [debouncedPage] = useDebounce(page, 500);
5489
- const contextObject = {
5490
- ...env.context,
5491
- ...context || {}
5492
- };
5493
5501
  const viewParams = {
5494
5502
  model: relation,
5495
5503
  views: [
5496
5504
  [false, "list"],
5497
5505
  [false, "search"]
5498
5506
  ],
5499
- context: contextObject
5507
+ context
5500
5508
  };
5501
- const { data: viewResponse } = useGetView2(viewParams, enabledCallAPI);
5509
+ const { data: viewResponse } = useGetView2(viewParams, actionData);
5502
5510
  const baseModel = useMemo10(
5503
5511
  () => ({
5504
5512
  name: String(relation),
5505
5513
  view: viewResponse || {},
5506
- actContext: contextObject,
5514
+ actContext: context,
5507
5515
  fields: [
5508
5516
  ...Object.values(viewResponse?.views?.list?.fields ?? {}),
5509
5517
  ...tab?.fields ? tab.fields : []
5510
5518
  ]
5511
5519
  }),
5512
- [relation, viewResponse]
5520
+ [model, viewResponse]
5513
5521
  );
5514
5522
  const initModel = (0, hooks_exports.useModel)();
5515
5523
  const modelInstance = useMemo10(() => {
@@ -5528,15 +5536,26 @@ var many2manyFieldController = (props) => {
5528
5536
  const optionsObject = tab?.options ? evalJSONContext4(tab?.options) : (options ? evalJSONContext4(options) : {}) || {};
5529
5537
  const fetchData = async () => {
5530
5538
  try {
5531
- const domainParse = typeof domain === "string" ? evalJSONDomain4(domain, contextObject) : Array.isArray(domain) ? domain : [];
5532
- setDomainMany2Many(domainParse);
5533
- setPage(0);
5539
+ setDomainMany2Many(domain);
5540
+ appDispatch(setFirstDomain(domain));
5541
+ appDispatch(setViewDataStore(viewResponse));
5542
+ const modalData = viewResponse?.views?.list?.fields.map((field) => ({
5543
+ ...viewResponse?.models?.[String(model)]?.[field?.name],
5544
+ ...field
5545
+ }));
5546
+ if (!fields?.[`${aid}_${relation}_popupmany2many`] && modalData) {
5547
+ setFields({
5548
+ ...fields,
5549
+ [`${aid}_${relation}_popupmany2many`]: modalData
5550
+ });
5551
+ }
5552
+ appDispatch(setPage(0));
5534
5553
  } catch (err) {
5535
5554
  console.log(err);
5536
5555
  }
5537
5556
  };
5538
5557
  const queryKey = [
5539
- `view-${relation}`,
5558
+ `view-${relation}-${aid}`,
5540
5559
  specification,
5541
5560
  domainMany2Many,
5542
5561
  debouncedPage,
@@ -5549,16 +5568,16 @@ var many2manyFieldController = (props) => {
5549
5568
  domain: domainMany2Many,
5550
5569
  offset: debouncedPage * 10,
5551
5570
  limit: 10,
5552
- context: contextObject,
5571
+ context,
5553
5572
  fields: groupByDomain?.fields,
5554
5573
  groupby: [groupByDomain?.contexts[0]?.group_by],
5555
5574
  sort: order ? order : default_order ? formatSortingString2(default_order) : ""
5556
5575
  };
5557
- const enabled = enabledCallAPI && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
5576
+ const enabled = isLoadedData && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
5558
5577
  const {
5559
5578
  data: dataResponse,
5560
- isLoading,
5561
- isFetched,
5579
+ isLoading: isDataLoading,
5580
+ isFetched: isDataResponseFetched,
5562
5581
  isPlaceholderData
5563
5582
  } = useGetListData3(data, queryKey, enabled);
5564
5583
  useEffect11(() => {
@@ -5566,59 +5585,74 @@ var many2manyFieldController = (props) => {
5566
5585
  fetchData();
5567
5586
  }
5568
5587
  return () => {
5569
- setPage(0);
5588
+ appDispatch(setGroupByDomain(null));
5589
+ setFields((prevFields) => ({
5590
+ ...prevFields,
5591
+ [`${aid}_${relation}_popupmany2many`]: null
5592
+ }));
5593
+ appDispatch(setPage(0));
5570
5594
  setSelectedRowKeys4([]);
5571
5595
  setDomainMany2Many(null);
5596
+ setIsLoadedData(false);
5572
5597
  };
5573
5598
  }, [viewResponse]);
5574
- const { rows, columns, typeTable, onToggleColumnOptional } = tableController({
5599
+ const { rows, columns, typeTable } = tableController({
5575
5600
  data: {
5576
- fields: viewResponse?.views?.list?.fields,
5601
+ fields: fields?.[`${aid}_${relation}_popupmany2many`] || viewResponse?.views?.list?.fields,
5577
5602
  records: dataResponse?.records ?? dataResponse?.groups,
5578
5603
  dataModel: viewResponse?.models?.[String(relation)],
5579
- context: contextObject,
5604
+ context: { ...env.context, ...context },
5580
5605
  typeTable: dataResponse?.groups ? "group" : "list"
5581
5606
  }
5582
5607
  });
5583
- const searchControllers = searchController({
5584
- viewData: viewResponse,
5585
- model: relation ?? "",
5586
- context: contextObject,
5587
- domain,
5588
- fieldsList: [
5589
- ...columns?.filter(
5590
- (col) => col?.field?.type_co === "field" && col?.optional !== "hide"
5591
- )?.map((col) => ({ ...col.field })) ?? []
5592
- ]
5608
+ const dataFormView = {
5609
+ id: null,
5610
+ model: relation,
5611
+ context
5612
+ };
5613
+ const {
5614
+ refetch,
5615
+ data: dataFormViewResponse,
5616
+ isSuccess
5617
+ } = useGetFormView({
5618
+ data: dataFormView,
5619
+ queryKey: [`form-view-action-${relation}`],
5620
+ enabled: false
5593
5621
  });
5622
+ useEffect11(() => {
5623
+ if (isSuccess && dataFormViewResponse) {
5624
+ sessionStorage.setItem("actionData", JSON.stringify(dataFormViewResponse));
5625
+ window.location.href = `/form/menu?model=${relation}`;
5626
+ }
5627
+ }, [isSuccess]);
5628
+ useEffect11(() => {
5629
+ if (domainMany2Many && !isLoadedData) {
5630
+ setIsLoadedData(true);
5631
+ }
5632
+ }, [domainMany2Many]);
5594
5633
  const handleCreateNewOnPage = async () => {
5634
+ try {
5635
+ refetch();
5636
+ } catch (error) {
5637
+ console.log(error);
5638
+ }
5595
5639
  };
5596
5640
  return {
5597
5641
  handleCreateNewOnPage,
5598
5642
  optionsObject,
5599
- totalRows: dataResponse?.length ?? 0,
5600
5643
  rows,
5601
5644
  columns,
5602
- onToggleColumnOptional,
5603
5645
  typeTable,
5604
- isLoading,
5605
- isFetched,
5606
- isPlaceholderData,
5607
- setPage,
5608
- page,
5609
- viewData: viewResponse,
5610
- domain: domainMany2Many,
5611
- setDomain: setDomainMany2Many,
5612
- searchController: searchControllers
5646
+ isDataLoading,
5647
+ isDataResponseFetched,
5648
+ isPlaceholderData
5613
5649
  };
5614
5650
  };
5615
5651
 
5616
5652
  // src/widget/basic/many2many-tags-field/controller.ts
5617
5653
  import { useMemo as useMemo11 } from "react";
5618
5654
  import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
5619
- import { getEnv as getEnv7 } from "@fctc/interface-logic/environment";
5620
- import { useGetSelection as useGetSelection2 } from "@fctc/interface-logic/hooks";
5621
- import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain5 } from "@fctc/interface-logic/utils";
5655
+ import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
5622
5656
  var many2manyTagsController = (props) => {
5623
5657
  const {
5624
5658
  relation,
@@ -5629,10 +5663,11 @@ var many2manyTagsController = (props) => {
5629
5663
  placeholderNoOption
5630
5664
  } = props;
5631
5665
  const isUser = relation === "res.users" || relation === "res.partner";
5632
- const env = getEnv7();
5666
+ const { env } = (0, provider_exports.useEnv)();
5667
+ const { useGetSelection: useGetSelection2 } = (0, provider_exports.useService)();
5633
5668
  const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
5634
5669
  const domainObject = useMemo11(
5635
- () => evalJSONDomain5(domain, JSON.parse(JSON.stringify(formValues || {}))),
5670
+ () => evalJSONDomain4(domain, JSON.parse(JSON.stringify(formValues || {}))),
5636
5671
  [domain, formValues]
5637
5672
  );
5638
5673
  const data = {
@@ -5668,16 +5703,15 @@ var many2manyTagsController = (props) => {
5668
5703
  options,
5669
5704
  customNoOptionsMessage,
5670
5705
  tranfer,
5671
- dataOfSelection,
5672
5706
  isUser
5673
5707
  };
5674
5708
  };
5675
5709
 
5676
5710
  // src/widget/basic/status-bar-field/controller.ts
5677
5711
  import { useState as useState9 } from "react";
5678
- import { evalJSONDomain as evalJSONDomain6 } from "@fctc/interface-logic/utils";
5712
+ import { evalJSONDomain as evalJSONDomain5 } from "@fctc/interface-logic/utils";
5679
5713
  var durationController = (props) => {
5680
- const { relation, domain, formValues, name, id, model, onRefetch } = props;
5714
+ const { relation, domain, formValues, name, id, model, onRefetch, enabled } = props;
5681
5715
  const specification = {
5682
5716
  id: 0,
5683
5717
  name: "",
@@ -5691,7 +5725,7 @@ var durationController = (props) => {
5691
5725
  const listDataProps = {
5692
5726
  model: relation,
5693
5727
  specification,
5694
- domain: evalJSONDomain6(domain, JSON.parse(JSON.stringify(formValues))),
5728
+ domain: evalJSONDomain5(domain, JSON.parse(JSON.stringify(formValues))),
5695
5729
  limit: 10,
5696
5730
  offset: 0,
5697
5731
  fields: "",
@@ -5701,7 +5735,11 @@ var durationController = (props) => {
5701
5735
  },
5702
5736
  sort: ""
5703
5737
  };
5704
- const { data: dataResponse } = useGetListData3(listDataProps, queryKey);
5738
+ const { data: dataResponse } = useGetListData3(
5739
+ listDataProps,
5740
+ queryKey,
5741
+ enabled
5742
+ );
5705
5743
  const { mutate: fetchChangeStatus } = useChangeStatus();
5706
5744
  const handleClick = async (stage_id) => {
5707
5745
  setDisabled(true);
@@ -5737,32 +5775,18 @@ var durationController = (props) => {
5737
5775
  };
5738
5776
 
5739
5777
  // src/widget/basic/priority-field/controller.ts
5740
- import { useSave as useSave2 } from "@fctc/interface-logic/hooks";
5741
5778
  import { evalJSONContext as evalJSONContext6 } from "@fctc/interface-logic/utils";
5742
5779
  var priorityFieldController = (props) => {
5743
- const {
5744
- value,
5745
- isForm,
5746
- name,
5747
- methods,
5748
- onChange,
5749
- model,
5750
- selection,
5751
- id,
5752
- actionData,
5753
- viewData,
5754
- context
5755
- } = props;
5780
+ const { name, model, id, actionData, context, onChange } = props;
5756
5781
  const _context = { ...evalJSONContext6(actionData?.context) };
5757
5782
  const contextObject = { ...context, ..._context };
5758
- const defaultPriority = parseInt(value) + 1;
5759
- const label = viewData?.models?.[model]?.[name ?? ""]?.string ?? name;
5783
+ const { useSave: useSave2 } = (0, provider_exports.useService)();
5760
5784
  const { mutateAsync: fetchSave } = useSave2();
5761
5785
  const savePriorities = async ({
5762
- value: value2,
5786
+ value,
5763
5787
  resetPriority
5764
5788
  }) => {
5765
- const priorityValue = value2 <= 0 ? 0 : value2 - 1;
5789
+ const priorityValue = value <= 0 ? 0 : value - 1;
5766
5790
  try {
5767
5791
  fetchSave({
5768
5792
  ids: id ? [id] : [],
@@ -5780,14 +5804,7 @@ var priorityFieldController = (props) => {
5780
5804
  }
5781
5805
  };
5782
5806
  return {
5783
- selection,
5784
- isForm,
5785
- methods,
5786
- defaultPriority,
5787
- savePriorities,
5788
- label,
5789
- id,
5790
- onChange
5807
+ savePriorities
5791
5808
  };
5792
5809
  };
5793
5810
 
@@ -6750,11 +6767,11 @@ import { evalJSONContext as evalJSONContext7 } from "@fctc/interface-logic/utils
6750
6767
  var colorFieldController = (props) => {
6751
6768
  const { value, isForm, name, formValues, idForm, model, actionData } = props;
6752
6769
  const { env } = (0, provider_exports.useEnv)();
6753
- const { useSave: useSave3 } = (0, provider_exports.useService)();
6770
+ const { useSave: useSave2 } = (0, provider_exports.useService)();
6754
6771
  const _context = { ...evalJSONContext7(actionData?.context) || {} };
6755
6772
  const contextObject = { ...env.context, ..._context };
6756
6773
  const idDefault = isForm ? idForm : formValues?.id;
6757
- const { mutate: onSave } = useSave3();
6774
+ const { mutate: onSave } = useSave2();
6758
6775
  const savePickColor = async (colorObject) => {
6759
6776
  const { id } = colorObject;
6760
6777
  if (value === id) return;
@@ -6877,20 +6894,25 @@ var binaryFieldController = (props) => {
6877
6894
  };
6878
6895
 
6879
6896
  // src/widget/advance/table/table-body/controller.ts
6880
- import { useAppDispatch as useAppDispatch5, setSelectedRowKeys } from "@fctc/interface-logic/store";
6897
+ import {
6898
+ useAppDispatch as useAppDispatch6,
6899
+ setSelectedRowKeys,
6900
+ useAppSelector as useAppSelector4,
6901
+ selectList as selectList3
6902
+ } from "@fctc/interface-logic/store";
6881
6903
  import { useEffect as useEffect13, useMemo as useMemo12 } from "react";
6882
6904
  var tableBodyController = (props) => {
6883
6905
  const {
6884
6906
  checkedAll,
6885
6907
  checkboxRef,
6886
6908
  setIsAutoSelect,
6887
- selectedRowKeys,
6888
6909
  row,
6889
6910
  isAutoSelect,
6890
6911
  selectedRowKeysRef,
6891
6912
  onClickRow
6892
6913
  } = props;
6893
- const appDispatch = useAppDispatch5();
6914
+ const appDispatch = useAppDispatch6();
6915
+ const { selectedRowKeys } = useAppSelector4(selectList3);
6894
6916
  const checked = useMemo12(() => {
6895
6917
  if (!row?.id) return false;
6896
6918
  if (selectedRowKeys?.includes(row.id)) {
@@ -6906,7 +6928,6 @@ var tableBodyController = (props) => {
6906
6928
  return;
6907
6929
  }
6908
6930
  const newSelectedRowKeys = selectedRowKeys?.includes(row.id) ? selectedRowKeys?.filter((key) => key !== row.id) : [...selectedRowKeys, row.id];
6909
- console.log("newSelectedRowKeys", newSelectedRowKeys);
6910
6931
  appDispatch(setSelectedRowKeys(newSelectedRowKeys));
6911
6932
  };
6912
6933
  const handleClickRow = (col, row2) => {
@@ -6945,15 +6966,15 @@ var tableBodyController = (props) => {
6945
6966
 
6946
6967
  // src/widget/advance/table/table-head/controller.ts
6947
6968
  import {
6948
- useAppDispatch as useAppDispatch6,
6949
- useAppSelector as useAppSelector4,
6969
+ useAppDispatch as useAppDispatch7,
6970
+ useAppSelector as useAppSelector5,
6950
6971
  selectSearch as selectSearch3,
6951
6972
  setSelectedRowKeys as setSelectedRowKeys2
6952
6973
  } from "@fctc/interface-logic/store";
6953
6974
  var tableHeadController = (props) => {
6954
6975
  const { typeTable, rows, selectedRowKeysRef } = props;
6955
- const appDispatch = useAppDispatch6();
6956
- const { groupByDomain } = useAppSelector4(selectSearch3);
6976
+ const appDispatch = useAppDispatch7();
6977
+ const { groupByDomain } = useAppSelector5(selectSearch3);
6957
6978
  const handleCheckBoxAll = (event) => {
6958
6979
  if (event?.target?.checked && typeTable === "list") {
6959
6980
  const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
@@ -6988,9 +7009,9 @@ var tableHeadController = (props) => {
6988
7009
  // src/widget/advance/table/table-view/controller.ts
6989
7010
  import { useEffect as useEffect14, useMemo as useMemo13, useRef as useRef5, useState as useState13 } from "react";
6990
7011
  import {
6991
- useAppSelector as useAppSelector5,
7012
+ useAppSelector as useAppSelector6,
6992
7013
  selectSearch as selectSearch4,
6993
- selectList as selectList3
7014
+ selectList as selectList4
6994
7015
  } from "@fctc/interface-logic/store";
6995
7016
  import { domainHelper } from "@fctc/interface-logic/utils";
6996
7017
  var tableController = ({ data }) => {
@@ -7075,10 +7096,10 @@ import {
7075
7096
  useGetListData as useGetListData2
7076
7097
  } from "@fctc/interface-logic/hooks";
7077
7098
  import {
7078
- useAppSelector as useAppSelector6,
7099
+ useAppSelector as useAppSelector7,
7079
7100
  selectSearch as selectSearch5,
7080
- selectList as selectList4,
7081
- useAppDispatch as useAppDispatch7,
7101
+ selectList as selectList5,
7102
+ useAppDispatch as useAppDispatch8,
7082
7103
  setSelectedRowKeys as setSelectedRowKeys3
7083
7104
  } from "@fctc/interface-logic/store";
7084
7105
 
@@ -7109,9 +7130,9 @@ var tableGroupController = (props) => {
7109
7130
  selectedRowKeysRef
7110
7131
  } = props;
7111
7132
  const [pageGroup, setPageGroup] = useState14(0);
7112
- const { groupByDomain, selectedTags } = useAppSelector6(selectSearch5);
7113
- const { selectedRowKeys } = useAppSelector6(selectList4);
7114
- const appDispatch = useAppDispatch7();
7133
+ const { groupByDomain, selectedTags } = useAppSelector7(selectSearch5);
7134
+ const { selectedRowKeys } = useAppSelector7(selectList5);
7135
+ const appDispatch = useAppDispatch8();
7115
7136
  const { toDataJS } = useOdooDataTransform();
7116
7137
  const initVal = toDataJS(row, viewData, model);
7117
7138
  const [isShowGroup, setIsShowGroup] = useState14(false);
@@ -7252,28 +7273,26 @@ var import_moment2 = __toESM(require_moment());
7252
7273
  import { SearchType } from "@fctc/interface-logic/constants";
7253
7274
  import {
7254
7275
  domainHelper as domainHelper2,
7255
- evalJSONContext as evalJSONContext8,
7256
- evalJSONDomain as evalJSONDomain7,
7276
+ evalJSONDomain as evalJSONDomain6,
7257
7277
  validateAndParseDate
7258
7278
  } from "@fctc/interface-logic/utils";
7259
7279
  import { useCallback as useCallback3, useEffect as useEffect16, useState as useState15 } from "react";
7260
7280
  var searchController = ({
7261
7281
  viewData,
7262
- model,
7263
- domain,
7264
- context,
7265
- fieldsList
7282
+ actionData,
7283
+ fieldsList,
7284
+ contextSearch,
7285
+ setSearchMap,
7286
+ searchMap
7266
7287
  }) => {
7267
- const { env } = (0, provider_exports.useEnv)();
7268
7288
  const [filterBy, setFilterBy] = useState15(null);
7269
7289
  const [searchBy, setSearchBy] = useState15(null);
7270
7290
  const [groupBy, setGroupBy] = useState15(null);
7271
7291
  const [selectedTags, setSelectedTags] = useState15(null);
7272
7292
  const [searchString, setSearchString] = useState15("");
7273
- const [searchMap, setSearchMap] = useState15({});
7274
- const actionContext = typeof context === "string" ? evalJSONContext8(context) : context;
7275
- const contextSearch = { ...env.context, ...actionContext };
7276
- const domainAction = domain ? Array.isArray(domain) ? [...domain] : evalJSONDomain7(domain, contextSearch) : [];
7293
+ const domainAction = actionData?.domain ? Array.isArray(actionData?.domain) ? [...actionData?.domain] : evalJSONDomain6(actionData?.domain, contextSearch) : [];
7294
+ const aid = actionData?.id;
7295
+ const model = actionData?.res_model;
7277
7296
  const clearSearch = () => {
7278
7297
  setFilterBy([]);
7279
7298
  setGroupBy([]);
@@ -7318,8 +7337,9 @@ var searchController = ({
7318
7337
  }
7319
7338
  };
7320
7339
  useEffect16(() => {
7340
+ clearSearch();
7321
7341
  fetchData();
7322
- }, [model, viewData]);
7342
+ }, [aid, model, viewData]);
7323
7343
  const onChangeSearchInput = (search_string) => {
7324
7344
  setSearchString(search_string);
7325
7345
  };
@@ -7356,28 +7376,27 @@ var searchController = ({
7356
7376
  };
7357
7377
  const formatDomain = () => {
7358
7378
  if (domainAction) {
7359
- console.log("domainAction", domainAction);
7360
- const domain2 = [];
7379
+ const domain = [];
7361
7380
  if (domainAction?.length > 0) {
7362
7381
  if (Object.keys(searchMap).length > 0) {
7363
- domain2.push("&");
7382
+ domain.push("&");
7364
7383
  }
7365
7384
  domainAction.forEach((domainItem) => {
7366
- domain2.push(domainItem);
7385
+ domain.push(domainItem);
7367
7386
  });
7368
7387
  }
7369
7388
  Object.keys(searchMap).forEach((key, keyIndex, keys) => {
7370
7389
  if (!key?.includes(SearchType.GROUP)) {
7371
7390
  if (keys.length > 1 && keyIndex < keys.length - 1) {
7372
- domain2.push("&");
7391
+ domain.push("&");
7373
7392
  }
7374
7393
  const valuesOfKey = searchMap[key];
7375
7394
  valuesOfKey.forEach((value, index) => {
7376
7395
  if (index < valuesOfKey.length - 1) {
7377
- domain2.push("|");
7396
+ domain.push("|");
7378
7397
  }
7379
7398
  if (value.domain) {
7380
- domain2.push(...value.domain);
7399
+ domain.push(...value.domain);
7381
7400
  return;
7382
7401
  }
7383
7402
  let valueDomainItem = value?.value;
@@ -7393,11 +7412,11 @@ var searchController = ({
7393
7412
  }
7394
7413
  }
7395
7414
  const operator = value?.modelType === "date" || value?.modelType === "datetime" || value?.modelType === "boolean" || value?.modelType === "integer" ? value?.operator ?? "=" : value.operator ?? "ilike";
7396
- domain2.push([value.name, operator, valueDomainItem]);
7415
+ domain.push([value.name, operator, valueDomainItem]);
7397
7416
  });
7398
7417
  }
7399
7418
  });
7400
- return [...domain2];
7419
+ return [...domain];
7401
7420
  }
7402
7421
  };
7403
7422
  const setTagSearch = useCallback3(
@@ -7428,16 +7447,16 @@ var searchController = ({
7428
7447
  const contexts = [];
7429
7448
  let groupValues = [];
7430
7449
  objValues?.forEach((objValue) => {
7431
- const { context: context2, value, active, groupIndex: groupIndex2, isDefault } = objValue;
7450
+ const { context, value, active, groupIndex: groupIndex2, isDefault } = objValue;
7432
7451
  const indexAppend = groupIndex2 != null ? groupIndex2 : viewData?.views?.search?.filters_by?.length ?? 0;
7433
7452
  contexts.push(
7434
- ...Array.isArray(context2?.group_by) ? context2.group_by.map((item) => ({ group_by: item })) : [context2]
7453
+ ...Array.isArray(context?.group_by) ? context.group_by.map((item) => ({ group_by: item })) : [context]
7435
7454
  );
7436
7455
  groupValues[indexAppend] = {
7437
7456
  contexts: [
7438
- ...Array.isArray(context2?.group_by) ? context2.group_by.map((item) => ({
7457
+ ...Array.isArray(context?.group_by) ? context.group_by.map((item) => ({
7439
7458
  group_by: item
7440
- })) : [context2]
7459
+ })) : [context]
7441
7460
  ],
7442
7461
  strings: isDefault ? [value] : [...groupValues[indexAppend]?.strings ?? [], value]
7443
7462
  };
@@ -7464,38 +7483,39 @@ var searchController = ({
7464
7483
  [searchMap]
7465
7484
  );
7466
7485
  useEffect16(() => {
7486
+ setSelectedTags(null);
7467
7487
  setTagSearch(searchMap);
7468
7488
  }, [searchMap]);
7469
7489
  const handleAddTagSearch = (tag) => {
7470
7490
  const {
7471
- domain: domain2,
7491
+ domain,
7472
7492
  groupIndex,
7473
7493
  value,
7474
7494
  type,
7475
7495
  title,
7476
- context: context2,
7496
+ context,
7477
7497
  active,
7478
7498
  dataIndex
7479
7499
  } = tag;
7480
- const domainFormat = new domainHelper2.Domain(domain2);
7500
+ const domainFormat = new domainHelper2.Domain(domain);
7481
7501
  if (type === SearchType.FILTER) {
7482
7502
  addSearchItems(`${SearchType.FILTER}_${groupIndex}`, {
7483
7503
  ...tag,
7484
- domain: domain2 ? domainFormat.toList(context2) : null
7504
+ domain: domain ? domainFormat.toList(context) : null
7485
7505
  });
7486
7506
  } else if (type === SearchType.SEARCH) {
7487
7507
  addSearchItems(`${SearchType.SEARCH}_${String(dataIndex)}`, {
7488
7508
  ...tag,
7489
- domain: domain2 ? domainFormat.toList({
7490
- ...context2,
7509
+ domain: domain ? domainFormat.toList({
7510
+ ...context,
7491
7511
  self: value
7492
7512
  }) : null
7493
7513
  });
7494
7514
  } else if (type === SearchType.GROUP) {
7495
7515
  addSearchItems(`${SearchType.GROUP}`, {
7496
7516
  ...tag,
7497
- domain: domain2 ? domainFormat.toList({
7498
- context: context2,
7517
+ domain: domain ? domainFormat.toList({
7518
+ context,
7499
7519
  self: value
7500
7520
  }) : null
7501
7521
  });
@@ -7515,8 +7535,7 @@ var searchController = ({
7515
7535
  removeSearchItems,
7516
7536
  onSearchString: onChangeSearchInput,
7517
7537
  handleAddTagSearch,
7518
- domain: formatDomain(),
7519
- context: contextSearch
7538
+ domain: formatDomain()
7520
7539
  };
7521
7540
  };
7522
7541
 
package/dist/types.d.mts CHANGED
@@ -28,7 +28,7 @@ interface IInputFieldProps {
28
28
  domain?: any;
29
29
  idForm?: boolean;
30
30
  widget?: string;
31
- context?: string | Object;
31
+ aid?: string | number;
32
32
  }
33
33
 
34
34
  export type { IInputFieldProps, ValuePropsType };
package/dist/types.d.ts CHANGED
@@ -28,7 +28,7 @@ interface IInputFieldProps {
28
28
  domain?: any;
29
29
  idForm?: boolean;
30
30
  widget?: string;
31
- context?: string | Object;
31
+ aid?: string | number;
32
32
  }
33
33
 
34
34
  export type { IInputFieldProps, ValuePropsType };