@fctc/widget-logic 1.10.2 → 1.10.3
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 +152 -132
- package/dist/index.mjs +138 -122
- package/dist/types.d.mts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/widget.d.mts +42 -18
- package/dist/widget.d.ts +42 -18
- package/dist/widget.js +152 -132
- package/dist/widget.mjs +138 -122
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -5276,6 +5276,7 @@ var many2oneFieldController = (props) => {
|
|
|
5276
5276
|
options: fieldOptions,
|
|
5277
5277
|
showDetail
|
|
5278
5278
|
} = props;
|
|
5279
|
+
const { env } = (0, provider_exports.useEnv)();
|
|
5279
5280
|
const [options, setOptions] = useState7([]);
|
|
5280
5281
|
const [inputValue, setInputValue] = useState7("");
|
|
5281
5282
|
const [debouncedInputValue] = useDebounce(inputValue, 1e3);
|
|
@@ -5285,15 +5286,14 @@ var many2oneFieldController = (props) => {
|
|
|
5285
5286
|
const [domainObject, setDomainObject] = useState7(null);
|
|
5286
5287
|
const actionData = sessionStorageUtils.getActionData();
|
|
5287
5288
|
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
|
-
...context
|
|
5294
|
+
...env?.context
|
|
5295
5295
|
};
|
|
5296
|
-
const { useGetSelection:
|
|
5296
|
+
const { useGetSelection: useGetSelection3 } = (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
|
-
} =
|
|
5312
|
+
} = useGetSelection3({
|
|
5313
5313
|
data,
|
|
5314
5314
|
queryKey,
|
|
5315
5315
|
enabled: false
|
|
@@ -5463,15 +5463,9 @@ 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";
|
|
5473
5466
|
import {
|
|
5474
5467
|
evalJSONContext as evalJSONContext4,
|
|
5468
|
+
evalJSONDomain as evalJSONDomain4,
|
|
5475
5469
|
formatSortingString as formatSortingString2
|
|
5476
5470
|
} from "@fctc/interface-logic/utils";
|
|
5477
5471
|
var many2manyFieldController = (props) => {
|
|
@@ -5479,45 +5473,44 @@ var many2manyFieldController = (props) => {
|
|
|
5479
5473
|
relation,
|
|
5480
5474
|
domain,
|
|
5481
5475
|
context,
|
|
5476
|
+
options,
|
|
5482
5477
|
tab,
|
|
5483
|
-
model,
|
|
5484
|
-
aid,
|
|
5485
5478
|
setSelectedRowKeys: setSelectedRowKeys4,
|
|
5486
|
-
fields,
|
|
5487
|
-
setFields,
|
|
5488
5479
|
groupByDomain,
|
|
5489
|
-
|
|
5490
|
-
|
|
5491
|
-
sessionStorageUtils
|
|
5480
|
+
enabled: enabledCallAPI,
|
|
5481
|
+
actionData
|
|
5492
5482
|
} = 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);
|
|
5499
5483
|
const { env } = (0, provider_exports.useEnv)();
|
|
5500
5484
|
const { useGetView: useGetView2, useGetListData: useGetListData3, useGetFormView } = (0, provider_exports.useService)();
|
|
5485
|
+
const [order, setOrder] = useState8();
|
|
5486
|
+
const [isLoadedData, setIsLoadedData] = useState8(false);
|
|
5487
|
+
const [page, setPage] = useState8(0);
|
|
5488
|
+
const [domainMany2Many, setDomainMany2Many] = useState8(null);
|
|
5489
|
+
const [debouncedPage] = useDebounce(page, 500);
|
|
5490
|
+
const contextObject = {
|
|
5491
|
+
...env.context,
|
|
5492
|
+
...context || {}
|
|
5493
|
+
};
|
|
5501
5494
|
const viewParams = {
|
|
5502
5495
|
model: relation,
|
|
5503
5496
|
views: [
|
|
5504
5497
|
[false, "list"],
|
|
5505
5498
|
[false, "search"]
|
|
5506
5499
|
],
|
|
5507
|
-
context
|
|
5500
|
+
context: contextObject
|
|
5508
5501
|
};
|
|
5509
|
-
const { data: viewResponse } = useGetView2(viewParams,
|
|
5502
|
+
const { data: viewResponse } = useGetView2(viewParams, enabledCallAPI);
|
|
5510
5503
|
const baseModel = useMemo10(
|
|
5511
5504
|
() => ({
|
|
5512
5505
|
name: String(relation),
|
|
5513
5506
|
view: viewResponse || {},
|
|
5514
|
-
actContext:
|
|
5507
|
+
actContext: contextObject,
|
|
5515
5508
|
fields: [
|
|
5516
5509
|
...Object.values(viewResponse?.views?.list?.fields ?? {}),
|
|
5517
5510
|
...tab?.fields ? tab.fields : []
|
|
5518
5511
|
]
|
|
5519
5512
|
}),
|
|
5520
|
-
[
|
|
5513
|
+
[relation, viewResponse]
|
|
5521
5514
|
);
|
|
5522
5515
|
const initModel = (0, hooks_exports.useModel)();
|
|
5523
5516
|
const modelInstance = useMemo10(() => {
|
|
@@ -5536,26 +5529,15 @@ var many2manyFieldController = (props) => {
|
|
|
5536
5529
|
const optionsObject = tab?.options ? evalJSONContext4(tab?.options) : (options ? evalJSONContext4(options) : {}) || {};
|
|
5537
5530
|
const fetchData = async () => {
|
|
5538
5531
|
try {
|
|
5539
|
-
|
|
5540
|
-
|
|
5541
|
-
|
|
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));
|
|
5532
|
+
const domainParse = typeof domain === "string" ? evalJSONDomain4(domain, contextObject) : Array.isArray(domain) ? domain : [];
|
|
5533
|
+
setDomainMany2Many(domainParse);
|
|
5534
|
+
setPage(0);
|
|
5553
5535
|
} catch (err) {
|
|
5554
5536
|
console.log(err);
|
|
5555
5537
|
}
|
|
5556
5538
|
};
|
|
5557
5539
|
const queryKey = [
|
|
5558
|
-
`view-${relation}
|
|
5540
|
+
`view-${relation}`,
|
|
5559
5541
|
specification,
|
|
5560
5542
|
domainMany2Many,
|
|
5561
5543
|
debouncedPage,
|
|
@@ -5568,16 +5550,16 @@ var many2manyFieldController = (props) => {
|
|
|
5568
5550
|
domain: domainMany2Many,
|
|
5569
5551
|
offset: debouncedPage * 10,
|
|
5570
5552
|
limit: 10,
|
|
5571
|
-
context,
|
|
5553
|
+
context: contextObject,
|
|
5572
5554
|
fields: groupByDomain?.fields,
|
|
5573
5555
|
groupby: [groupByDomain?.contexts[0]?.group_by],
|
|
5574
5556
|
sort: order ? order : default_order ? formatSortingString2(default_order) : ""
|
|
5575
5557
|
};
|
|
5576
|
-
const enabled = isLoadedData && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5558
|
+
const enabled = enabledCallAPI && isLoadedData && !!specification && !!relation && !!domainMany2Many && !!viewResponse;
|
|
5577
5559
|
const {
|
|
5578
5560
|
data: dataResponse,
|
|
5579
|
-
isLoading
|
|
5580
|
-
isFetched
|
|
5561
|
+
isLoading,
|
|
5562
|
+
isFetched,
|
|
5581
5563
|
isPlaceholderData
|
|
5582
5564
|
} = useGetListData3(data, queryKey, enabled);
|
|
5583
5565
|
useEffect11(() => {
|
|
@@ -5585,74 +5567,87 @@ var many2manyFieldController = (props) => {
|
|
|
5585
5567
|
fetchData();
|
|
5586
5568
|
}
|
|
5587
5569
|
return () => {
|
|
5588
|
-
|
|
5589
|
-
setFields((prevFields) => ({
|
|
5590
|
-
...prevFields,
|
|
5591
|
-
[`${aid}_${relation}_popupmany2many`]: null
|
|
5592
|
-
}));
|
|
5593
|
-
appDispatch(setPage(0));
|
|
5570
|
+
setPage(0);
|
|
5594
5571
|
setSelectedRowKeys4([]);
|
|
5595
5572
|
setDomainMany2Many(null);
|
|
5596
5573
|
setIsLoadedData(false);
|
|
5597
5574
|
};
|
|
5598
5575
|
}, [viewResponse]);
|
|
5599
|
-
const { rows, columns, typeTable } = tableController({
|
|
5576
|
+
const { rows, columns, typeTable, onToggleColumnOptional } = tableController({
|
|
5600
5577
|
data: {
|
|
5601
|
-
fields:
|
|
5578
|
+
fields: viewResponse?.views?.list?.fields,
|
|
5602
5579
|
records: dataResponse?.records ?? dataResponse?.groups,
|
|
5603
5580
|
dataModel: viewResponse?.models?.[String(relation)],
|
|
5604
|
-
context:
|
|
5581
|
+
context: contextObject,
|
|
5605
5582
|
typeTable: dataResponse?.groups ? "group" : "list"
|
|
5606
5583
|
}
|
|
5607
5584
|
});
|
|
5608
|
-
const dataFormView = {
|
|
5609
|
-
id: null,
|
|
5610
|
-
model: relation,
|
|
5611
|
-
context
|
|
5612
|
-
};
|
|
5613
5585
|
const {
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
|
|
5620
|
-
|
|
5586
|
+
removeSearchItems,
|
|
5587
|
+
selectedTags,
|
|
5588
|
+
filterBy,
|
|
5589
|
+
setFilterBy,
|
|
5590
|
+
searchString,
|
|
5591
|
+
onSearchString,
|
|
5592
|
+
handleAddTagSearch,
|
|
5593
|
+
searchBy,
|
|
5594
|
+
groupBy,
|
|
5595
|
+
setGroupBy,
|
|
5596
|
+
domain: domainSearch
|
|
5597
|
+
} = searchController({
|
|
5598
|
+
viewData: viewResponse,
|
|
5599
|
+
actionData,
|
|
5600
|
+
fieldsList: [
|
|
5601
|
+
...columns?.filter(
|
|
5602
|
+
(col) => col?.field?.type_co === "field" && col?.optional !== "hide"
|
|
5603
|
+
)?.map((col) => ({ ...col.field })) ?? []
|
|
5604
|
+
]
|
|
5621
5605
|
});
|
|
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
5606
|
useEffect11(() => {
|
|
5629
5607
|
if (domainMany2Many && !isLoadedData) {
|
|
5630
5608
|
setIsLoadedData(true);
|
|
5631
5609
|
}
|
|
5632
5610
|
}, [domainMany2Many]);
|
|
5611
|
+
useEffect11(() => {
|
|
5612
|
+
setDomainMany2Many(domainSearch);
|
|
5613
|
+
}, [domainSearch]);
|
|
5633
5614
|
const handleCreateNewOnPage = async () => {
|
|
5634
|
-
try {
|
|
5635
|
-
refetch();
|
|
5636
|
-
} catch (error) {
|
|
5637
|
-
console.log(error);
|
|
5638
|
-
}
|
|
5639
5615
|
};
|
|
5640
5616
|
return {
|
|
5641
5617
|
handleCreateNewOnPage,
|
|
5642
5618
|
optionsObject,
|
|
5619
|
+
totalRows: dataResponse?.length ?? 0,
|
|
5643
5620
|
rows,
|
|
5644
5621
|
columns,
|
|
5622
|
+
onToggleColumnOptional,
|
|
5645
5623
|
typeTable,
|
|
5646
|
-
|
|
5647
|
-
|
|
5648
|
-
isPlaceholderData
|
|
5624
|
+
isLoading,
|
|
5625
|
+
isFetched,
|
|
5626
|
+
isPlaceholderData,
|
|
5627
|
+
setPage,
|
|
5628
|
+
page,
|
|
5629
|
+
viewData: viewResponse,
|
|
5630
|
+
domain: domainMany2Many,
|
|
5631
|
+
// search
|
|
5632
|
+
removeSearchItems,
|
|
5633
|
+
selectedTags,
|
|
5634
|
+
filterBy,
|
|
5635
|
+
setFilterBy,
|
|
5636
|
+
searchString,
|
|
5637
|
+
onSearchString,
|
|
5638
|
+
handleAddTagSearch,
|
|
5639
|
+
searchBy,
|
|
5640
|
+
groupBy,
|
|
5641
|
+
setGroupBy
|
|
5649
5642
|
};
|
|
5650
5643
|
};
|
|
5651
5644
|
|
|
5652
5645
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5653
5646
|
import { useMemo as useMemo11 } from "react";
|
|
5654
5647
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5655
|
-
import {
|
|
5648
|
+
import { getEnv as getEnv7 } from "@fctc/interface-logic/environment";
|
|
5649
|
+
import { useGetSelection as useGetSelection2 } from "@fctc/interface-logic/hooks";
|
|
5650
|
+
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain5 } from "@fctc/interface-logic/utils";
|
|
5656
5651
|
var many2manyTagsController = (props) => {
|
|
5657
5652
|
const {
|
|
5658
5653
|
relation,
|
|
@@ -5663,11 +5658,10 @@ var many2manyTagsController = (props) => {
|
|
|
5663
5658
|
placeholderNoOption
|
|
5664
5659
|
} = props;
|
|
5665
5660
|
const isUser = relation === "res.users" || relation === "res.partner";
|
|
5666
|
-
const
|
|
5667
|
-
const { useGetSelection: useGetSelection2 } = (0, provider_exports.useService)();
|
|
5661
|
+
const env = getEnv7();
|
|
5668
5662
|
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
5669
5663
|
const domainObject = useMemo11(
|
|
5670
|
-
() =>
|
|
5664
|
+
() => evalJSONDomain5(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5671
5665
|
[domain, formValues]
|
|
5672
5666
|
);
|
|
5673
5667
|
const data = {
|
|
@@ -5703,15 +5697,16 @@ var many2manyTagsController = (props) => {
|
|
|
5703
5697
|
options,
|
|
5704
5698
|
customNoOptionsMessage,
|
|
5705
5699
|
tranfer,
|
|
5700
|
+
dataOfSelection,
|
|
5706
5701
|
isUser
|
|
5707
5702
|
};
|
|
5708
5703
|
};
|
|
5709
5704
|
|
|
5710
5705
|
// src/widget/basic/status-bar-field/controller.ts
|
|
5711
5706
|
import { useState as useState9 } from "react";
|
|
5712
|
-
import { evalJSONDomain as
|
|
5707
|
+
import { evalJSONDomain as evalJSONDomain6 } from "@fctc/interface-logic/utils";
|
|
5713
5708
|
var durationController = (props) => {
|
|
5714
|
-
const { relation, domain, formValues, name, id, model, onRefetch
|
|
5709
|
+
const { relation, domain, formValues, name, id, model, onRefetch } = props;
|
|
5715
5710
|
const specification = {
|
|
5716
5711
|
id: 0,
|
|
5717
5712
|
name: "",
|
|
@@ -5725,7 +5720,7 @@ var durationController = (props) => {
|
|
|
5725
5720
|
const listDataProps = {
|
|
5726
5721
|
model: relation,
|
|
5727
5722
|
specification,
|
|
5728
|
-
domain:
|
|
5723
|
+
domain: evalJSONDomain6(domain, JSON.parse(JSON.stringify(formValues))),
|
|
5729
5724
|
limit: 10,
|
|
5730
5725
|
offset: 0,
|
|
5731
5726
|
fields: "",
|
|
@@ -5735,11 +5730,7 @@ var durationController = (props) => {
|
|
|
5735
5730
|
},
|
|
5736
5731
|
sort: ""
|
|
5737
5732
|
};
|
|
5738
|
-
const { data: dataResponse } = useGetListData3(
|
|
5739
|
-
listDataProps,
|
|
5740
|
-
queryKey,
|
|
5741
|
-
enabled
|
|
5742
|
-
);
|
|
5733
|
+
const { data: dataResponse } = useGetListData3(listDataProps, queryKey);
|
|
5743
5734
|
const { mutate: fetchChangeStatus } = useChangeStatus();
|
|
5744
5735
|
const handleClick = async (stage_id) => {
|
|
5745
5736
|
setDisabled(true);
|
|
@@ -5775,18 +5766,32 @@ var durationController = (props) => {
|
|
|
5775
5766
|
};
|
|
5776
5767
|
|
|
5777
5768
|
// src/widget/basic/priority-field/controller.ts
|
|
5769
|
+
import { useSave as useSave2 } from "@fctc/interface-logic/hooks";
|
|
5778
5770
|
import { evalJSONContext as evalJSONContext6 } from "@fctc/interface-logic/utils";
|
|
5779
5771
|
var priorityFieldController = (props) => {
|
|
5780
|
-
const {
|
|
5772
|
+
const {
|
|
5773
|
+
value,
|
|
5774
|
+
isForm,
|
|
5775
|
+
name,
|
|
5776
|
+
methods,
|
|
5777
|
+
onChange,
|
|
5778
|
+
model,
|
|
5779
|
+
selection,
|
|
5780
|
+
id,
|
|
5781
|
+
actionData,
|
|
5782
|
+
viewData,
|
|
5783
|
+
context
|
|
5784
|
+
} = props;
|
|
5781
5785
|
const _context = { ...evalJSONContext6(actionData?.context) };
|
|
5782
5786
|
const contextObject = { ...context, ..._context };
|
|
5783
|
-
const
|
|
5787
|
+
const defaultPriority = parseInt(value) + 1;
|
|
5788
|
+
const label = viewData?.models?.[model]?.[name ?? ""]?.string ?? name;
|
|
5784
5789
|
const { mutateAsync: fetchSave } = useSave2();
|
|
5785
5790
|
const savePriorities = async ({
|
|
5786
|
-
value,
|
|
5791
|
+
value: value2,
|
|
5787
5792
|
resetPriority
|
|
5788
5793
|
}) => {
|
|
5789
|
-
const priorityValue =
|
|
5794
|
+
const priorityValue = value2 <= 0 ? 0 : value2 - 1;
|
|
5790
5795
|
try {
|
|
5791
5796
|
fetchSave({
|
|
5792
5797
|
ids: id ? [id] : [],
|
|
@@ -5804,7 +5809,14 @@ var priorityFieldController = (props) => {
|
|
|
5804
5809
|
}
|
|
5805
5810
|
};
|
|
5806
5811
|
return {
|
|
5807
|
-
|
|
5812
|
+
selection,
|
|
5813
|
+
isForm,
|
|
5814
|
+
methods,
|
|
5815
|
+
defaultPriority,
|
|
5816
|
+
savePriorities,
|
|
5817
|
+
label,
|
|
5818
|
+
id,
|
|
5819
|
+
onChange
|
|
5808
5820
|
};
|
|
5809
5821
|
};
|
|
5810
5822
|
|
|
@@ -6767,11 +6779,11 @@ import { evalJSONContext as evalJSONContext7 } from "@fctc/interface-logic/utils
|
|
|
6767
6779
|
var colorFieldController = (props) => {
|
|
6768
6780
|
const { value, isForm, name, formValues, idForm, model, actionData } = props;
|
|
6769
6781
|
const { env } = (0, provider_exports.useEnv)();
|
|
6770
|
-
const { useSave:
|
|
6782
|
+
const { useSave: useSave3 } = (0, provider_exports.useService)();
|
|
6771
6783
|
const _context = { ...evalJSONContext7(actionData?.context) || {} };
|
|
6772
6784
|
const contextObject = { ...env.context, ..._context };
|
|
6773
6785
|
const idDefault = isForm ? idForm : formValues?.id;
|
|
6774
|
-
const { mutate: onSave } =
|
|
6786
|
+
const { mutate: onSave } = useSave3();
|
|
6775
6787
|
const savePickColor = async (colorObject) => {
|
|
6776
6788
|
const { id } = colorObject;
|
|
6777
6789
|
if (value === id) return;
|
|
@@ -6894,7 +6906,7 @@ var binaryFieldController = (props) => {
|
|
|
6894
6906
|
};
|
|
6895
6907
|
|
|
6896
6908
|
// src/widget/advance/table/table-body/controller.ts
|
|
6897
|
-
import { useAppDispatch as
|
|
6909
|
+
import { useAppDispatch as useAppDispatch5, setSelectedRowKeys } from "@fctc/interface-logic/store";
|
|
6898
6910
|
import { useEffect as useEffect13, useMemo as useMemo12 } from "react";
|
|
6899
6911
|
var tableBodyController = (props) => {
|
|
6900
6912
|
const {
|
|
@@ -6907,7 +6919,7 @@ var tableBodyController = (props) => {
|
|
|
6907
6919
|
selectedRowKeysRef,
|
|
6908
6920
|
onClickRow
|
|
6909
6921
|
} = props;
|
|
6910
|
-
const appDispatch =
|
|
6922
|
+
const appDispatch = useAppDispatch5();
|
|
6911
6923
|
const checked = useMemo12(() => {
|
|
6912
6924
|
if (!row?.id) return false;
|
|
6913
6925
|
if (selectedRowKeys?.includes(row.id)) {
|
|
@@ -6962,14 +6974,14 @@ var tableBodyController = (props) => {
|
|
|
6962
6974
|
|
|
6963
6975
|
// src/widget/advance/table/table-head/controller.ts
|
|
6964
6976
|
import {
|
|
6965
|
-
useAppDispatch as
|
|
6977
|
+
useAppDispatch as useAppDispatch6,
|
|
6966
6978
|
useAppSelector as useAppSelector4,
|
|
6967
6979
|
selectSearch as selectSearch3,
|
|
6968
6980
|
setSelectedRowKeys as setSelectedRowKeys2
|
|
6969
6981
|
} from "@fctc/interface-logic/store";
|
|
6970
6982
|
var tableHeadController = (props) => {
|
|
6971
6983
|
const { typeTable, rows, selectedRowKeysRef } = props;
|
|
6972
|
-
const appDispatch =
|
|
6984
|
+
const appDispatch = useAppDispatch6();
|
|
6973
6985
|
const { groupByDomain } = useAppSelector4(selectSearch3);
|
|
6974
6986
|
const handleCheckBoxAll = (event) => {
|
|
6975
6987
|
if (event?.target?.checked && typeTable === "list") {
|
|
@@ -7095,7 +7107,7 @@ import {
|
|
|
7095
7107
|
useAppSelector as useAppSelector6,
|
|
7096
7108
|
selectSearch as selectSearch5,
|
|
7097
7109
|
selectList as selectList4,
|
|
7098
|
-
useAppDispatch as
|
|
7110
|
+
useAppDispatch as useAppDispatch7,
|
|
7099
7111
|
setSelectedRowKeys as setSelectedRowKeys3
|
|
7100
7112
|
} from "@fctc/interface-logic/store";
|
|
7101
7113
|
|
|
@@ -7128,7 +7140,7 @@ var tableGroupController = (props) => {
|
|
|
7128
7140
|
const [pageGroup, setPageGroup] = useState14(0);
|
|
7129
7141
|
const { groupByDomain, selectedTags } = useAppSelector6(selectSearch5);
|
|
7130
7142
|
const { selectedRowKeys } = useAppSelector6(selectList4);
|
|
7131
|
-
const appDispatch =
|
|
7143
|
+
const appDispatch = useAppDispatch7();
|
|
7132
7144
|
const { toDataJS } = useOdooDataTransform();
|
|
7133
7145
|
const initVal = toDataJS(row, viewData, model);
|
|
7134
7146
|
const [isShowGroup, setIsShowGroup] = useState14(false);
|
|
@@ -7269,24 +7281,27 @@ var import_moment2 = __toESM(require_moment());
|
|
|
7269
7281
|
import { SearchType } from "@fctc/interface-logic/constants";
|
|
7270
7282
|
import {
|
|
7271
7283
|
domainHelper as domainHelper2,
|
|
7272
|
-
|
|
7284
|
+
evalJSONContext as evalJSONContext8,
|
|
7285
|
+
evalJSONDomain as evalJSONDomain7,
|
|
7273
7286
|
validateAndParseDate
|
|
7274
7287
|
} from "@fctc/interface-logic/utils";
|
|
7275
7288
|
import { useCallback as useCallback3, useEffect as useEffect16, useState as useState15 } from "react";
|
|
7276
7289
|
var searchController = ({
|
|
7277
7290
|
viewData,
|
|
7278
7291
|
actionData,
|
|
7279
|
-
fieldsList
|
|
7280
|
-
contextSearch,
|
|
7281
|
-
setSearchMap,
|
|
7282
|
-
searchMap
|
|
7292
|
+
fieldsList
|
|
7283
7293
|
}) => {
|
|
7294
|
+
const { env } = (0, provider_exports.useEnv)();
|
|
7284
7295
|
const [filterBy, setFilterBy] = useState15(null);
|
|
7285
7296
|
const [searchBy, setSearchBy] = useState15(null);
|
|
7286
7297
|
const [groupBy, setGroupBy] = useState15(null);
|
|
7287
7298
|
const [selectedTags, setSelectedTags] = useState15(null);
|
|
7288
7299
|
const [searchString, setSearchString] = useState15("");
|
|
7289
|
-
const
|
|
7300
|
+
const [searchMap, setSearchMap] = useState15({});
|
|
7301
|
+
const { context } = actionData || {};
|
|
7302
|
+
const actionContext = typeof context === "string" ? evalJSONContext8(context) : context;
|
|
7303
|
+
const contextSearch = { ...env.context, ...actionContext };
|
|
7304
|
+
const domainAction = actionData?.domain ? Array.isArray(actionData?.domain) ? [...actionData?.domain] : evalJSONDomain7(actionData?.domain, contextSearch) : [];
|
|
7290
7305
|
const aid = actionData?.id;
|
|
7291
7306
|
const model = actionData?.res_model;
|
|
7292
7307
|
const clearSearch = () => {
|
|
@@ -7443,16 +7458,16 @@ var searchController = ({
|
|
|
7443
7458
|
const contexts = [];
|
|
7444
7459
|
let groupValues = [];
|
|
7445
7460
|
objValues?.forEach((objValue) => {
|
|
7446
|
-
const { context, value, active, groupIndex: groupIndex2, isDefault } = objValue;
|
|
7461
|
+
const { context: context2, value, active, groupIndex: groupIndex2, isDefault } = objValue;
|
|
7447
7462
|
const indexAppend = groupIndex2 != null ? groupIndex2 : viewData?.views?.search?.filters_by?.length ?? 0;
|
|
7448
7463
|
contexts.push(
|
|
7449
|
-
...Array.isArray(
|
|
7464
|
+
...Array.isArray(context2?.group_by) ? context2.group_by.map((item) => ({ group_by: item })) : [context2]
|
|
7450
7465
|
);
|
|
7451
7466
|
groupValues[indexAppend] = {
|
|
7452
7467
|
contexts: [
|
|
7453
|
-
...Array.isArray(
|
|
7468
|
+
...Array.isArray(context2?.group_by) ? context2.group_by.map((item) => ({
|
|
7454
7469
|
group_by: item
|
|
7455
|
-
})) : [
|
|
7470
|
+
})) : [context2]
|
|
7456
7471
|
],
|
|
7457
7472
|
strings: isDefault ? [value] : [...groupValues[indexAppend]?.strings ?? [], value]
|
|
7458
7473
|
};
|
|
@@ -7489,7 +7504,7 @@ var searchController = ({
|
|
|
7489
7504
|
value,
|
|
7490
7505
|
type,
|
|
7491
7506
|
title,
|
|
7492
|
-
context,
|
|
7507
|
+
context: context2,
|
|
7493
7508
|
active,
|
|
7494
7509
|
dataIndex
|
|
7495
7510
|
} = tag;
|
|
@@ -7497,13 +7512,13 @@ var searchController = ({
|
|
|
7497
7512
|
if (type === SearchType.FILTER) {
|
|
7498
7513
|
addSearchItems(`${SearchType.FILTER}_${groupIndex}`, {
|
|
7499
7514
|
...tag,
|
|
7500
|
-
domain: domain ? domainFormat.toList(
|
|
7515
|
+
domain: domain ? domainFormat.toList(context2) : null
|
|
7501
7516
|
});
|
|
7502
7517
|
} else if (type === SearchType.SEARCH) {
|
|
7503
7518
|
addSearchItems(`${SearchType.SEARCH}_${String(dataIndex)}`, {
|
|
7504
7519
|
...tag,
|
|
7505
7520
|
domain: domain ? domainFormat.toList({
|
|
7506
|
-
...
|
|
7521
|
+
...context2,
|
|
7507
7522
|
self: value
|
|
7508
7523
|
}) : null
|
|
7509
7524
|
});
|
|
@@ -7511,7 +7526,7 @@ var searchController = ({
|
|
|
7511
7526
|
addSearchItems(`${SearchType.GROUP}`, {
|
|
7512
7527
|
...tag,
|
|
7513
7528
|
domain: domain ? domainFormat.toList({
|
|
7514
|
-
context,
|
|
7529
|
+
context: context2,
|
|
7515
7530
|
self: value
|
|
7516
7531
|
}) : null
|
|
7517
7532
|
});
|
|
@@ -7531,7 +7546,8 @@ var searchController = ({
|
|
|
7531
7546
|
removeSearchItems,
|
|
7532
7547
|
onSearchString: onChangeSearchInput,
|
|
7533
7548
|
handleAddTagSearch,
|
|
7534
|
-
domain: formatDomain()
|
|
7549
|
+
domain: formatDomain(),
|
|
7550
|
+
context: contextSearch
|
|
7535
7551
|
};
|
|
7536
7552
|
};
|
|
7537
7553
|
|
package/dist/types.d.mts
CHANGED