@fctc/widget-logic 1.8.1 → 1.8.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/hooks.js +17 -11
- package/dist/hooks.mjs +48 -20
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +90 -55
- package/dist/index.mjs +109 -67
- package/dist/utils.d.mts +10 -1
- package/dist/utils.d.ts +10 -1
- package/dist/utils.js +39 -0
- package/dist/utils.mjs +61 -1
- package/dist/widget.d.mts +2 -1
- package/dist/widget.d.ts +2 -1
- package/dist/widget.js +52 -51
- package/dist/widget.mjs +68 -60
- package/package.json +1 -1
package/dist/utils.mjs
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
|
|
1
15
|
// src/utils/constants.ts
|
|
2
16
|
var languages = [
|
|
3
17
|
{ id: "vi_VN", name: "VIE" },
|
|
@@ -13,7 +27,21 @@ var API_APP_URL = {
|
|
|
13
27
|
};
|
|
14
28
|
|
|
15
29
|
// src/utils/function.ts
|
|
16
|
-
import {
|
|
30
|
+
import {
|
|
31
|
+
useCallback,
|
|
32
|
+
useEffect,
|
|
33
|
+
useMemo,
|
|
34
|
+
useReducer,
|
|
35
|
+
useRef,
|
|
36
|
+
useState
|
|
37
|
+
} from "react";
|
|
38
|
+
|
|
39
|
+
// src/store.ts
|
|
40
|
+
var store_exports = {};
|
|
41
|
+
__reExport(store_exports, store_star);
|
|
42
|
+
import * as store_star from "@fctc/interface-logic/store";
|
|
43
|
+
|
|
44
|
+
// src/utils/function.ts
|
|
17
45
|
var countSum = (data, field) => {
|
|
18
46
|
if (!data || !field) return 0;
|
|
19
47
|
return data.reduce(
|
|
@@ -86,6 +114,37 @@ function useGetRowIds(tableRef) {
|
|
|
86
114
|
}, [updateVisibleRowIds, tableRef]);
|
|
87
115
|
return { rowIds, refresh: updateVisibleRowIds };
|
|
88
116
|
}
|
|
117
|
+
var useSelectionState = ({
|
|
118
|
+
typeTable,
|
|
119
|
+
tableRef,
|
|
120
|
+
rows
|
|
121
|
+
}) => {
|
|
122
|
+
const { groupByDomain } = (0, store_exports.useAppSelector)(store_exports.selectSearch);
|
|
123
|
+
const { selectedRowKeys } = (0, store_exports.useAppSelector)(store_exports.selectList);
|
|
124
|
+
const { rowIds: recordIds } = useGetRowIds(tableRef);
|
|
125
|
+
const selectedRowKeysRef = useRef(recordIds);
|
|
126
|
+
const isGroupTable = typeTable === "group";
|
|
127
|
+
const recordsCheckedGroup = useMemo(() => {
|
|
128
|
+
if (!rows || !groupByDomain) return 0;
|
|
129
|
+
const groupBy = typeof groupByDomain === "object" ? groupByDomain?.contexts?.[0]?.group_by : void 0;
|
|
130
|
+
return countSum(rows, groupBy);
|
|
131
|
+
}, [rows, groupByDomain]);
|
|
132
|
+
const isAllGroupChecked = useMemo(() => {
|
|
133
|
+
if (!isGroupTable || !selectedRowKeys?.length) return false;
|
|
134
|
+
const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
|
|
135
|
+
const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
|
|
136
|
+
const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
|
|
137
|
+
return allGroupsSelected || allRecordsSelected;
|
|
138
|
+
}, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
|
|
139
|
+
const isAllNormalChecked = useMemo(() => {
|
|
140
|
+
if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
|
|
141
|
+
return selectedRowKeys.length === rows.length && selectedRowKeys.every(
|
|
142
|
+
(id) => rows.some((record) => record.id === id)
|
|
143
|
+
);
|
|
144
|
+
}, [isGroupTable, selectedRowKeys, rows]);
|
|
145
|
+
const checkedAll = isAllGroupChecked || isAllNormalChecked;
|
|
146
|
+
return { checkedAll, selectedRowKeysRef };
|
|
147
|
+
};
|
|
89
148
|
var getDateRange = (currentDate, unit) => {
|
|
90
149
|
const date = new Date(currentDate);
|
|
91
150
|
let dateStart, dateEnd;
|
|
@@ -238,5 +297,6 @@ export {
|
|
|
238
297
|
mergeButtons,
|
|
239
298
|
setStorageItemAsync,
|
|
240
299
|
useGetRowIds,
|
|
300
|
+
useSelectionState,
|
|
241
301
|
useStorageState
|
|
242
302
|
};
|
package/dist/widget.d.mts
CHANGED
|
@@ -260,7 +260,7 @@ declare const tableController: ({ data }: ITableProps) => {
|
|
|
260
260
|
rows: any[];
|
|
261
261
|
columns: any;
|
|
262
262
|
onToggleColumnOptional: (item: any) => void;
|
|
263
|
-
typeTable: "list" | "
|
|
263
|
+
typeTable: "list" | "group" | "calendar" | undefined;
|
|
264
264
|
};
|
|
265
265
|
|
|
266
266
|
declare const tableGroupController: (props: any) => {
|
|
@@ -311,6 +311,7 @@ declare const searchController: ({ viewData, actionData, fieldsList, setDomain,
|
|
|
311
311
|
setSelectedTags: react.Dispatch<any>;
|
|
312
312
|
removeSearchItems: (key: string, item: any) => void;
|
|
313
313
|
onSearchString: (search_string: string) => void;
|
|
314
|
+
handleAddTagSearch: (tag: any) => void;
|
|
314
315
|
};
|
|
315
316
|
|
|
316
317
|
export { type ISelctionStateProps, type ITableBodyProps, type ITableHeadProps, type ITableProps, binaryFieldController, colorFieldController, copyLinkButtonController, dateFieldController, downLoadBinaryController, downloadFileController, durationController, floatController, floatTimeFiledController, many2manyFieldController, many2manyTagsController, many2oneButtonController, many2oneFieldController, priorityFieldController, searchController, statusDropdownController, tableBodyController, tableController, tableGroupController, tableHeadController };
|
package/dist/widget.d.ts
CHANGED
|
@@ -260,7 +260,7 @@ declare const tableController: ({ data }: ITableProps) => {
|
|
|
260
260
|
rows: any[];
|
|
261
261
|
columns: any;
|
|
262
262
|
onToggleColumnOptional: (item: any) => void;
|
|
263
|
-
typeTable: "list" | "
|
|
263
|
+
typeTable: "list" | "group" | "calendar" | undefined;
|
|
264
264
|
};
|
|
265
265
|
|
|
266
266
|
declare const tableGroupController: (props: any) => {
|
|
@@ -311,6 +311,7 @@ declare const searchController: ({ viewData, actionData, fieldsList, setDomain,
|
|
|
311
311
|
setSelectedTags: react.Dispatch<any>;
|
|
312
312
|
removeSearchItems: (key: string, item: any) => void;
|
|
313
313
|
onSearchString: (search_string: string) => void;
|
|
314
|
+
handleAddTagSearch: (tag: any) => void;
|
|
314
315
|
};
|
|
315
316
|
|
|
316
317
|
export { type ISelctionStateProps, type ITableBodyProps, type ITableHeadProps, type ITableProps, binaryFieldController, colorFieldController, copyLinkButtonController, dateFieldController, downLoadBinaryController, downloadFileController, durationController, floatController, floatTimeFiledController, many2manyFieldController, many2manyTagsController, many2oneButtonController, many2oneFieldController, priorityFieldController, searchController, statusDropdownController, tableBodyController, tableController, tableGroupController, tableHeadController };
|
package/dist/widget.js
CHANGED
|
@@ -4452,6 +4452,12 @@ var import_react7 = require("react");
|
|
|
4452
4452
|
|
|
4453
4453
|
// src/utils/function.ts
|
|
4454
4454
|
var import_react6 = require("react");
|
|
4455
|
+
|
|
4456
|
+
// src/store.ts
|
|
4457
|
+
var store_exports = {};
|
|
4458
|
+
__reExport(store_exports, require("@fctc/interface-logic/store"));
|
|
4459
|
+
|
|
4460
|
+
// src/utils/function.ts
|
|
4455
4461
|
var countSum = (data, field) => {
|
|
4456
4462
|
if (!data || !field) return 0;
|
|
4457
4463
|
return data.reduce(
|
|
@@ -4606,19 +4612,19 @@ function useStorageState(key) {
|
|
|
4606
4612
|
|
|
4607
4613
|
// src/hooks/core/use-list-data.ts
|
|
4608
4614
|
var import_hooks6 = require("@fctc/interface-logic/hooks");
|
|
4609
|
-
var
|
|
4615
|
+
var import_store5 = require("@fctc/interface-logic/store");
|
|
4610
4616
|
var import_utils3 = require("@fctc/interface-logic/utils");
|
|
4611
4617
|
var useListData = ({
|
|
4612
4618
|
action,
|
|
4613
4619
|
context,
|
|
4614
4620
|
viewResponse
|
|
4615
4621
|
}) => {
|
|
4616
|
-
const { groupByDomain } = (0,
|
|
4622
|
+
const { groupByDomain } = (0, import_store5.useAppSelector)(import_store5.selectSearch);
|
|
4617
4623
|
const initModel = (0, import_hooks6.useModel)();
|
|
4618
4624
|
const [type, setType] = (0, import_react7.useState)("list");
|
|
4619
4625
|
const [mode, setMode] = (0, import_react7.useState)("month");
|
|
4620
4626
|
const [currentDate, setCurrentDate] = (0, import_react7.useState)(/* @__PURE__ */ new Date());
|
|
4621
|
-
const { pageLimit, page, order } = (0,
|
|
4627
|
+
const { pageLimit, page, order } = (0, import_store5.useAppSelector)(import_store5.selectList);
|
|
4622
4628
|
const listDataProps = (0, import_react7.useMemo)(() => {
|
|
4623
4629
|
const actData = action?.result;
|
|
4624
4630
|
if (!viewResponse || !actData || !context) {
|
|
@@ -4750,10 +4756,10 @@ var import_react9 = require("react");
|
|
|
4750
4756
|
var import_react_i18next = require("react-i18next");
|
|
4751
4757
|
var import_environment5 = require("@fctc/interface-logic/environment");
|
|
4752
4758
|
var import_hooks8 = require("@fctc/interface-logic/hooks");
|
|
4753
|
-
var
|
|
4759
|
+
var import_store6 = require("@fctc/interface-logic/store");
|
|
4754
4760
|
var useProfile = (accessToken) => {
|
|
4755
4761
|
const getProfile = (0, import_hooks8.useGetProfile)();
|
|
4756
|
-
const dispatch = (0,
|
|
4762
|
+
const dispatch = (0, import_store6.useAppDispatch)();
|
|
4757
4763
|
const { i18n: i18n2 } = (0, import_react_i18next.useTranslation)();
|
|
4758
4764
|
const fetchUserProfile = async () => {
|
|
4759
4765
|
return await getProfile.mutateAsync();
|
|
@@ -4768,7 +4774,7 @@ var useProfile = (accessToken) => {
|
|
|
4768
4774
|
const userInfo = userInfoQuery.data;
|
|
4769
4775
|
const env = (0, import_environment5.getEnv)();
|
|
4770
4776
|
env.setUid(userInfo?.sub);
|
|
4771
|
-
dispatch((0,
|
|
4777
|
+
dispatch((0, import_store6.setDataUser)(userInfo));
|
|
4772
4778
|
const userLocale = languages.find((lang) => lang?.id === userInfo?.locale);
|
|
4773
4779
|
env.setLang(userLocale?.id);
|
|
4774
4780
|
i18n2.changeLanguage(userLocale?.id.split("_")[0]);
|
|
@@ -4833,11 +4839,11 @@ var useViewV2 = ({
|
|
|
4833
4839
|
|
|
4834
4840
|
// src/hooks/core/use-auth.ts
|
|
4835
4841
|
var import_hooks10 = require("@fctc/interface-logic/hooks");
|
|
4836
|
-
var
|
|
4842
|
+
var import_store7 = require("@fctc/interface-logic/store");
|
|
4837
4843
|
var useAuth = () => {
|
|
4838
4844
|
const [[isLoading, accessToken], setAccessToken] = useStorageState("TOKEN");
|
|
4839
4845
|
const loginMutate = (0, import_hooks10.useLoginCredential)();
|
|
4840
|
-
const dispatch = (0,
|
|
4846
|
+
const dispatch = (0, import_store7.useAppDispatch)();
|
|
4841
4847
|
const signIn = async (email, password) => {
|
|
4842
4848
|
try {
|
|
4843
4849
|
loginMutate.mutate(
|
|
@@ -4858,9 +4864,9 @@ var useAuth = () => {
|
|
|
4858
4864
|
}
|
|
4859
4865
|
};
|
|
4860
4866
|
const signOut = async () => {
|
|
4861
|
-
dispatch((0,
|
|
4862
|
-
dispatch((0,
|
|
4863
|
-
dispatch((0,
|
|
4867
|
+
dispatch((0, import_store7.setMenuList)([]));
|
|
4868
|
+
dispatch((0, import_store7.setDataUser)({}));
|
|
4869
|
+
dispatch((0, import_store7.setProfile)({}));
|
|
4864
4870
|
setAccessToken(null);
|
|
4865
4871
|
};
|
|
4866
4872
|
return {
|
|
@@ -5039,7 +5045,7 @@ function useDebounce(value, delay) {
|
|
|
5039
5045
|
__reExport(hooks_exports, require("@fctc/interface-logic/hooks"));
|
|
5040
5046
|
|
|
5041
5047
|
// src/widget/advance/table/table-body/controller.ts
|
|
5042
|
-
var
|
|
5048
|
+
var import_store8 = require("@fctc/interface-logic/store");
|
|
5043
5049
|
var import_react15 = require("react");
|
|
5044
5050
|
var tableBodyController = (props) => {
|
|
5045
5051
|
const {
|
|
@@ -5052,7 +5058,7 @@ var tableBodyController = (props) => {
|
|
|
5052
5058
|
selectedRowKeysRef,
|
|
5053
5059
|
onClickRow
|
|
5054
5060
|
} = props;
|
|
5055
|
-
const appDispatch = (0,
|
|
5061
|
+
const appDispatch = (0, import_store8.useAppDispatch)();
|
|
5056
5062
|
const checked = (0, import_react15.useMemo)(() => {
|
|
5057
5063
|
if (!row?.id) return false;
|
|
5058
5064
|
if (selectedRowKeys?.includes(row.id)) {
|
|
@@ -5069,7 +5075,7 @@ var tableBodyController = (props) => {
|
|
|
5069
5075
|
}
|
|
5070
5076
|
const newSelectedRowKeys = selectedRowKeys?.includes(row.id) ? selectedRowKeys?.filter((key) => key !== row.id) : [...selectedRowKeys, row.id];
|
|
5071
5077
|
console.log("newSelectedRowKeys", newSelectedRowKeys);
|
|
5072
|
-
appDispatch((0,
|
|
5078
|
+
appDispatch((0, import_store8.setSelectedRowKeys)(newSelectedRowKeys));
|
|
5073
5079
|
};
|
|
5074
5080
|
const handleClickRow = (col, row2) => {
|
|
5075
5081
|
onClickRow(col, row2);
|
|
@@ -5082,13 +5088,13 @@ var tableBodyController = (props) => {
|
|
|
5082
5088
|
(id) => id !== row.id
|
|
5083
5089
|
);
|
|
5084
5090
|
selectedRowKeysRef.current = filtered;
|
|
5085
|
-
appDispatch((0,
|
|
5091
|
+
appDispatch((0, import_store8.setSelectedRowKeys)(filtered));
|
|
5086
5092
|
} else {
|
|
5087
5093
|
const unique = Array.from(
|
|
5088
5094
|
/* @__PURE__ */ new Set([...selectedRowKeysRef?.current, row?.id])
|
|
5089
5095
|
);
|
|
5090
5096
|
selectedRowKeysRef.current = unique;
|
|
5091
|
-
appDispatch((0,
|
|
5097
|
+
appDispatch((0, import_store8.setSelectedRowKeys)(unique));
|
|
5092
5098
|
}
|
|
5093
5099
|
}
|
|
5094
5100
|
}, [isAutoSelect]);
|
|
@@ -5106,35 +5112,35 @@ var tableBodyController = (props) => {
|
|
|
5106
5112
|
};
|
|
5107
5113
|
|
|
5108
5114
|
// src/widget/advance/table/table-head/controller.ts
|
|
5109
|
-
var
|
|
5115
|
+
var import_store9 = require("@fctc/interface-logic/store");
|
|
5110
5116
|
var tableHeadController = (props) => {
|
|
5111
5117
|
const { typeTable, rows, selectedRowKeysRef } = props;
|
|
5112
|
-
const appDispatch = (0,
|
|
5113
|
-
const { groupByDomain } = (0,
|
|
5118
|
+
const appDispatch = (0, import_store9.useAppDispatch)();
|
|
5119
|
+
const { groupByDomain } = (0, import_store9.useAppSelector)(import_store9.selectSearch);
|
|
5114
5120
|
const handleCheckBoxAll = (event) => {
|
|
5115
5121
|
if (event?.target?.checked && typeTable === "list") {
|
|
5116
5122
|
const allRowKeys = Array.isArray(rows) ? rows.map((record) => record?.id) : [];
|
|
5117
|
-
appDispatch((0,
|
|
5123
|
+
appDispatch((0, import_store9.setSelectedRowKeys)(allRowKeys));
|
|
5118
5124
|
} else if (event?.target?.checked && typeTable === "group") {
|
|
5119
5125
|
const rowsIDs = document.querySelectorAll("tr[data-row-id]");
|
|
5120
5126
|
const ids = Array.from(rowsIDs)?.map(
|
|
5121
5127
|
(row) => Number(row?.getAttribute("data-row-id"))
|
|
5122
5128
|
);
|
|
5123
5129
|
if (ids?.length > 0) {
|
|
5124
|
-
appDispatch((0,
|
|
5130
|
+
appDispatch((0, import_store9.setSelectedRowKeys)(ids));
|
|
5125
5131
|
} else {
|
|
5126
5132
|
const sum = countSum(
|
|
5127
5133
|
rows,
|
|
5128
5134
|
typeof groupByDomain === "object" ? groupByDomain?.contexts?.[0]?.group_by : void 0
|
|
5129
5135
|
);
|
|
5130
5136
|
const keys = Array.from({ length: sum }, (_) => void 0);
|
|
5131
|
-
appDispatch((0,
|
|
5137
|
+
appDispatch((0, import_store9.setSelectedRowKeys)(keys));
|
|
5132
5138
|
}
|
|
5133
5139
|
if (selectedRowKeysRef) {
|
|
5134
5140
|
selectedRowKeysRef.current = [];
|
|
5135
5141
|
}
|
|
5136
5142
|
} else {
|
|
5137
|
-
appDispatch((0,
|
|
5143
|
+
appDispatch((0, import_store9.setSelectedRowKeys)([]));
|
|
5138
5144
|
}
|
|
5139
5145
|
};
|
|
5140
5146
|
return {
|
|
@@ -5144,7 +5150,7 @@ var tableHeadController = (props) => {
|
|
|
5144
5150
|
|
|
5145
5151
|
// src/widget/advance/table/table-view/controller.ts
|
|
5146
5152
|
var import_react16 = require("react");
|
|
5147
|
-
var
|
|
5153
|
+
var import_store10 = require("@fctc/interface-logic/store");
|
|
5148
5154
|
var import_utils5 = require("@fctc/interface-logic/utils");
|
|
5149
5155
|
var tableController = ({ data }) => {
|
|
5150
5156
|
const [rows, setRows] = (0, import_react16.useState)(data.records || []);
|
|
@@ -5992,7 +5998,7 @@ var i18n_default = import_i18next.default;
|
|
|
5992
5998
|
|
|
5993
5999
|
// src/widget/advance/table/table-group/controller.ts
|
|
5994
6000
|
var import_hooks13 = require("@fctc/interface-logic/hooks");
|
|
5995
|
-
var
|
|
6001
|
+
var import_store11 = require("@fctc/interface-logic/store");
|
|
5996
6002
|
|
|
5997
6003
|
// src/environment.ts
|
|
5998
6004
|
var environment_exports = {};
|
|
@@ -6020,9 +6026,9 @@ var tableGroupController = (props) => {
|
|
|
6020
6026
|
selectedRowKeysRef
|
|
6021
6027
|
} = props;
|
|
6022
6028
|
const [pageGroup, setPageGroup] = (0, import_react17.useState)(0);
|
|
6023
|
-
const { groupByDomain, selectedTags } = (0,
|
|
6024
|
-
const { selectedRowKeys } = (0,
|
|
6025
|
-
const appDispatch = (0,
|
|
6029
|
+
const { groupByDomain, selectedTags } = (0, import_store11.useAppSelector)(import_store11.selectSearch);
|
|
6030
|
+
const { selectedRowKeys } = (0, import_store11.useAppSelector)(import_store11.selectList);
|
|
6031
|
+
const appDispatch = (0, import_store11.useAppDispatch)();
|
|
6026
6032
|
const { toDataJS } = (0, import_hooks13.useOdooDataTransform)();
|
|
6027
6033
|
const initVal = toDataJS(row, viewData, model);
|
|
6028
6034
|
const [isShowGroup, setIsShowGroup] = (0, import_react17.useState)(false);
|
|
@@ -6108,14 +6114,14 @@ var tableGroupController = (props) => {
|
|
|
6108
6114
|
const filteredIds = selectedRowKeys.filter(
|
|
6109
6115
|
(id) => !ids.includes(id)
|
|
6110
6116
|
);
|
|
6111
|
-
appDispatch((0,
|
|
6117
|
+
appDispatch((0, import_store11.setSelectedRowKeys)(filteredIds));
|
|
6112
6118
|
} else if (!isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && checkedAll && !allIdsNull && isQueryFetched) {
|
|
6113
6119
|
const clonedKeys = [...selectedRowKeys];
|
|
6114
|
-
appDispatch((0,
|
|
6115
|
-
setTimeout(() => appDispatch((0,
|
|
6120
|
+
appDispatch((0, import_store11.setSelectedRowKeys)([...clonedKeys, -1]));
|
|
6121
|
+
setTimeout(() => appDispatch((0, import_store11.setSelectedRowKeys)(clonedKeys)), 500);
|
|
6116
6122
|
} else if (isShowGroup && selectedRowKeys?.length > 0 && typeTableGroup === "list" && !checkedAll && !allIdsNull) {
|
|
6117
6123
|
const filteredKeys = selectedRowKeys.filter((id) => id > -1);
|
|
6118
|
-
appDispatch((0,
|
|
6124
|
+
appDispatch((0, import_store11.setSelectedRowKeys)(filteredKeys));
|
|
6119
6125
|
}
|
|
6120
6126
|
toggleShowGroup();
|
|
6121
6127
|
};
|
|
@@ -6124,8 +6130,8 @@ var tableGroupController = (props) => {
|
|
|
6124
6130
|
return;
|
|
6125
6131
|
}
|
|
6126
6132
|
const clonedKeys = [...selectedRowKeys];
|
|
6127
|
-
(0,
|
|
6128
|
-
setTimeout(() => (0,
|
|
6133
|
+
(0, import_store11.setSelectedRowKeys)([...clonedKeys, -1]);
|
|
6134
|
+
setTimeout(() => (0, import_store11.setSelectedRowKeys)(clonedKeys), 500);
|
|
6129
6135
|
}, [isQueryFetched]);
|
|
6130
6136
|
return {
|
|
6131
6137
|
handleExpandChildGroup,
|
|
@@ -6168,10 +6174,6 @@ var import_react18 = require("react");
|
|
|
6168
6174
|
var provider_exports = {};
|
|
6169
6175
|
__reExport(provider_exports, require("@fctc/interface-logic/provider"));
|
|
6170
6176
|
|
|
6171
|
-
// src/store.ts
|
|
6172
|
-
var store_exports = {};
|
|
6173
|
-
__reExport(store_exports, require("@fctc/interface-logic/store"));
|
|
6174
|
-
|
|
6175
6177
|
// src/widget/advance/search/controller.ts
|
|
6176
6178
|
var searchController = ({
|
|
6177
6179
|
viewData,
|
|
@@ -6191,7 +6193,6 @@ var searchController = ({
|
|
|
6191
6193
|
const [searchMap, setSearchMap] = (0, import_react18.useState)({});
|
|
6192
6194
|
const [isReadyFormatDomain, setIsReadyFormatDomain] = (0, import_react18.useState)(false);
|
|
6193
6195
|
const [didInit, setDidInit] = (0, import_react18.useState)(false);
|
|
6194
|
-
const dispatch = (0, store_exports.useAppDispatch)();
|
|
6195
6196
|
const aid = actionData?.id;
|
|
6196
6197
|
const model = actionData?.res_model;
|
|
6197
6198
|
const domainAction = actionData?.domain ? Array.isArray(actionData?.domain) ? [...actionData?.domain] : (0, import_utils6.evalJSONDomain)(actionData?.domain, contextSearch) : [];
|
|
@@ -6330,7 +6331,6 @@ var searchController = ({
|
|
|
6330
6331
|
contexts,
|
|
6331
6332
|
fields
|
|
6332
6333
|
};
|
|
6333
|
-
dispatch((0, store_exports.setGroupByDomain)(groupByTag));
|
|
6334
6334
|
return groupByTag;
|
|
6335
6335
|
}
|
|
6336
6336
|
}
|
|
@@ -6497,13 +6497,14 @@ var searchController = ({
|
|
|
6497
6497
|
clearSearch,
|
|
6498
6498
|
setSelectedTags,
|
|
6499
6499
|
removeSearchItems,
|
|
6500
|
-
onSearchString: onChangeSearchInput
|
|
6500
|
+
onSearchString: onChangeSearchInput,
|
|
6501
|
+
handleAddTagSearch
|
|
6501
6502
|
};
|
|
6502
6503
|
};
|
|
6503
6504
|
|
|
6504
6505
|
// src/widget/basic/many2many-field/controller.ts
|
|
6505
6506
|
var import_environment8 = require("@fctc/interface-logic/environment");
|
|
6506
|
-
var
|
|
6507
|
+
var import_store13 = require("@fctc/interface-logic/store");
|
|
6507
6508
|
var import_utils7 = require("@fctc/interface-logic/utils");
|
|
6508
6509
|
var many2manyFieldController = (props) => {
|
|
6509
6510
|
const {
|
|
@@ -6521,14 +6522,14 @@ var many2manyFieldController = (props) => {
|
|
|
6521
6522
|
options,
|
|
6522
6523
|
sessionStorageUtils
|
|
6523
6524
|
} = props;
|
|
6524
|
-
const appDispatch = (0,
|
|
6525
|
+
const appDispatch = (0, import_store13.useAppDispatch)();
|
|
6525
6526
|
const actionData = sessionStorageUtils.getActionData();
|
|
6526
6527
|
const [debouncedPage] = useDebounce(page, 500);
|
|
6527
6528
|
const [order, setOrder] = (0, import_react19.useState)();
|
|
6528
6529
|
const [isLoadedData, setIsLoadedData] = (0, import_react19.useState)(false);
|
|
6529
6530
|
const [domainMany2Many, setDomainMany2Many] = (0, import_react19.useState)(domain);
|
|
6530
6531
|
const env = (0, import_environment8.getEnv)();
|
|
6531
|
-
const { selectedTags } = (0,
|
|
6532
|
+
const { selectedTags } = (0, import_store13.useAppSelector)(import_store13.selectSearch);
|
|
6532
6533
|
const viewParams = {
|
|
6533
6534
|
model: relation,
|
|
6534
6535
|
views: [
|
|
@@ -6571,8 +6572,8 @@ var many2manyFieldController = (props) => {
|
|
|
6571
6572
|
const fetchData = async () => {
|
|
6572
6573
|
try {
|
|
6573
6574
|
setDomainMany2Many(domain);
|
|
6574
|
-
appDispatch((0,
|
|
6575
|
-
appDispatch((0,
|
|
6575
|
+
appDispatch((0, import_store13.setFirstDomain)(domain));
|
|
6576
|
+
appDispatch((0, import_store13.setViewDataStore)(viewResponse));
|
|
6576
6577
|
const modalData = viewResponse?.views?.list?.fields.map((field) => ({
|
|
6577
6578
|
...viewResponse?.models?.[String(model)]?.[field?.name],
|
|
6578
6579
|
...field
|
|
@@ -6583,7 +6584,7 @@ var many2manyFieldController = (props) => {
|
|
|
6583
6584
|
[`${aid}_${relation}_popupmany2many`]: modalData
|
|
6584
6585
|
});
|
|
6585
6586
|
}
|
|
6586
|
-
appDispatch((0,
|
|
6587
|
+
appDispatch((0, import_store13.setPage)(0));
|
|
6587
6588
|
} catch (err) {
|
|
6588
6589
|
console.log(err);
|
|
6589
6590
|
}
|
|
@@ -6619,12 +6620,12 @@ var many2manyFieldController = (props) => {
|
|
|
6619
6620
|
fetchData();
|
|
6620
6621
|
}
|
|
6621
6622
|
return () => {
|
|
6622
|
-
appDispatch((0,
|
|
6623
|
+
appDispatch((0, import_store13.setGroupByDomain)(null));
|
|
6623
6624
|
setFields((prevFields) => ({
|
|
6624
6625
|
...prevFields,
|
|
6625
6626
|
[`${aid}_${relation}_popupmany2many`]: null
|
|
6626
6627
|
}));
|
|
6627
|
-
appDispatch((0,
|
|
6628
|
+
appDispatch((0, import_store13.setPage)(0));
|
|
6628
6629
|
setSelectedRowKeys5([]);
|
|
6629
6630
|
setDomainMany2Many(null);
|
|
6630
6631
|
setIsLoadedData(false);
|
|
@@ -6737,7 +6738,7 @@ var many2manyTagsController = (props) => {
|
|
|
6737
6738
|
// src/widget/basic/status-bar-field/controller.ts
|
|
6738
6739
|
var import_react21 = require("react");
|
|
6739
6740
|
var import_hooks16 = require("@fctc/interface-logic/hooks");
|
|
6740
|
-
var
|
|
6741
|
+
var import_store14 = require("@fctc/interface-logic/store");
|
|
6741
6742
|
var import_utils9 = require("@fctc/interface-logic/utils");
|
|
6742
6743
|
var durationController = (props) => {
|
|
6743
6744
|
const {
|
|
@@ -6757,7 +6758,7 @@ var durationController = (props) => {
|
|
|
6757
6758
|
};
|
|
6758
6759
|
const [disabled, setDisabled] = (0, import_react21.useState)(false);
|
|
6759
6760
|
const [modelStatus, setModalStatus] = (0, import_react21.useState)(false);
|
|
6760
|
-
const { context } = (0,
|
|
6761
|
+
const { context } = (0, import_store14.useAppSelector)(import_store14.selectEnv);
|
|
6761
6762
|
const queryKey = [`data-status-duration`, specification];
|
|
6762
6763
|
const listDataProps = {
|
|
6763
6764
|
model: relation,
|