@fctc/widget-logic 2.7.1 → 2.7.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.d.mts +3 -4
- package/dist/hooks.d.ts +3 -4
- package/dist/hooks.js +113 -117
- package/dist/hooks.mjs +108 -112
- package/dist/index.js +159 -181
- package/dist/index.mjs +131 -153
- package/dist/widget.d.mts +0 -1
- package/dist/widget.d.ts +0 -1
- package/dist/widget.js +89 -79
- package/dist/widget.mjs +63 -53
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -59,7 +59,7 @@ var require_moment = __commonJS({
|
|
|
59
59
|
function hasOwnProp(a, b) {
|
|
60
60
|
return Object.prototype.hasOwnProperty.call(a, b);
|
|
61
61
|
}
|
|
62
|
-
function
|
|
62
|
+
function isObjectEmpty5(obj) {
|
|
63
63
|
if (Object.getOwnPropertyNames) {
|
|
64
64
|
return Object.getOwnPropertyNames(obj).length === 0;
|
|
65
65
|
} else {
|
|
@@ -2198,7 +2198,7 @@ var require_moment = __commonJS({
|
|
|
2198
2198
|
strict = locale2;
|
|
2199
2199
|
locale2 = void 0;
|
|
2200
2200
|
}
|
|
2201
|
-
if (isObject(input) &&
|
|
2201
|
+
if (isObject(input) && isObjectEmpty5(input) || isArray(input) && input.length === 0) {
|
|
2202
2202
|
input = void 0;
|
|
2203
2203
|
}
|
|
2204
2204
|
c._isAMomentObject = true;
|
|
@@ -2617,7 +2617,7 @@ var require_moment = __commonJS({
|
|
|
2617
2617
|
return isMoment(input) || isDate(input) || isString(input) || isNumber(input) || isNumberOrStringArray(input) || isMomentInputObject(input) || input === null || input === void 0;
|
|
2618
2618
|
}
|
|
2619
2619
|
function isMomentInputObject(input) {
|
|
2620
|
-
var objectTest = isObject(input) && !
|
|
2620
|
+
var objectTest = isObject(input) && !isObjectEmpty5(input), propertyTest = false, properties = [
|
|
2621
2621
|
"years",
|
|
2622
2622
|
"year",
|
|
2623
2623
|
"y",
|
|
@@ -2659,7 +2659,7 @@ var require_moment = __commonJS({
|
|
|
2659
2659
|
return arrayTest && dataTypeTest;
|
|
2660
2660
|
}
|
|
2661
2661
|
function isCalendarSpec(input) {
|
|
2662
|
-
var objectTest = isObject(input) && !
|
|
2662
|
+
var objectTest = isObject(input) && !isObjectEmpty5(input), propertyTest = false, properties = [
|
|
2663
2663
|
"sameDay",
|
|
2664
2664
|
"nextDay",
|
|
2665
2665
|
"lastDay",
|
|
@@ -4286,92 +4286,6 @@ var useCallAction = () => {
|
|
|
4286
4286
|
return [actionData, callAction];
|
|
4287
4287
|
};
|
|
4288
4288
|
|
|
4289
|
-
// src/hooks/core/use-menu.ts
|
|
4290
|
-
var useMenu = ({
|
|
4291
|
-
context,
|
|
4292
|
-
specification
|
|
4293
|
-
}) => {
|
|
4294
|
-
const { env } = (0, provider_exports.useEnv)();
|
|
4295
|
-
const { useGetMenu: useGetMenu2 } = (0, provider_exports.useService)();
|
|
4296
|
-
const [action, callAction] = useCallAction();
|
|
4297
|
-
const menuData = useGetMenu2(
|
|
4298
|
-
context,
|
|
4299
|
-
specification,
|
|
4300
|
-
!!context && Object.keys(context).length > 0
|
|
4301
|
-
);
|
|
4302
|
-
const [menuId, setMenuId] = useState2(void 0);
|
|
4303
|
-
const configedIconData = useMemo(() => {
|
|
4304
|
-
const data = menuData.data;
|
|
4305
|
-
return data?.map((item) => {
|
|
4306
|
-
return {
|
|
4307
|
-
...item,
|
|
4308
|
-
child_id: item?.child_id?.map((child) => {
|
|
4309
|
-
return {
|
|
4310
|
-
...child,
|
|
4311
|
-
url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + child.url_icon
|
|
4312
|
-
};
|
|
4313
|
-
}) ?? [],
|
|
4314
|
-
url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + item.url_icon
|
|
4315
|
-
};
|
|
4316
|
-
});
|
|
4317
|
-
}, [menuData.data, env?.envFile?.VITE_APP_DOMAIN]);
|
|
4318
|
-
const handleChangeMenu = async ({ menu }) => {
|
|
4319
|
-
const aidMenu = menu?.action?.id?.id;
|
|
4320
|
-
if (menu) {
|
|
4321
|
-
setMenuId(menu.id?.toString() ?? "");
|
|
4322
|
-
}
|
|
4323
|
-
if (aidMenu) {
|
|
4324
|
-
const actionResponse = await callAction({
|
|
4325
|
-
aid: Number(aidMenu)
|
|
4326
|
-
});
|
|
4327
|
-
return actionResponse;
|
|
4328
|
-
}
|
|
4329
|
-
};
|
|
4330
|
-
return {
|
|
4331
|
-
...menuData,
|
|
4332
|
-
data: configedIconData,
|
|
4333
|
-
action: { handleChangeMenu },
|
|
4334
|
-
state: { menuId, action },
|
|
4335
|
-
context,
|
|
4336
|
-
isLoading: menuData.isLoading,
|
|
4337
|
-
isError: menuData.isError,
|
|
4338
|
-
error: menuData.error,
|
|
4339
|
-
refetch: menuData.refetch
|
|
4340
|
-
};
|
|
4341
|
-
};
|
|
4342
|
-
|
|
4343
|
-
// src/hooks/core/use-detail.ts
|
|
4344
|
-
import { useQuery } from "@tanstack/react-query";
|
|
4345
|
-
import { useEffect } from "react";
|
|
4346
|
-
var useDetail = (sub) => {
|
|
4347
|
-
const { setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
4348
|
-
const { useGetDetail: useGetDetail2 } = (0, provider_exports.useService)();
|
|
4349
|
-
const fetchGetDetail = useGetDetail2();
|
|
4350
|
-
const userDetailQuery = useQuery({
|
|
4351
|
-
queryKey: ["userDetailQuery", sub],
|
|
4352
|
-
queryFn: () => {
|
|
4353
|
-
return fetchGetDetail.mutateAsync({
|
|
4354
|
-
model: "res.users",
|
|
4355
|
-
ids: [sub],
|
|
4356
|
-
specification: { image_256: {} }
|
|
4357
|
-
});
|
|
4358
|
-
},
|
|
4359
|
-
enabled: !!sub
|
|
4360
|
-
});
|
|
4361
|
-
useEffect(() => {
|
|
4362
|
-
if (userDetailQuery.data) {
|
|
4363
|
-
const userPicture = userDetailQuery.data;
|
|
4364
|
-
setUserInfo({ ...env?.user, image: userPicture?.[0]?.image_256 });
|
|
4365
|
-
}
|
|
4366
|
-
}, [userDetailQuery.isFetched]);
|
|
4367
|
-
return { ...userDetailQuery };
|
|
4368
|
-
};
|
|
4369
|
-
|
|
4370
|
-
// src/hooks/core/use-profile.ts
|
|
4371
|
-
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4372
|
-
import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
|
|
4373
|
-
import { useTranslation } from "react-i18next";
|
|
4374
|
-
|
|
4375
4289
|
// src/utils.ts
|
|
4376
4290
|
var utils_exports = {};
|
|
4377
4291
|
__export(utils_exports, {
|
|
@@ -4393,7 +4307,7 @@ var languages = [
|
|
|
4393
4307
|
];
|
|
4394
4308
|
|
|
4395
4309
|
// src/utils/function.ts
|
|
4396
|
-
import { useCallback as useCallback2, useEffect
|
|
4310
|
+
import { useCallback as useCallback2, useEffect, useReducer } from "react";
|
|
4397
4311
|
var countSum = (data, field) => {
|
|
4398
4312
|
if (!data || !field) return 0;
|
|
4399
4313
|
return data.reduce(
|
|
@@ -4532,7 +4446,7 @@ async function setStorageItemAsync(key, value) {
|
|
|
4532
4446
|
}
|
|
4533
4447
|
function useStorageState(key) {
|
|
4534
4448
|
const [state, setState] = useAsyncState();
|
|
4535
|
-
|
|
4449
|
+
useEffect(() => {
|
|
4536
4450
|
try {
|
|
4537
4451
|
const storedValue = localStorage.getItem(key);
|
|
4538
4452
|
setState(storedValue);
|
|
@@ -4554,7 +4468,91 @@ function useStorageState(key) {
|
|
|
4554
4468
|
__reExport(utils_exports, utils_star);
|
|
4555
4469
|
import * as utils_star from "@fctc/interface-logic/utils";
|
|
4556
4470
|
|
|
4471
|
+
// src/hooks/core/use-menu.ts
|
|
4472
|
+
var useMenu = ({
|
|
4473
|
+
context,
|
|
4474
|
+
specification
|
|
4475
|
+
}) => {
|
|
4476
|
+
const { env } = (0, provider_exports.useEnv)();
|
|
4477
|
+
const { useGetMenu: useGetMenu2 } = (0, provider_exports.useService)();
|
|
4478
|
+
const [action, callAction] = useCallAction();
|
|
4479
|
+
const menuData = useGetMenu2(
|
|
4480
|
+
context,
|
|
4481
|
+
specification,
|
|
4482
|
+
!!context && !(0, utils_exports.isObjectEmpty)(context)
|
|
4483
|
+
);
|
|
4484
|
+
const [menuId, setMenuId] = useState2(void 0);
|
|
4485
|
+
const configedIconData = useMemo(() => {
|
|
4486
|
+
const data = menuData.data;
|
|
4487
|
+
return data?.map((item) => {
|
|
4488
|
+
return {
|
|
4489
|
+
...item,
|
|
4490
|
+
child_id: item?.child_id?.map((child) => {
|
|
4491
|
+
return {
|
|
4492
|
+
...child,
|
|
4493
|
+
url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + child.url_icon
|
|
4494
|
+
};
|
|
4495
|
+
}) ?? [],
|
|
4496
|
+
url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + item.url_icon
|
|
4497
|
+
};
|
|
4498
|
+
});
|
|
4499
|
+
}, [menuData.data, env?.envFile?.VITE_APP_DOMAIN]);
|
|
4500
|
+
const handleChangeMenu = async ({ menu }) => {
|
|
4501
|
+
const aidMenu = menu?.action?.id?.id;
|
|
4502
|
+
if (menu) {
|
|
4503
|
+
setMenuId(menu.id?.toString() ?? "");
|
|
4504
|
+
}
|
|
4505
|
+
if (aidMenu) {
|
|
4506
|
+
const actionResponse = await callAction({
|
|
4507
|
+
aid: Number(aidMenu)
|
|
4508
|
+
});
|
|
4509
|
+
return actionResponse;
|
|
4510
|
+
}
|
|
4511
|
+
};
|
|
4512
|
+
return {
|
|
4513
|
+
...menuData,
|
|
4514
|
+
data: configedIconData,
|
|
4515
|
+
action: { handleChangeMenu },
|
|
4516
|
+
state: { menuId, action },
|
|
4517
|
+
context,
|
|
4518
|
+
isLoading: menuData.isLoading,
|
|
4519
|
+
isError: menuData.isError,
|
|
4520
|
+
error: menuData.error,
|
|
4521
|
+
refetch: menuData.refetch
|
|
4522
|
+
};
|
|
4523
|
+
};
|
|
4524
|
+
|
|
4525
|
+
// src/hooks/core/use-detail.ts
|
|
4526
|
+
import { useQuery } from "@tanstack/react-query";
|
|
4527
|
+
import { useEffect as useEffect2 } from "react";
|
|
4528
|
+
var useDetail = (sub) => {
|
|
4529
|
+
const { setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
4530
|
+
const { useGetDetail: useGetDetail2 } = (0, provider_exports.useService)();
|
|
4531
|
+
const fetchGetDetail = useGetDetail2();
|
|
4532
|
+
const userDetailQuery = useQuery({
|
|
4533
|
+
queryKey: ["userDetailQuery", sub],
|
|
4534
|
+
queryFn: () => {
|
|
4535
|
+
return fetchGetDetail.mutateAsync({
|
|
4536
|
+
model: "res.users",
|
|
4537
|
+
ids: [sub],
|
|
4538
|
+
specification: { image_256: {} }
|
|
4539
|
+
});
|
|
4540
|
+
},
|
|
4541
|
+
enabled: !!sub
|
|
4542
|
+
});
|
|
4543
|
+
useEffect2(() => {
|
|
4544
|
+
if (userDetailQuery.data) {
|
|
4545
|
+
const userPicture = userDetailQuery.data;
|
|
4546
|
+
setUserInfo({ ...env?.user, image: userPicture?.[0]?.image_256 });
|
|
4547
|
+
}
|
|
4548
|
+
}, [userDetailQuery.isFetched]);
|
|
4549
|
+
return { ...userDetailQuery };
|
|
4550
|
+
};
|
|
4551
|
+
|
|
4557
4552
|
// src/hooks/core/use-profile.ts
|
|
4553
|
+
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4554
|
+
import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
|
|
4555
|
+
import { useTranslation } from "react-i18next";
|
|
4558
4556
|
var useProfile = () => {
|
|
4559
4557
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
4560
4558
|
const { useGetProfile: useGetProfile2 } = (0, provider_exports.useService)();
|
|
@@ -4602,21 +4600,31 @@ var useUser = () => {
|
|
|
4602
4600
|
// src/hooks/core/use-view-v2.ts
|
|
4603
4601
|
import { useMemo as useMemo3 } from "react";
|
|
4604
4602
|
var useViewV2 = ({
|
|
4605
|
-
|
|
4603
|
+
action,
|
|
4606
4604
|
context,
|
|
4607
|
-
|
|
4608
|
-
model
|
|
4605
|
+
aid
|
|
4609
4606
|
}) => {
|
|
4610
4607
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
4611
4608
|
const viewParams = useMemo3(() => {
|
|
4612
|
-
if (
|
|
4609
|
+
if (!action || !action?.res_model) {
|
|
4610
|
+
return void 0;
|
|
4611
|
+
}
|
|
4612
|
+
const actionResult = action;
|
|
4613
4613
|
return {
|
|
4614
|
-
model,
|
|
4615
|
-
views
|
|
4614
|
+
model: String(actionResult?.res_model),
|
|
4615
|
+
views: [
|
|
4616
|
+
...Array.isArray(actionResult?.views) ? actionResult?.views.map(
|
|
4617
|
+
(view2) => view2[1] === "list" ? [view2[0], "list"] : view2
|
|
4618
|
+
) : [],
|
|
4619
|
+
[
|
|
4620
|
+
Array.isArray(actionResult?.search_view_id) ? actionResult?.search_view_id[0] : actionResult?.search_view_id,
|
|
4621
|
+
"search"
|
|
4622
|
+
]
|
|
4623
|
+
],
|
|
4616
4624
|
context,
|
|
4617
|
-
id
|
|
4625
|
+
id: isNaN(Number(aid)) ? action?.id : aid
|
|
4618
4626
|
};
|
|
4619
|
-
}, [
|
|
4627
|
+
}, [action, context, aid]);
|
|
4620
4628
|
const view = useGetView2({
|
|
4621
4629
|
viewParams: viewParams || {},
|
|
4622
4630
|
enabled: !!viewParams
|
|
@@ -4716,22 +4724,10 @@ var AppProvider = ({
|
|
|
4716
4724
|
{ ...(0, utils_exports.evalJSONContext)(action?.context) }
|
|
4717
4725
|
]);
|
|
4718
4726
|
}, [menuContext, action?.context, env?.context?.lang]);
|
|
4719
|
-
const memoViews = useMemo5(() => {
|
|
4720
|
-
if (!action) return [];
|
|
4721
|
-
return [
|
|
4722
|
-
...Array.isArray(action?.views) ? action.views.map(
|
|
4723
|
-
(view2) => view2[1] === "list" ? [view2[0], "list"] : view2
|
|
4724
|
-
) : [],
|
|
4725
|
-
[
|
|
4726
|
-
Array.isArray(action?.search_view_id) ? action.search_view_id[0] : action.search_view_id,
|
|
4727
|
-
"search"
|
|
4728
|
-
]
|
|
4729
|
-
];
|
|
4730
|
-
}, [action]);
|
|
4731
4727
|
const view = useViewV2({
|
|
4728
|
+
action,
|
|
4732
4729
|
context: viewContext,
|
|
4733
|
-
|
|
4734
|
-
model: action?.res_model ? String(action.res_model) : void 0
|
|
4730
|
+
aid
|
|
4735
4731
|
});
|
|
4736
4732
|
return /* @__PURE__ */ jsx(
|
|
4737
4733
|
ReactContext.Provider,
|
|
@@ -4859,7 +4855,7 @@ import { useMemo as useMemo7, useState as useState5 } from "react";
|
|
|
4859
4855
|
import {
|
|
4860
4856
|
evalJSONDomain,
|
|
4861
4857
|
formatSortingString,
|
|
4862
|
-
isObjectEmpty as
|
|
4858
|
+
isObjectEmpty as isObjectEmpty4
|
|
4863
4859
|
} from "@fctc/interface-logic/utils";
|
|
4864
4860
|
|
|
4865
4861
|
// src/hooks/utils/use-click-outside.ts
|
|
@@ -5035,7 +5031,7 @@ var useListData = ({
|
|
|
5035
5031
|
const list = useGetListData2(
|
|
5036
5032
|
listDataProps,
|
|
5037
5033
|
[listDataProps],
|
|
5038
|
-
!!listDataProps && !!specification && !
|
|
5034
|
+
!!listDataProps && !!specification && !isObjectEmpty4(specification)
|
|
5039
5035
|
);
|
|
5040
5036
|
return {
|
|
5041
5037
|
...list,
|
|
@@ -5571,7 +5567,7 @@ var many2oneButtonController = (props) => {
|
|
|
5571
5567
|
};
|
|
5572
5568
|
|
|
5573
5569
|
// src/widget/basic/many2many-field/controller.ts
|
|
5574
|
-
import { useEffect as useEffect11,
|
|
5570
|
+
import { useEffect as useEffect11, useState as useState8 } from "react";
|
|
5575
5571
|
import {
|
|
5576
5572
|
evalJSONContext as evalJSONContext4,
|
|
5577
5573
|
evalJSONDomain as evalJSONDomain4,
|
|
@@ -5586,8 +5582,7 @@ var many2manyFieldController = (props) => {
|
|
|
5586
5582
|
tab,
|
|
5587
5583
|
setSelectedRowKeys: setSelectedRowKeys2,
|
|
5588
5584
|
groupByDomain,
|
|
5589
|
-
enabled: enabledCallAPI
|
|
5590
|
-
actionData
|
|
5585
|
+
enabled: enabledCallAPI
|
|
5591
5586
|
} = props;
|
|
5592
5587
|
const { env } = (0, provider_exports.useEnv)();
|
|
5593
5588
|
const { useGetView: useGetView2, useGetListData: useGetListData2, useGetFormView: useGetFormView2 } = (0, provider_exports.useService)();
|
|
@@ -5611,31 +5606,14 @@ var many2manyFieldController = (props) => {
|
|
|
5611
5606
|
viewParams,
|
|
5612
5607
|
enabled: enabledCallAPI
|
|
5613
5608
|
});
|
|
5614
|
-
const
|
|
5615
|
-
()
|
|
5616
|
-
|
|
5617
|
-
|
|
5618
|
-
|
|
5619
|
-
fields: [
|
|
5620
|
-
|
|
5621
|
-
|
|
5622
|
-
]
|
|
5623
|
-
}),
|
|
5624
|
-
[relation, viewResponse]
|
|
5625
|
-
);
|
|
5626
|
-
const initModel = useModel();
|
|
5627
|
-
const modelInstance = useMemo9(() => {
|
|
5628
|
-
if (viewResponse) {
|
|
5629
|
-
return initModel.initModel(baseModel);
|
|
5630
|
-
}
|
|
5631
|
-
return null;
|
|
5632
|
-
}, [baseModel, viewResponse]);
|
|
5633
|
-
const specification = useMemo9(() => {
|
|
5634
|
-
if (modelInstance) {
|
|
5635
|
-
return modelInstance.getSpecification();
|
|
5636
|
-
}
|
|
5637
|
-
return null;
|
|
5638
|
-
}, [modelInstance]);
|
|
5609
|
+
const { specification } = useGetSpecification({
|
|
5610
|
+
model: String(relation),
|
|
5611
|
+
viewData: viewResponse || {},
|
|
5612
|
+
fields: [
|
|
5613
|
+
...Object.values(viewResponse?.views?.list?.fields ?? {}),
|
|
5614
|
+
...tab?.fields ? tab.fields : []
|
|
5615
|
+
]
|
|
5616
|
+
});
|
|
5639
5617
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5640
5618
|
const optionsObject = tab?.options ? evalJSONContext4(tab?.options) : (options ? evalJSONContext4(options) : {}) || {};
|
|
5641
5619
|
const fetchData = async () => {
|
|
@@ -5726,7 +5704,7 @@ var many2manyFieldController = (props) => {
|
|
|
5726
5704
|
};
|
|
5727
5705
|
|
|
5728
5706
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5729
|
-
import { useMemo as
|
|
5707
|
+
import { useMemo as useMemo9 } from "react";
|
|
5730
5708
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5731
5709
|
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain5 } from "@fctc/interface-logic/utils";
|
|
5732
5710
|
var many2manyTagsController = (props) => {
|
|
@@ -5744,7 +5722,7 @@ var many2manyTagsController = (props) => {
|
|
|
5744
5722
|
const { env } = (0, provider_exports.useEnv)();
|
|
5745
5723
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5746
5724
|
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
5747
|
-
const domainObject =
|
|
5725
|
+
const domainObject = useMemo9(
|
|
5748
5726
|
() => evalJSONDomain5(domain, JSON.parse(JSON.stringify(formValues || {}))),
|
|
5749
5727
|
[domain, formValues]
|
|
5750
5728
|
);
|
|
@@ -6976,7 +6954,7 @@ var binaryFieldController = (props) => {
|
|
|
6976
6954
|
};
|
|
6977
6955
|
|
|
6978
6956
|
// src/widget/advance/table/table-head/controller.ts
|
|
6979
|
-
import { useMemo as
|
|
6957
|
+
import { useMemo as useMemo10, useRef as useRef5 } from "react";
|
|
6980
6958
|
var tableHeadController = (props) => {
|
|
6981
6959
|
const {
|
|
6982
6960
|
typeTable,
|
|
@@ -6989,19 +6967,19 @@ var tableHeadController = (props) => {
|
|
|
6989
6967
|
const { rowIds: recordIds } = useGetRowIds(tableRef);
|
|
6990
6968
|
const selectedRowKeysRef = useRef5(recordIds);
|
|
6991
6969
|
const isGroupTable = typeTable === "group";
|
|
6992
|
-
const recordsCheckedGroup =
|
|
6970
|
+
const recordsCheckedGroup = useMemo10(() => {
|
|
6993
6971
|
if (!rows || !groupByList) return 0;
|
|
6994
6972
|
const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
|
|
6995
6973
|
return countSum(rows, groupBy);
|
|
6996
6974
|
}, [rows, groupByList]);
|
|
6997
|
-
const isAllGroupChecked =
|
|
6975
|
+
const isAllGroupChecked = useMemo10(() => {
|
|
6998
6976
|
if (!isGroupTable || !selectedRowKeys?.length) return false;
|
|
6999
6977
|
const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
|
|
7000
6978
|
const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
|
|
7001
6979
|
const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
|
|
7002
6980
|
return allGroupsSelected || allRecordsSelected;
|
|
7003
6981
|
}, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
|
|
7004
|
-
const isAllNormalChecked =
|
|
6982
|
+
const isAllNormalChecked = useMemo10(() => {
|
|
7005
6983
|
if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
|
|
7006
6984
|
return selectedRowKeys.length === rows.length && selectedRowKeys.every(
|
|
7007
6985
|
(id) => rows.some((record) => record.id === id)
|
|
@@ -7131,7 +7109,7 @@ var tableController = ({ data }) => {
|
|
|
7131
7109
|
};
|
|
7132
7110
|
|
|
7133
7111
|
// src/widget/advance/table/table-group/controller.ts
|
|
7134
|
-
import { useEffect as useEffect14, useMemo as
|
|
7112
|
+
import { useEffect as useEffect14, useMemo as useMemo11, useState as useState14 } from "react";
|
|
7135
7113
|
import {
|
|
7136
7114
|
useAppSelector as useAppSelector2,
|
|
7137
7115
|
selectList
|
|
@@ -7159,7 +7137,7 @@ var tableGroupController = (props) => {
|
|
|
7159
7137
|
fromEnd: 1
|
|
7160
7138
|
});
|
|
7161
7139
|
const domain = row?.__domain;
|
|
7162
|
-
const processedData =
|
|
7140
|
+
const processedData = useMemo11(() => {
|
|
7163
7141
|
const calculateColSpanEmpty = () => {
|
|
7164
7142
|
const startIndex = columns.findIndex(
|
|
7165
7143
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -7174,7 +7152,7 @@ var tableGroupController = (props) => {
|
|
|
7174
7152
|
};
|
|
7175
7153
|
return calculateColSpanEmpty();
|
|
7176
7154
|
}, [columns, row]);
|
|
7177
|
-
const shouldFetchData =
|
|
7155
|
+
const shouldFetchData = useMemo11(() => {
|
|
7178
7156
|
return !!isShowGroup;
|
|
7179
7157
|
}, [isShowGroup]);
|
|
7180
7158
|
const enabled = shouldFetchData && !!processedData;
|
package/dist/widget.d.mts
CHANGED