@fctc/widget-logic 3.4.0 → 3.4.1
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.d.mts +9 -3
- package/dist/hooks.d.ts +9 -3
- package/dist/hooks.js +9 -7
- package/dist/hooks.mjs +9 -7
- package/dist/index.js +70 -56
- package/dist/index.mjs +76 -62
- package/dist/widget.d.mts +3 -3
- package/dist/widget.d.ts +3 -3
- package/dist/widget.js +61 -49
- package/dist/widget.mjs +67 -55
- package/package.json +94 -94
package/dist/hooks.d.mts
CHANGED
|
@@ -95,7 +95,9 @@ interface UseMenuReturn {
|
|
|
95
95
|
xNode?: string;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
declare const useUser: (
|
|
98
|
+
declare const useUser: ({ service }: {
|
|
99
|
+
service?: string;
|
|
100
|
+
}) => any;
|
|
99
101
|
type useUserType = ReturnType<typeof useUser>;
|
|
100
102
|
|
|
101
103
|
declare const useViewV2: ({ action, context, aid, service, xNode, }: {
|
|
@@ -283,7 +285,9 @@ type ViewResponse = {
|
|
|
283
285
|
};
|
|
284
286
|
};
|
|
285
287
|
|
|
286
|
-
declare const useCompany: (
|
|
288
|
+
declare const useCompany: ({ service }: {
|
|
289
|
+
service?: string;
|
|
290
|
+
}) => {
|
|
287
291
|
currentCompany: {
|
|
288
292
|
data: CurrentCompany | undefined;
|
|
289
293
|
error: Error;
|
|
@@ -1041,7 +1045,9 @@ declare const useListData: ({ action, context, viewData, model, service, xNode,
|
|
|
1041
1045
|
};
|
|
1042
1046
|
type useListDataType = ReturnType<typeof useListData>;
|
|
1043
1047
|
|
|
1044
|
-
declare const useProfile: (
|
|
1048
|
+
declare const useProfile: ({ service }: {
|
|
1049
|
+
service?: string;
|
|
1050
|
+
}) => {
|
|
1045
1051
|
context: ContextProfile | undefined;
|
|
1046
1052
|
data: UserInfo | undefined;
|
|
1047
1053
|
error: Error;
|
package/dist/hooks.d.ts
CHANGED
|
@@ -95,7 +95,9 @@ interface UseMenuReturn {
|
|
|
95
95
|
xNode?: string;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
declare const useUser: (
|
|
98
|
+
declare const useUser: ({ service }: {
|
|
99
|
+
service?: string;
|
|
100
|
+
}) => any;
|
|
99
101
|
type useUserType = ReturnType<typeof useUser>;
|
|
100
102
|
|
|
101
103
|
declare const useViewV2: ({ action, context, aid, service, xNode, }: {
|
|
@@ -283,7 +285,9 @@ type ViewResponse = {
|
|
|
283
285
|
};
|
|
284
286
|
};
|
|
285
287
|
|
|
286
|
-
declare const useCompany: (
|
|
288
|
+
declare const useCompany: ({ service }: {
|
|
289
|
+
service?: string;
|
|
290
|
+
}) => {
|
|
287
291
|
currentCompany: {
|
|
288
292
|
data: CurrentCompany | undefined;
|
|
289
293
|
error: Error;
|
|
@@ -1041,7 +1045,9 @@ declare const useListData: ({ action, context, viewData, model, service, xNode,
|
|
|
1041
1045
|
};
|
|
1042
1046
|
type useListDataType = ReturnType<typeof useListData>;
|
|
1043
1047
|
|
|
1044
|
-
declare const useProfile: (
|
|
1048
|
+
declare const useProfile: ({ service }: {
|
|
1049
|
+
service?: string;
|
|
1050
|
+
}) => {
|
|
1045
1051
|
context: ContextProfile | undefined;
|
|
1046
1052
|
data: UserInfo | undefined;
|
|
1047
1053
|
error: Error;
|
package/dist/hooks.js
CHANGED
|
@@ -455,7 +455,7 @@ var useDetail = (sub) => {
|
|
|
455
455
|
var import_react_query2 = require("@tanstack/react-query");
|
|
456
456
|
var import_react5 = require("react");
|
|
457
457
|
var import_react_i18next = require("react-i18next");
|
|
458
|
-
var useProfile = () => {
|
|
458
|
+
var useProfile = ({ service }) => {
|
|
459
459
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
460
460
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
461
461
|
const getProfile = useGetProfile2();
|
|
@@ -493,8 +493,8 @@ var useProfile = () => {
|
|
|
493
493
|
};
|
|
494
494
|
|
|
495
495
|
// src/hooks/core/use-user.ts
|
|
496
|
-
var useUser = () => {
|
|
497
|
-
const userProfile = useProfile();
|
|
496
|
+
var useUser = ({ service }) => {
|
|
497
|
+
const userProfile = useProfile({ service });
|
|
498
498
|
const userDetail = useDetail(userProfile?.data?.sub);
|
|
499
499
|
return { userProfile, userDetail, context: userProfile?.context };
|
|
500
500
|
};
|
|
@@ -544,10 +544,12 @@ var useViewV2 = ({
|
|
|
544
544
|
// src/hooks/core/use-company.ts
|
|
545
545
|
var import_react_query3 = require("@tanstack/react-query");
|
|
546
546
|
var import_react7 = require("react");
|
|
547
|
-
var useCompany = () => {
|
|
547
|
+
var useCompany = ({ service }) => {
|
|
548
548
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
549
549
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
550
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
550
|
+
const getCurrentCompany = useGetCurrentCompany2({
|
|
551
|
+
service
|
|
552
|
+
});
|
|
551
553
|
const fetchCurrentCompany = async () => {
|
|
552
554
|
return await getCurrentCompany.mutateAsync();
|
|
553
555
|
};
|
|
@@ -604,8 +606,8 @@ var AppProvider = ({
|
|
|
604
606
|
aid
|
|
605
607
|
}) => {
|
|
606
608
|
const { env } = (0, provider_exports.useEnv)();
|
|
607
|
-
const user = useUser();
|
|
608
|
-
const company = useCompany();
|
|
609
|
+
const user = useUser({ service: env.default_service });
|
|
610
|
+
const company = useCompany({ service: env.default_service });
|
|
609
611
|
const menuContext = (0, import_react8.useMemo)(() => {
|
|
610
612
|
return combineContexts([
|
|
611
613
|
{
|
package/dist/hooks.mjs
CHANGED
|
@@ -436,7 +436,7 @@ var useDetail = (sub) => {
|
|
|
436
436
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
437
437
|
import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
|
|
438
438
|
import { useTranslation } from "react-i18next";
|
|
439
|
-
var useProfile = () => {
|
|
439
|
+
var useProfile = ({ service }) => {
|
|
440
440
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
441
441
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
442
442
|
const getProfile = useGetProfile2();
|
|
@@ -474,8 +474,8 @@ var useProfile = () => {
|
|
|
474
474
|
};
|
|
475
475
|
|
|
476
476
|
// src/hooks/core/use-user.ts
|
|
477
|
-
var useUser = () => {
|
|
478
|
-
const userProfile = useProfile();
|
|
477
|
+
var useUser = ({ service }) => {
|
|
478
|
+
const userProfile = useProfile({ service });
|
|
479
479
|
const userDetail = useDetail(userProfile?.data?.sub);
|
|
480
480
|
return { userProfile, userDetail, context: userProfile?.context };
|
|
481
481
|
};
|
|
@@ -525,10 +525,12 @@ var useViewV2 = ({
|
|
|
525
525
|
// src/hooks/core/use-company.ts
|
|
526
526
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
527
527
|
import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
|
|
528
|
-
var useCompany = () => {
|
|
528
|
+
var useCompany = ({ service }) => {
|
|
529
529
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
530
530
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
531
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
531
|
+
const getCurrentCompany = useGetCurrentCompany2({
|
|
532
|
+
service
|
|
533
|
+
});
|
|
532
534
|
const fetchCurrentCompany = async () => {
|
|
533
535
|
return await getCurrentCompany.mutateAsync();
|
|
534
536
|
};
|
|
@@ -585,8 +587,8 @@ var AppProvider = ({
|
|
|
585
587
|
aid
|
|
586
588
|
}) => {
|
|
587
589
|
const { env } = (0, provider_exports.useEnv)();
|
|
588
|
-
const user = useUser();
|
|
589
|
-
const company = useCompany();
|
|
590
|
+
const user = useUser({ service: env.default_service });
|
|
591
|
+
const company = useCompany({ service: env.default_service });
|
|
590
592
|
const menuContext = useMemo5(() => {
|
|
591
593
|
return combineContexts([
|
|
592
594
|
{
|
package/dist/index.js
CHANGED
|
@@ -4505,7 +4505,7 @@ var useDetail = (sub) => {
|
|
|
4505
4505
|
var import_react_query2 = require("@tanstack/react-query");
|
|
4506
4506
|
var import_react5 = require("react");
|
|
4507
4507
|
var import_react_i18next = require("react-i18next");
|
|
4508
|
-
var useProfile = () => {
|
|
4508
|
+
var useProfile = ({ service }) => {
|
|
4509
4509
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
4510
4510
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
4511
4511
|
const getProfile = useGetProfile2();
|
|
@@ -4543,8 +4543,8 @@ var useProfile = () => {
|
|
|
4543
4543
|
};
|
|
4544
4544
|
|
|
4545
4545
|
// src/hooks/core/use-user.ts
|
|
4546
|
-
var useUser = () => {
|
|
4547
|
-
const userProfile = useProfile();
|
|
4546
|
+
var useUser = ({ service }) => {
|
|
4547
|
+
const userProfile = useProfile({ service });
|
|
4548
4548
|
const userDetail = useDetail(userProfile?.data?.sub);
|
|
4549
4549
|
return { userProfile, userDetail, context: userProfile?.context };
|
|
4550
4550
|
};
|
|
@@ -4594,10 +4594,12 @@ var useViewV2 = ({
|
|
|
4594
4594
|
// src/hooks/core/use-company.ts
|
|
4595
4595
|
var import_react_query3 = require("@tanstack/react-query");
|
|
4596
4596
|
var import_react7 = require("react");
|
|
4597
|
-
var useCompany = () => {
|
|
4597
|
+
var useCompany = ({ service }) => {
|
|
4598
4598
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
4599
4599
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
4600
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
4600
|
+
const getCurrentCompany = useGetCurrentCompany2({
|
|
4601
|
+
service
|
|
4602
|
+
});
|
|
4601
4603
|
const fetchCurrentCompany = async () => {
|
|
4602
4604
|
return await getCurrentCompany.mutateAsync();
|
|
4603
4605
|
};
|
|
@@ -4654,8 +4656,8 @@ var AppProvider = ({
|
|
|
4654
4656
|
aid
|
|
4655
4657
|
}) => {
|
|
4656
4658
|
const { env } = (0, provider_exports.useEnv)();
|
|
4657
|
-
const user = useUser();
|
|
4658
|
-
const company = useCompany();
|
|
4659
|
+
const user = useUser({ service: env.default_service });
|
|
4660
|
+
const company = useCompany({ service: env.default_service });
|
|
4659
4661
|
const menuContext = (0, import_react8.useMemo)(() => {
|
|
4660
4662
|
return combineContexts([
|
|
4661
4663
|
{
|
|
@@ -6951,76 +6953,88 @@ var tableHeadController = (props) => {
|
|
|
6951
6953
|
var import_react24 = require("react");
|
|
6952
6954
|
var import_utils17 = require("@fctc/interface-logic/utils");
|
|
6953
6955
|
var tableController = ({ data }) => {
|
|
6954
|
-
const [rows, setRows] = (0, import_react24.useState)(
|
|
6955
|
-
const [
|
|
6956
|
-
const dataModelFields = (
|
|
6957
|
-
return
|
|
6956
|
+
const [rows, setRows] = (0, import_react24.useState)(null);
|
|
6957
|
+
const [columns, setColumns] = (0, import_react24.useState)(null);
|
|
6958
|
+
const dataModelFields = data?.fields?.map((field) => {
|
|
6959
|
+
return {
|
|
6958
6960
|
...data.dataModel?.[field?.name],
|
|
6959
6961
|
...field,
|
|
6960
6962
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
6961
|
-
}
|
|
6962
|
-
}
|
|
6963
|
-
const mergeFields = (
|
|
6964
|
-
|
|
6965
|
-
|
|
6966
|
-
|
|
6967
|
-
|
|
6968
|
-
|
|
6969
|
-
|
|
6970
|
-
|
|
6971
|
-
|
|
6972
|
-
|
|
6973
|
-
|
|
6974
|
-
|
|
6975
|
-
transformedItem[field] = item[field];
|
|
6976
|
-
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
6977
|
-
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
6978
|
-
transformedItem["string"] = item[field]?.[1];
|
|
6979
|
-
}
|
|
6980
|
-
transformedItem[field] = item[field];
|
|
6963
|
+
};
|
|
6964
|
+
});
|
|
6965
|
+
const mergeFields = mergeButtons(dataModelFields);
|
|
6966
|
+
const transformData = (dataList) => {
|
|
6967
|
+
if (!dataList) return;
|
|
6968
|
+
return dataList?.map((item) => {
|
|
6969
|
+
const transformedItem = { ...item };
|
|
6970
|
+
Object.keys(item).forEach((field) => {
|
|
6971
|
+
if (field !== "__domain") {
|
|
6972
|
+
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
6973
|
+
transformedItem[field] = item[field];
|
|
6974
|
+
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
6975
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
6976
|
+
transformedItem["string"] = item[field]?.[1];
|
|
6981
6977
|
}
|
|
6978
|
+
transformedItem[field] = item[field];
|
|
6982
6979
|
}
|
|
6983
|
-
}
|
|
6984
|
-
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
6980
|
+
}
|
|
6985
6981
|
});
|
|
6986
|
-
|
|
6987
|
-
|
|
6988
|
-
|
|
6982
|
+
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
6983
|
+
});
|
|
6984
|
+
};
|
|
6989
6985
|
(0, import_react24.useEffect)(() => {
|
|
6990
|
-
setRows(transformData(data
|
|
6991
|
-
}, [data
|
|
6992
|
-
const
|
|
6986
|
+
setRows(transformData(data.records));
|
|
6987
|
+
}, [data.records]);
|
|
6988
|
+
const handleGetColumns = () => {
|
|
6989
|
+
let cols = [];
|
|
6993
6990
|
try {
|
|
6994
|
-
|
|
6995
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils17.domainHelper.matchDomains(
|
|
6996
|
-
data.context,
|
|
6997
|
-
item?.column_invisible
|
|
6998
|
-
) : item?.invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6991
|
+
cols = mergeFields?.filter((item) => {
|
|
6992
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6999
6993
|
})?.map((field) => {
|
|
7000
|
-
const overridden = columnVisibility[field?.name];
|
|
7001
6994
|
return {
|
|
7002
6995
|
name: field?.name,
|
|
7003
|
-
optional:
|
|
6996
|
+
optional: field?.optional,
|
|
7004
6997
|
title: field?.type_co === "button" ? "" : field?.string,
|
|
7005
6998
|
field: { ...field }
|
|
7006
6999
|
};
|
|
7007
|
-
})
|
|
7000
|
+
});
|
|
7008
7001
|
} catch (error) {
|
|
7009
7002
|
console.error("Error in useTable:", error);
|
|
7010
|
-
return [];
|
|
7011
7003
|
}
|
|
7012
|
-
|
|
7013
|
-
|
|
7014
|
-
|
|
7015
|
-
|
|
7016
|
-
|
|
7017
|
-
}
|
|
7018
|
-
}, []);
|
|
7004
|
+
return cols;
|
|
7005
|
+
};
|
|
7006
|
+
(0, import_react24.useEffect)(() => {
|
|
7007
|
+
if (!columns) {
|
|
7008
|
+
setColumns(handleGetColumns());
|
|
7009
|
+
}
|
|
7010
|
+
}, [data]);
|
|
7011
|
+
const onToggleColumnOptional = (item) => {
|
|
7012
|
+
const tempColumn = [...columns]?.map((val) => {
|
|
7013
|
+
if (item?.name === val?.name) {
|
|
7014
|
+
return {
|
|
7015
|
+
...val,
|
|
7016
|
+
optional: item?.optional === "show" ? "hide" : "show"
|
|
7017
|
+
};
|
|
7018
|
+
}
|
|
7019
|
+
return val;
|
|
7020
|
+
});
|
|
7021
|
+
setColumns(tempColumn);
|
|
7022
|
+
};
|
|
7023
|
+
(0, import_react24.useEffect)(() => {
|
|
7024
|
+
if (data?.fields != null) {
|
|
7025
|
+
setColumns(null);
|
|
7026
|
+
}
|
|
7027
|
+
return () => {
|
|
7028
|
+
if (data?.fields != null) {
|
|
7029
|
+
setColumns(null);
|
|
7030
|
+
}
|
|
7031
|
+
};
|
|
7032
|
+
}, [data?.fields]);
|
|
7019
7033
|
return {
|
|
7020
7034
|
rows,
|
|
7021
7035
|
columns,
|
|
7022
7036
|
onToggleColumnOptional,
|
|
7023
|
-
typeTable: data
|
|
7037
|
+
typeTable: data.typeTable
|
|
7024
7038
|
};
|
|
7025
7039
|
};
|
|
7026
7040
|
|
package/dist/index.mjs
CHANGED
|
@@ -4580,7 +4580,7 @@ var useDetail = (sub) => {
|
|
|
4580
4580
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4581
4581
|
import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
|
|
4582
4582
|
import { useTranslation } from "react-i18next";
|
|
4583
|
-
var useProfile = () => {
|
|
4583
|
+
var useProfile = ({ service }) => {
|
|
4584
4584
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
4585
4585
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
4586
4586
|
const getProfile = useGetProfile2();
|
|
@@ -4618,8 +4618,8 @@ var useProfile = () => {
|
|
|
4618
4618
|
};
|
|
4619
4619
|
|
|
4620
4620
|
// src/hooks/core/use-user.ts
|
|
4621
|
-
var useUser = () => {
|
|
4622
|
-
const userProfile = useProfile();
|
|
4621
|
+
var useUser = ({ service }) => {
|
|
4622
|
+
const userProfile = useProfile({ service });
|
|
4623
4623
|
const userDetail = useDetail(userProfile?.data?.sub);
|
|
4624
4624
|
return { userProfile, userDetail, context: userProfile?.context };
|
|
4625
4625
|
};
|
|
@@ -4669,10 +4669,12 @@ var useViewV2 = ({
|
|
|
4669
4669
|
// src/hooks/core/use-company.ts
|
|
4670
4670
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
4671
4671
|
import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
|
|
4672
|
-
var useCompany = () => {
|
|
4672
|
+
var useCompany = ({ service }) => {
|
|
4673
4673
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
4674
4674
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
4675
|
-
const getCurrentCompany = useGetCurrentCompany2(
|
|
4675
|
+
const getCurrentCompany = useGetCurrentCompany2({
|
|
4676
|
+
service
|
|
4677
|
+
});
|
|
4676
4678
|
const fetchCurrentCompany = async () => {
|
|
4677
4679
|
return await getCurrentCompany.mutateAsync();
|
|
4678
4680
|
};
|
|
@@ -4729,8 +4731,8 @@ var AppProvider = ({
|
|
|
4729
4731
|
aid
|
|
4730
4732
|
}) => {
|
|
4731
4733
|
const { env } = (0, provider_exports.useEnv)();
|
|
4732
|
-
const user = useUser();
|
|
4733
|
-
const company = useCompany();
|
|
4734
|
+
const user = useUser({ service: env.default_service });
|
|
4735
|
+
const company = useCompany({ service: env.default_service });
|
|
4734
4736
|
const menuContext = useMemo5(() => {
|
|
4735
4737
|
return combineContexts([
|
|
4736
4738
|
{
|
|
@@ -7029,84 +7031,96 @@ var tableHeadController = (props) => {
|
|
|
7029
7031
|
};
|
|
7030
7032
|
|
|
7031
7033
|
// src/widget/advance/table/table-view/controller.ts
|
|
7032
|
-
import {
|
|
7034
|
+
import { useEffect as useEffect13, useState as useState12 } from "react";
|
|
7033
7035
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
7034
7036
|
var tableController = ({ data }) => {
|
|
7035
|
-
const [rows, setRows] = useState12(
|
|
7036
|
-
const [
|
|
7037
|
-
const dataModelFields =
|
|
7038
|
-
return
|
|
7037
|
+
const [rows, setRows] = useState12(null);
|
|
7038
|
+
const [columns, setColumns] = useState12(null);
|
|
7039
|
+
const dataModelFields = data?.fields?.map((field) => {
|
|
7040
|
+
return {
|
|
7039
7041
|
...data.dataModel?.[field?.name],
|
|
7040
7042
|
...field,
|
|
7041
7043
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
7042
|
-
}
|
|
7043
|
-
}
|
|
7044
|
-
const mergeFields =
|
|
7045
|
-
|
|
7046
|
-
|
|
7047
|
-
|
|
7048
|
-
|
|
7049
|
-
|
|
7050
|
-
|
|
7051
|
-
|
|
7052
|
-
|
|
7053
|
-
|
|
7054
|
-
|
|
7055
|
-
|
|
7056
|
-
transformedItem[field] = item[field];
|
|
7057
|
-
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
7058
|
-
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
7059
|
-
transformedItem["string"] = item[field]?.[1];
|
|
7060
|
-
}
|
|
7061
|
-
transformedItem[field] = item[field];
|
|
7044
|
+
};
|
|
7045
|
+
});
|
|
7046
|
+
const mergeFields = mergeButtons(dataModelFields);
|
|
7047
|
+
const transformData = (dataList) => {
|
|
7048
|
+
if (!dataList) return;
|
|
7049
|
+
return dataList?.map((item) => {
|
|
7050
|
+
const transformedItem = { ...item };
|
|
7051
|
+
Object.keys(item).forEach((field) => {
|
|
7052
|
+
if (field !== "__domain") {
|
|
7053
|
+
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
7054
|
+
transformedItem[field] = item[field];
|
|
7055
|
+
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
7056
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
7057
|
+
transformedItem["string"] = item[field]?.[1];
|
|
7062
7058
|
}
|
|
7059
|
+
transformedItem[field] = item[field];
|
|
7063
7060
|
}
|
|
7064
|
-
}
|
|
7065
|
-
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
7061
|
+
}
|
|
7066
7062
|
});
|
|
7067
|
-
|
|
7068
|
-
|
|
7069
|
-
|
|
7063
|
+
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
7064
|
+
});
|
|
7065
|
+
};
|
|
7070
7066
|
useEffect13(() => {
|
|
7071
|
-
setRows(transformData(data
|
|
7072
|
-
}, [data
|
|
7073
|
-
const
|
|
7067
|
+
setRows(transformData(data.records));
|
|
7068
|
+
}, [data.records]);
|
|
7069
|
+
const handleGetColumns = () => {
|
|
7070
|
+
let cols = [];
|
|
7074
7071
|
try {
|
|
7075
|
-
|
|
7076
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
|
|
7077
|
-
data.context,
|
|
7078
|
-
item?.column_invisible
|
|
7079
|
-
) : item?.invisible ? domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
7072
|
+
cols = mergeFields?.filter((item) => {
|
|
7073
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
7080
7074
|
})?.map((field) => {
|
|
7081
|
-
const overridden = columnVisibility[field?.name];
|
|
7082
7075
|
return {
|
|
7083
7076
|
name: field?.name,
|
|
7084
|
-
optional:
|
|
7077
|
+
optional: field?.optional,
|
|
7085
7078
|
title: field?.type_co === "button" ? "" : field?.string,
|
|
7086
7079
|
field: { ...field }
|
|
7087
7080
|
};
|
|
7088
|
-
})
|
|
7081
|
+
});
|
|
7089
7082
|
} catch (error) {
|
|
7090
7083
|
console.error("Error in useTable:", error);
|
|
7091
|
-
return [];
|
|
7092
7084
|
}
|
|
7093
|
-
|
|
7094
|
-
|
|
7095
|
-
|
|
7096
|
-
|
|
7097
|
-
|
|
7098
|
-
}
|
|
7099
|
-
}, []);
|
|
7085
|
+
return cols;
|
|
7086
|
+
};
|
|
7087
|
+
useEffect13(() => {
|
|
7088
|
+
if (!columns) {
|
|
7089
|
+
setColumns(handleGetColumns());
|
|
7090
|
+
}
|
|
7091
|
+
}, [data]);
|
|
7092
|
+
const onToggleColumnOptional = (item) => {
|
|
7093
|
+
const tempColumn = [...columns]?.map((val) => {
|
|
7094
|
+
if (item?.name === val?.name) {
|
|
7095
|
+
return {
|
|
7096
|
+
...val,
|
|
7097
|
+
optional: item?.optional === "show" ? "hide" : "show"
|
|
7098
|
+
};
|
|
7099
|
+
}
|
|
7100
|
+
return val;
|
|
7101
|
+
});
|
|
7102
|
+
setColumns(tempColumn);
|
|
7103
|
+
};
|
|
7104
|
+
useEffect13(() => {
|
|
7105
|
+
if (data?.fields != null) {
|
|
7106
|
+
setColumns(null);
|
|
7107
|
+
}
|
|
7108
|
+
return () => {
|
|
7109
|
+
if (data?.fields != null) {
|
|
7110
|
+
setColumns(null);
|
|
7111
|
+
}
|
|
7112
|
+
};
|
|
7113
|
+
}, [data?.fields]);
|
|
7100
7114
|
return {
|
|
7101
7115
|
rows,
|
|
7102
7116
|
columns,
|
|
7103
7117
|
onToggleColumnOptional,
|
|
7104
|
-
typeTable: data
|
|
7118
|
+
typeTable: data.typeTable
|
|
7105
7119
|
};
|
|
7106
7120
|
};
|
|
7107
7121
|
|
|
7108
7122
|
// src/widget/advance/table/table-group/controller.ts
|
|
7109
|
-
import { useEffect as useEffect14, useMemo as
|
|
7123
|
+
import { useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
|
|
7110
7124
|
import { useAppSelector as useAppSelector2, selectList } from "@fctc/interface-logic/store";
|
|
7111
7125
|
var tableGroupController = (props) => {
|
|
7112
7126
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -7131,7 +7145,7 @@ var tableGroupController = (props) => {
|
|
|
7131
7145
|
fromEnd: 1
|
|
7132
7146
|
});
|
|
7133
7147
|
const domain = row?.__domain;
|
|
7134
|
-
const processedData =
|
|
7148
|
+
const processedData = useMemo11(() => {
|
|
7135
7149
|
const calculateColSpanEmpty = () => {
|
|
7136
7150
|
const startIndex = columns.findIndex(
|
|
7137
7151
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -7146,7 +7160,7 @@ var tableGroupController = (props) => {
|
|
|
7146
7160
|
};
|
|
7147
7161
|
return calculateColSpanEmpty();
|
|
7148
7162
|
}, [columns, row]);
|
|
7149
|
-
const shouldFetchData =
|
|
7163
|
+
const shouldFetchData = useMemo11(() => {
|
|
7150
7164
|
return !!isShowGroup;
|
|
7151
7165
|
}, [isShowGroup]);
|
|
7152
7166
|
const enabled = shouldFetchData && !!processedData;
|
|
@@ -7248,7 +7262,7 @@ import {
|
|
|
7248
7262
|
evalJSONDomain as evalJSONDomain6,
|
|
7249
7263
|
validateAndParseDate
|
|
7250
7264
|
} from "@fctc/interface-logic/utils";
|
|
7251
|
-
import { useCallback as
|
|
7265
|
+
import { useCallback as useCallback5, useEffect as useEffect15, useState as useState14 } from "react";
|
|
7252
7266
|
var searchController = ({
|
|
7253
7267
|
viewData,
|
|
7254
7268
|
model,
|
|
@@ -7391,7 +7405,7 @@ var searchController = ({
|
|
|
7391
7405
|
return [...domain2];
|
|
7392
7406
|
}
|
|
7393
7407
|
};
|
|
7394
|
-
const setTagSearch =
|
|
7408
|
+
const setTagSearch = useCallback5(
|
|
7395
7409
|
(updatedMap) => {
|
|
7396
7410
|
if (!updatedMap) return;
|
|
7397
7411
|
const tagsSearch = Object.entries(updatedMap).map(
|
package/dist/widget.d.mts
CHANGED
|
@@ -70,7 +70,7 @@ interface IMany2ManyControllerProps extends IInputFieldProps {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
declare const many2manyFieldController: (props: IMany2ManyControllerProps) => {
|
|
73
|
-
rows: any
|
|
73
|
+
rows: any;
|
|
74
74
|
columns: any;
|
|
75
75
|
optionsObject: any;
|
|
76
76
|
viewData: any;
|
|
@@ -245,7 +245,7 @@ interface ISelctionStateProps {
|
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
declare const tableController: ({ data }: ITableProps) => {
|
|
248
|
-
rows: any
|
|
248
|
+
rows: any;
|
|
249
249
|
columns: any;
|
|
250
250
|
onToggleColumnOptional: (item: any) => void;
|
|
251
251
|
typeTable: "list" | "group" | "calendar" | undefined;
|
|
@@ -262,7 +262,7 @@ declare const tableGroupController: (props: any) => {
|
|
|
262
262
|
isDataPlaceHolder: boolean;
|
|
263
263
|
nameGroupWithCount: string;
|
|
264
264
|
columnsGroup: any;
|
|
265
|
-
rowsGroup: any
|
|
265
|
+
rowsGroup: any;
|
|
266
266
|
dataGroup: any;
|
|
267
267
|
pageGroup: any;
|
|
268
268
|
setPageGroup: react.Dispatch<any>;
|
package/dist/widget.d.ts
CHANGED
|
@@ -70,7 +70,7 @@ interface IMany2ManyControllerProps extends IInputFieldProps {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
declare const many2manyFieldController: (props: IMany2ManyControllerProps) => {
|
|
73
|
-
rows: any
|
|
73
|
+
rows: any;
|
|
74
74
|
columns: any;
|
|
75
75
|
optionsObject: any;
|
|
76
76
|
viewData: any;
|
|
@@ -245,7 +245,7 @@ interface ISelctionStateProps {
|
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
declare const tableController: ({ data }: ITableProps) => {
|
|
248
|
-
rows: any
|
|
248
|
+
rows: any;
|
|
249
249
|
columns: any;
|
|
250
250
|
onToggleColumnOptional: (item: any) => void;
|
|
251
251
|
typeTable: "list" | "group" | "calendar" | undefined;
|
|
@@ -262,7 +262,7 @@ declare const tableGroupController: (props: any) => {
|
|
|
262
262
|
isDataPlaceHolder: boolean;
|
|
263
263
|
nameGroupWithCount: string;
|
|
264
264
|
columnsGroup: any;
|
|
265
|
-
rowsGroup: any
|
|
265
|
+
rowsGroup: any;
|
|
266
266
|
dataGroup: any;
|
|
267
267
|
pageGroup: any;
|
|
268
268
|
setPageGroup: react.Dispatch<any>;
|
package/dist/widget.js
CHANGED
|
@@ -6196,76 +6196,88 @@ var tableHeadController = (props) => {
|
|
|
6196
6196
|
var import_react24 = require("react");
|
|
6197
6197
|
var import_utils17 = require("@fctc/interface-logic/utils");
|
|
6198
6198
|
var tableController = ({ data }) => {
|
|
6199
|
-
const [rows, setRows] = (0, import_react24.useState)(
|
|
6200
|
-
const [
|
|
6201
|
-
const dataModelFields = (
|
|
6202
|
-
return
|
|
6199
|
+
const [rows, setRows] = (0, import_react24.useState)(null);
|
|
6200
|
+
const [columns, setColumns] = (0, import_react24.useState)(null);
|
|
6201
|
+
const dataModelFields = data?.fields?.map((field) => {
|
|
6202
|
+
return {
|
|
6203
6203
|
...data.dataModel?.[field?.name],
|
|
6204
6204
|
...field,
|
|
6205
6205
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
6206
|
-
}
|
|
6207
|
-
}
|
|
6208
|
-
const mergeFields = (
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
transformedItem[field] = item[field];
|
|
6221
|
-
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
6222
|
-
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
6223
|
-
transformedItem["string"] = item[field]?.[1];
|
|
6224
|
-
}
|
|
6225
|
-
transformedItem[field] = item[field];
|
|
6206
|
+
};
|
|
6207
|
+
});
|
|
6208
|
+
const mergeFields = mergeButtons(dataModelFields);
|
|
6209
|
+
const transformData = (dataList) => {
|
|
6210
|
+
if (!dataList) return;
|
|
6211
|
+
return dataList?.map((item) => {
|
|
6212
|
+
const transformedItem = { ...item };
|
|
6213
|
+
Object.keys(item).forEach((field) => {
|
|
6214
|
+
if (field !== "__domain") {
|
|
6215
|
+
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
6216
|
+
transformedItem[field] = item[field];
|
|
6217
|
+
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
6218
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
6219
|
+
transformedItem["string"] = item[field]?.[1];
|
|
6226
6220
|
}
|
|
6221
|
+
transformedItem[field] = item[field];
|
|
6227
6222
|
}
|
|
6228
|
-
}
|
|
6229
|
-
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
6223
|
+
}
|
|
6230
6224
|
});
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6225
|
+
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
6226
|
+
});
|
|
6227
|
+
};
|
|
6234
6228
|
(0, import_react24.useEffect)(() => {
|
|
6235
|
-
setRows(transformData(data
|
|
6236
|
-
}, [data
|
|
6237
|
-
const
|
|
6229
|
+
setRows(transformData(data.records));
|
|
6230
|
+
}, [data.records]);
|
|
6231
|
+
const handleGetColumns = () => {
|
|
6232
|
+
let cols = [];
|
|
6238
6233
|
try {
|
|
6239
|
-
|
|
6240
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils17.domainHelper.matchDomains(
|
|
6241
|
-
data.context,
|
|
6242
|
-
item?.column_invisible
|
|
6243
|
-
) : item?.invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6234
|
+
cols = mergeFields?.filter((item) => {
|
|
6235
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? import_utils17.domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6244
6236
|
})?.map((field) => {
|
|
6245
|
-
const overridden = columnVisibility[field?.name];
|
|
6246
6237
|
return {
|
|
6247
6238
|
name: field?.name,
|
|
6248
|
-
optional:
|
|
6239
|
+
optional: field?.optional,
|
|
6249
6240
|
title: field?.type_co === "button" ? "" : field?.string,
|
|
6250
6241
|
field: { ...field }
|
|
6251
6242
|
};
|
|
6252
|
-
})
|
|
6243
|
+
});
|
|
6253
6244
|
} catch (error) {
|
|
6254
6245
|
console.error("Error in useTable:", error);
|
|
6255
|
-
return [];
|
|
6256
6246
|
}
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
|
|
6260
|
-
|
|
6261
|
-
|
|
6262
|
-
}
|
|
6263
|
-
}, []);
|
|
6247
|
+
return cols;
|
|
6248
|
+
};
|
|
6249
|
+
(0, import_react24.useEffect)(() => {
|
|
6250
|
+
if (!columns) {
|
|
6251
|
+
setColumns(handleGetColumns());
|
|
6252
|
+
}
|
|
6253
|
+
}, [data]);
|
|
6254
|
+
const onToggleColumnOptional = (item) => {
|
|
6255
|
+
const tempColumn = [...columns]?.map((val) => {
|
|
6256
|
+
if (item?.name === val?.name) {
|
|
6257
|
+
return {
|
|
6258
|
+
...val,
|
|
6259
|
+
optional: item?.optional === "show" ? "hide" : "show"
|
|
6260
|
+
};
|
|
6261
|
+
}
|
|
6262
|
+
return val;
|
|
6263
|
+
});
|
|
6264
|
+
setColumns(tempColumn);
|
|
6265
|
+
};
|
|
6266
|
+
(0, import_react24.useEffect)(() => {
|
|
6267
|
+
if (data?.fields != null) {
|
|
6268
|
+
setColumns(null);
|
|
6269
|
+
}
|
|
6270
|
+
return () => {
|
|
6271
|
+
if (data?.fields != null) {
|
|
6272
|
+
setColumns(null);
|
|
6273
|
+
}
|
|
6274
|
+
};
|
|
6275
|
+
}, [data?.fields]);
|
|
6264
6276
|
return {
|
|
6265
6277
|
rows,
|
|
6266
6278
|
columns,
|
|
6267
6279
|
onToggleColumnOptional,
|
|
6268
|
-
typeTable: data
|
|
6280
|
+
typeTable: data.typeTable
|
|
6269
6281
|
};
|
|
6270
6282
|
};
|
|
6271
6283
|
|
package/dist/widget.mjs
CHANGED
|
@@ -6251,84 +6251,96 @@ var tableHeadController = (props) => {
|
|
|
6251
6251
|
};
|
|
6252
6252
|
|
|
6253
6253
|
// src/widget/advance/table/table-view/controller.ts
|
|
6254
|
-
import {
|
|
6254
|
+
import { useEffect as useEffect13, useState as useState12 } from "react";
|
|
6255
6255
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
6256
6256
|
var tableController = ({ data }) => {
|
|
6257
|
-
const [rows, setRows] = useState12(
|
|
6258
|
-
const [
|
|
6259
|
-
const dataModelFields =
|
|
6260
|
-
return
|
|
6257
|
+
const [rows, setRows] = useState12(null);
|
|
6258
|
+
const [columns, setColumns] = useState12(null);
|
|
6259
|
+
const dataModelFields = data?.fields?.map((field) => {
|
|
6260
|
+
return {
|
|
6261
6261
|
...data.dataModel?.[field?.name],
|
|
6262
6262
|
...field,
|
|
6263
6263
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
6264
|
-
}
|
|
6265
|
-
}
|
|
6266
|
-
const mergeFields =
|
|
6267
|
-
|
|
6268
|
-
|
|
6269
|
-
|
|
6270
|
-
|
|
6271
|
-
|
|
6272
|
-
|
|
6273
|
-
|
|
6274
|
-
|
|
6275
|
-
|
|
6276
|
-
|
|
6277
|
-
|
|
6278
|
-
transformedItem[field] = item[field];
|
|
6279
|
-
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
6280
|
-
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
6281
|
-
transformedItem["string"] = item[field]?.[1];
|
|
6282
|
-
}
|
|
6283
|
-
transformedItem[field] = item[field];
|
|
6264
|
+
};
|
|
6265
|
+
});
|
|
6266
|
+
const mergeFields = mergeButtons(dataModelFields);
|
|
6267
|
+
const transformData = (dataList) => {
|
|
6268
|
+
if (!dataList) return;
|
|
6269
|
+
return dataList?.map((item) => {
|
|
6270
|
+
const transformedItem = { ...item };
|
|
6271
|
+
Object.keys(item).forEach((field) => {
|
|
6272
|
+
if (field !== "__domain") {
|
|
6273
|
+
if (item[field] && typeof item[field] === "object" && item[field].display_name) {
|
|
6274
|
+
transformedItem[field] = item[field];
|
|
6275
|
+
} else if (Array.isArray(item[field]) && item[field].length > 0) {
|
|
6276
|
+
if (data.typeTable === "group" && item[field]?.length === 2 && typeof item[field]?.[1] === "string") {
|
|
6277
|
+
transformedItem["string"] = item[field]?.[1];
|
|
6284
6278
|
}
|
|
6279
|
+
transformedItem[field] = item[field];
|
|
6285
6280
|
}
|
|
6286
|
-
}
|
|
6287
|
-
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
6281
|
+
}
|
|
6288
6282
|
});
|
|
6289
|
-
|
|
6290
|
-
|
|
6291
|
-
|
|
6283
|
+
return item.display_name ? { ...transformedItem, item: item.display_name } : transformedItem;
|
|
6284
|
+
});
|
|
6285
|
+
};
|
|
6292
6286
|
useEffect13(() => {
|
|
6293
|
-
setRows(transformData(data
|
|
6294
|
-
}, [data
|
|
6295
|
-
const
|
|
6287
|
+
setRows(transformData(data.records));
|
|
6288
|
+
}, [data.records]);
|
|
6289
|
+
const handleGetColumns = () => {
|
|
6290
|
+
let cols = [];
|
|
6296
6291
|
try {
|
|
6297
|
-
|
|
6298
|
-
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
|
|
6299
|
-
data.context,
|
|
6300
|
-
item?.column_invisible
|
|
6301
|
-
) : item?.invisible ? domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6292
|
+
cols = mergeFields?.filter((item) => {
|
|
6293
|
+
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(data.context, item?.column_invisible) : item?.invisible ? domainHelper.matchDomains(data.context, item?.invisible) : false);
|
|
6302
6294
|
})?.map((field) => {
|
|
6303
|
-
const overridden = columnVisibility[field?.name];
|
|
6304
6295
|
return {
|
|
6305
6296
|
name: field?.name,
|
|
6306
|
-
optional:
|
|
6297
|
+
optional: field?.optional,
|
|
6307
6298
|
title: field?.type_co === "button" ? "" : field?.string,
|
|
6308
6299
|
field: { ...field }
|
|
6309
6300
|
};
|
|
6310
|
-
})
|
|
6301
|
+
});
|
|
6311
6302
|
} catch (error) {
|
|
6312
6303
|
console.error("Error in useTable:", error);
|
|
6313
|
-
return [];
|
|
6314
6304
|
}
|
|
6315
|
-
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
}
|
|
6321
|
-
}, []);
|
|
6305
|
+
return cols;
|
|
6306
|
+
};
|
|
6307
|
+
useEffect13(() => {
|
|
6308
|
+
if (!columns) {
|
|
6309
|
+
setColumns(handleGetColumns());
|
|
6310
|
+
}
|
|
6311
|
+
}, [data]);
|
|
6312
|
+
const onToggleColumnOptional = (item) => {
|
|
6313
|
+
const tempColumn = [...columns]?.map((val) => {
|
|
6314
|
+
if (item?.name === val?.name) {
|
|
6315
|
+
return {
|
|
6316
|
+
...val,
|
|
6317
|
+
optional: item?.optional === "show" ? "hide" : "show"
|
|
6318
|
+
};
|
|
6319
|
+
}
|
|
6320
|
+
return val;
|
|
6321
|
+
});
|
|
6322
|
+
setColumns(tempColumn);
|
|
6323
|
+
};
|
|
6324
|
+
useEffect13(() => {
|
|
6325
|
+
if (data?.fields != null) {
|
|
6326
|
+
setColumns(null);
|
|
6327
|
+
}
|
|
6328
|
+
return () => {
|
|
6329
|
+
if (data?.fields != null) {
|
|
6330
|
+
setColumns(null);
|
|
6331
|
+
}
|
|
6332
|
+
};
|
|
6333
|
+
}, [data?.fields]);
|
|
6322
6334
|
return {
|
|
6323
6335
|
rows,
|
|
6324
6336
|
columns,
|
|
6325
6337
|
onToggleColumnOptional,
|
|
6326
|
-
typeTable: data
|
|
6338
|
+
typeTable: data.typeTable
|
|
6327
6339
|
};
|
|
6328
6340
|
};
|
|
6329
6341
|
|
|
6330
6342
|
// src/widget/advance/table/table-group/controller.ts
|
|
6331
|
-
import { useEffect as useEffect14, useMemo as
|
|
6343
|
+
import { useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
|
|
6332
6344
|
import { useAppSelector as useAppSelector2, selectList } from "@fctc/interface-logic/store";
|
|
6333
6345
|
var tableGroupController = (props) => {
|
|
6334
6346
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -6353,7 +6365,7 @@ var tableGroupController = (props) => {
|
|
|
6353
6365
|
fromEnd: 1
|
|
6354
6366
|
});
|
|
6355
6367
|
const domain = row?.__domain;
|
|
6356
|
-
const processedData =
|
|
6368
|
+
const processedData = useMemo11(() => {
|
|
6357
6369
|
const calculateColSpanEmpty = () => {
|
|
6358
6370
|
const startIndex = columns.findIndex(
|
|
6359
6371
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -6368,7 +6380,7 @@ var tableGroupController = (props) => {
|
|
|
6368
6380
|
};
|
|
6369
6381
|
return calculateColSpanEmpty();
|
|
6370
6382
|
}, [columns, row]);
|
|
6371
|
-
const shouldFetchData =
|
|
6383
|
+
const shouldFetchData = useMemo11(() => {
|
|
6372
6384
|
return !!isShowGroup;
|
|
6373
6385
|
}, [isShowGroup]);
|
|
6374
6386
|
const enabled = shouldFetchData && !!processedData;
|
|
@@ -6470,7 +6482,7 @@ import {
|
|
|
6470
6482
|
evalJSONDomain as evalJSONDomain6,
|
|
6471
6483
|
validateAndParseDate
|
|
6472
6484
|
} from "@fctc/interface-logic/utils";
|
|
6473
|
-
import { useCallback as
|
|
6485
|
+
import { useCallback as useCallback5, useEffect as useEffect15, useState as useState14 } from "react";
|
|
6474
6486
|
var searchController = ({
|
|
6475
6487
|
viewData,
|
|
6476
6488
|
model,
|
|
@@ -6613,7 +6625,7 @@ var searchController = ({
|
|
|
6613
6625
|
return [...domain2];
|
|
6614
6626
|
}
|
|
6615
6627
|
};
|
|
6616
|
-
const setTagSearch =
|
|
6628
|
+
const setTagSearch = useCallback5(
|
|
6617
6629
|
(updatedMap) => {
|
|
6618
6630
|
if (!updatedMap) return;
|
|
6619
6631
|
const tagsSearch = Object.entries(updatedMap).map(
|
package/package.json
CHANGED
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@fctc/widget-logic",
|
|
3
|
-
"version": "3.4.
|
|
4
|
-
"types": "dist/index.d.ts",
|
|
5
|
-
"main": "dist/index.cjs",
|
|
6
|
-
"module": "dist/index.mjs",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/index.d.ts",
|
|
10
|
-
"import": "./dist/index.mjs",
|
|
11
|
-
"require": "./dist/index.cjs"
|
|
12
|
-
},
|
|
13
|
-
"./hooks": {
|
|
14
|
-
"types": "./dist/hooks.d.ts",
|
|
15
|
-
"import": "./dist/hooks.mjs",
|
|
16
|
-
"require": "./dist/hooks.cjs"
|
|
17
|
-
},
|
|
18
|
-
"./widget": {
|
|
19
|
-
"types": "./dist/widget.d.ts",
|
|
20
|
-
"import": "./dist/widget.mjs",
|
|
21
|
-
"require": "./dist/widget.cjs"
|
|
22
|
-
},
|
|
23
|
-
"./icons": {
|
|
24
|
-
"types": "./dist/icons.d.ts",
|
|
25
|
-
"import": "./dist/icons.mjs",
|
|
26
|
-
"require": "./dist/icons.cjs"
|
|
27
|
-
},
|
|
28
|
-
"./utils": {
|
|
29
|
-
"types": "./dist/utils.d.ts",
|
|
30
|
-
"import": "./dist/utils.mjs",
|
|
31
|
-
"require": "./dist/utils.cjs"
|
|
32
|
-
},
|
|
33
|
-
"./store": {
|
|
34
|
-
"types": "./dist/store.d.ts",
|
|
35
|
-
"import": "./dist/store.mjs",
|
|
36
|
-
"require": "./dist/store.cjs"
|
|
37
|
-
},
|
|
38
|
-
"./config": {
|
|
39
|
-
"types": "./dist/config.d.ts",
|
|
40
|
-
"import": "./dist/config.mjs",
|
|
41
|
-
"require": "./dist/config.cjs"
|
|
42
|
-
},
|
|
43
|
-
"./constants": {
|
|
44
|
-
"types": "./dist/constants.d.ts",
|
|
45
|
-
"import": "./dist/constants.mjs",
|
|
46
|
-
"require": "./dist/constants.cjs"
|
|
47
|
-
},
|
|
48
|
-
"./environment": {
|
|
49
|
-
"types": "./dist/environment.d.ts",
|
|
50
|
-
"import": "./dist/environment.mjs",
|
|
51
|
-
"require": "./dist/environment.cjs"
|
|
52
|
-
},
|
|
53
|
-
"./provider": {
|
|
54
|
-
"types": "./dist/provider.d.ts",
|
|
55
|
-
"import": "./dist/provider.mjs",
|
|
56
|
-
"require": "./dist/provider.cjs"
|
|
57
|
-
},
|
|
58
|
-
"./services": {
|
|
59
|
-
"types": "./dist/services.d.ts",
|
|
60
|
-
"import": "./dist/services.mjs",
|
|
61
|
-
"require": "./dist/services.cjs"
|
|
62
|
-
},
|
|
63
|
-
"./types": {
|
|
64
|
-
"types": "./dist/types.d.ts",
|
|
65
|
-
"import": "./dist/types.mjs",
|
|
66
|
-
"require": "./dist/types.cjs"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
"files": [
|
|
70
|
-
"dist"
|
|
71
|
-
],
|
|
72
|
-
"scripts": {
|
|
73
|
-
"build": "tsup",
|
|
74
|
-
"test": "jest"
|
|
75
|
-
},
|
|
76
|
-
"dependencies": {
|
|
77
|
-
"@fctc/interface-logic": "^3.0.
|
|
78
|
-
"@headlessui/react": "^2.2.6",
|
|
79
|
-
"@tanstack/react-query": "^5.84.0",
|
|
80
|
-
"i18next": "^25.3.2",
|
|
81
|
-
"i18next-browser-languagedetector": "^8.2.0",
|
|
82
|
-
"react-i18next": "^15.6.1",
|
|
83
|
-
"react-tooltip": "^5.29.1"
|
|
84
|
-
},
|
|
85
|
-
"devDependencies": {
|
|
86
|
-
"@types/react": "^18.3.1",
|
|
87
|
-
"jest": "^29.7.0",
|
|
88
|
-
"react": "18.0.0",
|
|
89
|
-
"tsup": "^8.0.0",
|
|
90
|
-
"typescript": "^5.8.2"
|
|
91
|
-
},
|
|
92
|
-
"packageManager": "yarn@1.22.0",
|
|
93
|
-
"peerDependencies": {}
|
|
94
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@fctc/widget-logic",
|
|
3
|
+
"version": "3.4.1",
|
|
4
|
+
"types": "dist/index.d.ts",
|
|
5
|
+
"main": "dist/index.cjs",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.mjs",
|
|
11
|
+
"require": "./dist/index.cjs"
|
|
12
|
+
},
|
|
13
|
+
"./hooks": {
|
|
14
|
+
"types": "./dist/hooks.d.ts",
|
|
15
|
+
"import": "./dist/hooks.mjs",
|
|
16
|
+
"require": "./dist/hooks.cjs"
|
|
17
|
+
},
|
|
18
|
+
"./widget": {
|
|
19
|
+
"types": "./dist/widget.d.ts",
|
|
20
|
+
"import": "./dist/widget.mjs",
|
|
21
|
+
"require": "./dist/widget.cjs"
|
|
22
|
+
},
|
|
23
|
+
"./icons": {
|
|
24
|
+
"types": "./dist/icons.d.ts",
|
|
25
|
+
"import": "./dist/icons.mjs",
|
|
26
|
+
"require": "./dist/icons.cjs"
|
|
27
|
+
},
|
|
28
|
+
"./utils": {
|
|
29
|
+
"types": "./dist/utils.d.ts",
|
|
30
|
+
"import": "./dist/utils.mjs",
|
|
31
|
+
"require": "./dist/utils.cjs"
|
|
32
|
+
},
|
|
33
|
+
"./store": {
|
|
34
|
+
"types": "./dist/store.d.ts",
|
|
35
|
+
"import": "./dist/store.mjs",
|
|
36
|
+
"require": "./dist/store.cjs"
|
|
37
|
+
},
|
|
38
|
+
"./config": {
|
|
39
|
+
"types": "./dist/config.d.ts",
|
|
40
|
+
"import": "./dist/config.mjs",
|
|
41
|
+
"require": "./dist/config.cjs"
|
|
42
|
+
},
|
|
43
|
+
"./constants": {
|
|
44
|
+
"types": "./dist/constants.d.ts",
|
|
45
|
+
"import": "./dist/constants.mjs",
|
|
46
|
+
"require": "./dist/constants.cjs"
|
|
47
|
+
},
|
|
48
|
+
"./environment": {
|
|
49
|
+
"types": "./dist/environment.d.ts",
|
|
50
|
+
"import": "./dist/environment.mjs",
|
|
51
|
+
"require": "./dist/environment.cjs"
|
|
52
|
+
},
|
|
53
|
+
"./provider": {
|
|
54
|
+
"types": "./dist/provider.d.ts",
|
|
55
|
+
"import": "./dist/provider.mjs",
|
|
56
|
+
"require": "./dist/provider.cjs"
|
|
57
|
+
},
|
|
58
|
+
"./services": {
|
|
59
|
+
"types": "./dist/services.d.ts",
|
|
60
|
+
"import": "./dist/services.mjs",
|
|
61
|
+
"require": "./dist/services.cjs"
|
|
62
|
+
},
|
|
63
|
+
"./types": {
|
|
64
|
+
"types": "./dist/types.d.ts",
|
|
65
|
+
"import": "./dist/types.mjs",
|
|
66
|
+
"require": "./dist/types.cjs"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"files": [
|
|
70
|
+
"dist"
|
|
71
|
+
],
|
|
72
|
+
"scripts": {
|
|
73
|
+
"build": "tsup",
|
|
74
|
+
"test": "jest"
|
|
75
|
+
},
|
|
76
|
+
"dependencies": {
|
|
77
|
+
"@fctc/interface-logic": "^3.0.4",
|
|
78
|
+
"@headlessui/react": "^2.2.6",
|
|
79
|
+
"@tanstack/react-query": "^5.84.0",
|
|
80
|
+
"i18next": "^25.3.2",
|
|
81
|
+
"i18next-browser-languagedetector": "^8.2.0",
|
|
82
|
+
"react-i18next": "^15.6.1",
|
|
83
|
+
"react-tooltip": "^5.29.1"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@types/react": "^18.3.1",
|
|
87
|
+
"jest": "^29.7.0",
|
|
88
|
+
"react": "18.0.0",
|
|
89
|
+
"tsup": "^8.0.0",
|
|
90
|
+
"typescript": "^5.8.2"
|
|
91
|
+
},
|
|
92
|
+
"packageManager": "yarn@1.22.0",
|
|
93
|
+
"peerDependencies": {}
|
|
94
|
+
}
|