@fctc/widget-logic 4.6.6 → 4.6.7
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 +1 -5
- package/dist/hooks.mjs +19 -23
- package/dist/index.js +1 -5
- package/dist/index.mjs +36 -40
- package/dist/widget.mjs +28 -28
- package/package.json +1 -1
package/dist/hooks.js
CHANGED
|
@@ -155,12 +155,8 @@ var useCallAction = () => {
|
|
|
155
155
|
context
|
|
156
156
|
}) => {
|
|
157
157
|
try {
|
|
158
|
-
const stableEnvContext = (0, import_react.useMemo)(
|
|
159
|
-
() => env?.context,
|
|
160
|
-
[env?.context?.lang]
|
|
161
|
-
);
|
|
162
158
|
const menuContext = {
|
|
163
|
-
...
|
|
159
|
+
...env?.context,
|
|
164
160
|
...context
|
|
165
161
|
};
|
|
166
162
|
const loadRes = await queryLoadAction.mutateAsync({
|
package/dist/hooks.mjs
CHANGED
|
@@ -105,13 +105,13 @@ import {
|
|
|
105
105
|
} from "@fctc/interface-logic/hooks";
|
|
106
106
|
|
|
107
107
|
// src/hooks/core/use-app-provider.tsx
|
|
108
|
-
import { createContext, useContext, useMemo as
|
|
108
|
+
import { createContext, useContext, useMemo as useMemo5 } from "react";
|
|
109
109
|
|
|
110
110
|
// src/hooks/core/use-menu.ts
|
|
111
|
-
import { useMemo
|
|
111
|
+
import { useMemo, useState as useState2 } from "react";
|
|
112
112
|
|
|
113
113
|
// src/hooks/core/use-call-action.ts
|
|
114
|
-
import { useCallback,
|
|
114
|
+
import { useCallback, useState } from "react";
|
|
115
115
|
|
|
116
116
|
// src/provider.ts
|
|
117
117
|
var provider_exports = {};
|
|
@@ -135,12 +135,8 @@ var useCallAction = () => {
|
|
|
135
135
|
context
|
|
136
136
|
}) => {
|
|
137
137
|
try {
|
|
138
|
-
const stableEnvContext = useMemo(
|
|
139
|
-
() => env?.context,
|
|
140
|
-
[env?.context?.lang]
|
|
141
|
-
);
|
|
142
138
|
const menuContext = {
|
|
143
|
-
...
|
|
139
|
+
...env?.context,
|
|
144
140
|
...context
|
|
145
141
|
};
|
|
146
142
|
const loadRes = await queryLoadAction.mutateAsync({
|
|
@@ -374,7 +370,7 @@ var useMenu = ({
|
|
|
374
370
|
defaultService
|
|
375
371
|
);
|
|
376
372
|
const [menuId, setMenuId] = useState2(void 0);
|
|
377
|
-
const configedIconData =
|
|
373
|
+
const configedIconData = useMemo(() => {
|
|
378
374
|
const data = menuData.data;
|
|
379
375
|
return data?.map((item) => {
|
|
380
376
|
return {
|
|
@@ -456,7 +452,7 @@ var useDetail = (sub) => {
|
|
|
456
452
|
|
|
457
453
|
// src/hooks/core/use-profile.ts
|
|
458
454
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
459
|
-
import { useEffect as useEffect3, useMemo as
|
|
455
|
+
import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
|
|
460
456
|
import { useTranslation } from "react-i18next";
|
|
461
457
|
var useProfile = ({ service }) => {
|
|
462
458
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
@@ -479,7 +475,7 @@ var useProfile = ({ service }) => {
|
|
|
479
475
|
i18n.changeLanguage(userLocale?.id.split("_")[0]);
|
|
480
476
|
}
|
|
481
477
|
}, [userInfoQuery.isFetched]);
|
|
482
|
-
const context =
|
|
478
|
+
const context = useMemo2(() => {
|
|
483
479
|
if (userInfoQuery.data?.sub && userInfoQuery.data?.locale) {
|
|
484
480
|
return {
|
|
485
481
|
uid: Number(userInfoQuery.data.sub),
|
|
@@ -503,7 +499,7 @@ var useUser = ({ service }) => {
|
|
|
503
499
|
};
|
|
504
500
|
|
|
505
501
|
// src/hooks/core/use-view-v2.ts
|
|
506
|
-
import { useMemo as
|
|
502
|
+
import { useMemo as useMemo3 } from "react";
|
|
507
503
|
var useViewV2 = ({
|
|
508
504
|
action,
|
|
509
505
|
context,
|
|
@@ -512,7 +508,7 @@ var useViewV2 = ({
|
|
|
512
508
|
xNode
|
|
513
509
|
}) => {
|
|
514
510
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
515
|
-
const viewParams =
|
|
511
|
+
const viewParams = useMemo3(() => {
|
|
516
512
|
if (!action || !action?.res_model) {
|
|
517
513
|
return void 0;
|
|
518
514
|
}
|
|
@@ -546,7 +542,7 @@ var useViewV2 = ({
|
|
|
546
542
|
|
|
547
543
|
// src/hooks/core/use-company.ts
|
|
548
544
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
549
|
-
import { useEffect as useEffect4, useMemo as
|
|
545
|
+
import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
|
|
550
546
|
var useCompany = ({ service }) => {
|
|
551
547
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
552
548
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
@@ -561,7 +557,7 @@ var useCompany = ({ service }) => {
|
|
|
561
557
|
queryFn: fetchCurrentCompany,
|
|
562
558
|
enabled: !!env?.defaultCompany
|
|
563
559
|
});
|
|
564
|
-
const current_company_id =
|
|
560
|
+
const current_company_id = useMemo4(() => {
|
|
565
561
|
return currentCompany.data?.current_company_id;
|
|
566
562
|
}, [currentCompany.data]);
|
|
567
563
|
useEffect4(() => {
|
|
@@ -612,7 +608,7 @@ var AppProvider = ({
|
|
|
612
608
|
const { env } = (0, provider_exports.useEnv)();
|
|
613
609
|
const user = useUser({ service: env.default_service });
|
|
614
610
|
const company = useCompany({ service: env.default_service });
|
|
615
|
-
const menuContext =
|
|
611
|
+
const menuContext = useMemo5(() => {
|
|
616
612
|
return combineContexts([
|
|
617
613
|
{
|
|
618
614
|
...user?.context,
|
|
@@ -629,10 +625,10 @@ var AppProvider = ({
|
|
|
629
625
|
domain: menuParams?.domain,
|
|
630
626
|
defaultService: env.default_service
|
|
631
627
|
});
|
|
632
|
-
const action =
|
|
628
|
+
const action = useMemo5(() => {
|
|
633
629
|
return menu?.state?.action;
|
|
634
630
|
}, [menu?.state?.action, env?.context?.lang]);
|
|
635
|
-
const viewContext =
|
|
631
|
+
const viewContext = useMemo5(() => {
|
|
636
632
|
return combineContexts([
|
|
637
633
|
menuContext,
|
|
638
634
|
{ ...(0, utils_exports.evalJSONContext)(action?.context) }
|
|
@@ -736,7 +732,7 @@ var useGetAction = ({
|
|
|
736
732
|
};
|
|
737
733
|
|
|
738
734
|
// src/hooks/core/use-get-specification.ts
|
|
739
|
-
import { useMemo as
|
|
735
|
+
import { useMemo as useMemo6 } from "react";
|
|
740
736
|
var useGetSpecification = ({
|
|
741
737
|
model,
|
|
742
738
|
viewData,
|
|
@@ -748,13 +744,13 @@ var useGetSpecification = ({
|
|
|
748
744
|
fields
|
|
749
745
|
};
|
|
750
746
|
const initModel = useModel();
|
|
751
|
-
const modelInstance =
|
|
747
|
+
const modelInstance = useMemo6(() => {
|
|
752
748
|
if (viewData) {
|
|
753
749
|
return initModel.initModel(baseModel);
|
|
754
750
|
}
|
|
755
751
|
return null;
|
|
756
752
|
}, [baseModel, viewData, model]);
|
|
757
|
-
const specification =
|
|
753
|
+
const specification = useMemo6(() => {
|
|
758
754
|
if (modelInstance) {
|
|
759
755
|
return modelInstance.getSpecification();
|
|
760
756
|
}
|
|
@@ -764,7 +760,7 @@ var useGetSpecification = ({
|
|
|
764
760
|
};
|
|
765
761
|
|
|
766
762
|
// src/hooks/core/use-list-data.ts
|
|
767
|
-
import { useMemo as
|
|
763
|
+
import { useMemo as useMemo7, useState as useState5 } from "react";
|
|
768
764
|
import {
|
|
769
765
|
evalJSONDomain,
|
|
770
766
|
formatSortingString,
|
|
@@ -908,7 +904,7 @@ var useListData = ({
|
|
|
908
904
|
viewData,
|
|
909
905
|
fields: mode === "kanban" ? viewData?.views?.kanban?.fields : viewData?.views?.list?.fields
|
|
910
906
|
});
|
|
911
|
-
const listDataProps =
|
|
907
|
+
const listDataProps = useMemo7(() => {
|
|
912
908
|
if (!viewData || !action || !context) {
|
|
913
909
|
return null;
|
|
914
910
|
}
|
package/dist/index.js
CHANGED
|
@@ -4205,12 +4205,8 @@ var useCallAction = () => {
|
|
|
4205
4205
|
context
|
|
4206
4206
|
}) => {
|
|
4207
4207
|
try {
|
|
4208
|
-
const stableEnvContext = (0, import_react.useMemo)(
|
|
4209
|
-
() => env?.context,
|
|
4210
|
-
[env?.context?.lang]
|
|
4211
|
-
);
|
|
4212
4208
|
const menuContext = {
|
|
4213
|
-
...
|
|
4209
|
+
...env?.context,
|
|
4214
4210
|
...context
|
|
4215
4211
|
};
|
|
4216
4212
|
const loadRes = await queryLoadAction.mutateAsync({
|
package/dist/index.mjs
CHANGED
|
@@ -4264,13 +4264,13 @@ import {
|
|
|
4264
4264
|
} from "@fctc/interface-logic/hooks";
|
|
4265
4265
|
|
|
4266
4266
|
// src/hooks/core/use-app-provider.tsx
|
|
4267
|
-
import { createContext, useContext, useMemo as
|
|
4267
|
+
import { createContext, useContext, useMemo as useMemo5 } from "react";
|
|
4268
4268
|
|
|
4269
4269
|
// src/hooks/core/use-menu.ts
|
|
4270
|
-
import { useMemo
|
|
4270
|
+
import { useMemo, useState as useState2 } from "react";
|
|
4271
4271
|
|
|
4272
4272
|
// src/hooks/core/use-call-action.ts
|
|
4273
|
-
import { useCallback,
|
|
4273
|
+
import { useCallback, useState } from "react";
|
|
4274
4274
|
|
|
4275
4275
|
// src/provider.ts
|
|
4276
4276
|
var provider_exports = {};
|
|
@@ -4294,12 +4294,8 @@ var useCallAction = () => {
|
|
|
4294
4294
|
context
|
|
4295
4295
|
}) => {
|
|
4296
4296
|
try {
|
|
4297
|
-
const stableEnvContext = useMemo(
|
|
4298
|
-
() => env?.context,
|
|
4299
|
-
[env?.context?.lang]
|
|
4300
|
-
);
|
|
4301
4297
|
const menuContext = {
|
|
4302
|
-
...
|
|
4298
|
+
...env?.context,
|
|
4303
4299
|
...context
|
|
4304
4300
|
};
|
|
4305
4301
|
const loadRes = await queryLoadAction.mutateAsync({
|
|
@@ -4533,7 +4529,7 @@ var useMenu = ({
|
|
|
4533
4529
|
defaultService
|
|
4534
4530
|
);
|
|
4535
4531
|
const [menuId, setMenuId] = useState2(void 0);
|
|
4536
|
-
const configedIconData =
|
|
4532
|
+
const configedIconData = useMemo(() => {
|
|
4537
4533
|
const data = menuData.data;
|
|
4538
4534
|
return data?.map((item) => {
|
|
4539
4535
|
return {
|
|
@@ -4615,7 +4611,7 @@ var useDetail = (sub) => {
|
|
|
4615
4611
|
|
|
4616
4612
|
// src/hooks/core/use-profile.ts
|
|
4617
4613
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4618
|
-
import { useEffect as useEffect3, useMemo as
|
|
4614
|
+
import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
|
|
4619
4615
|
import { useTranslation } from "react-i18next";
|
|
4620
4616
|
var useProfile = ({ service }) => {
|
|
4621
4617
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
@@ -4638,7 +4634,7 @@ var useProfile = ({ service }) => {
|
|
|
4638
4634
|
i18n2.changeLanguage(userLocale?.id.split("_")[0]);
|
|
4639
4635
|
}
|
|
4640
4636
|
}, [userInfoQuery.isFetched]);
|
|
4641
|
-
const context =
|
|
4637
|
+
const context = useMemo2(() => {
|
|
4642
4638
|
if (userInfoQuery.data?.sub && userInfoQuery.data?.locale) {
|
|
4643
4639
|
return {
|
|
4644
4640
|
uid: Number(userInfoQuery.data.sub),
|
|
@@ -4662,7 +4658,7 @@ var useUser = ({ service }) => {
|
|
|
4662
4658
|
};
|
|
4663
4659
|
|
|
4664
4660
|
// src/hooks/core/use-view-v2.ts
|
|
4665
|
-
import { useMemo as
|
|
4661
|
+
import { useMemo as useMemo3 } from "react";
|
|
4666
4662
|
var useViewV2 = ({
|
|
4667
4663
|
action,
|
|
4668
4664
|
context,
|
|
@@ -4671,7 +4667,7 @@ var useViewV2 = ({
|
|
|
4671
4667
|
xNode
|
|
4672
4668
|
}) => {
|
|
4673
4669
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
4674
|
-
const viewParams =
|
|
4670
|
+
const viewParams = useMemo3(() => {
|
|
4675
4671
|
if (!action || !action?.res_model) {
|
|
4676
4672
|
return void 0;
|
|
4677
4673
|
}
|
|
@@ -4705,7 +4701,7 @@ var useViewV2 = ({
|
|
|
4705
4701
|
|
|
4706
4702
|
// src/hooks/core/use-company.ts
|
|
4707
4703
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
4708
|
-
import { useEffect as useEffect4, useMemo as
|
|
4704
|
+
import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
|
|
4709
4705
|
var useCompany = ({ service }) => {
|
|
4710
4706
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
4711
4707
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
@@ -4720,7 +4716,7 @@ var useCompany = ({ service }) => {
|
|
|
4720
4716
|
queryFn: fetchCurrentCompany,
|
|
4721
4717
|
enabled: !!env?.defaultCompany
|
|
4722
4718
|
});
|
|
4723
|
-
const current_company_id =
|
|
4719
|
+
const current_company_id = useMemo4(() => {
|
|
4724
4720
|
return currentCompany.data?.current_company_id;
|
|
4725
4721
|
}, [currentCompany.data]);
|
|
4726
4722
|
useEffect4(() => {
|
|
@@ -4771,7 +4767,7 @@ var AppProvider = ({
|
|
|
4771
4767
|
const { env } = (0, provider_exports.useEnv)();
|
|
4772
4768
|
const user = useUser({ service: env.default_service });
|
|
4773
4769
|
const company = useCompany({ service: env.default_service });
|
|
4774
|
-
const menuContext =
|
|
4770
|
+
const menuContext = useMemo5(() => {
|
|
4775
4771
|
return combineContexts([
|
|
4776
4772
|
{
|
|
4777
4773
|
...user?.context,
|
|
@@ -4788,10 +4784,10 @@ var AppProvider = ({
|
|
|
4788
4784
|
domain: menuParams?.domain,
|
|
4789
4785
|
defaultService: env.default_service
|
|
4790
4786
|
});
|
|
4791
|
-
const action =
|
|
4787
|
+
const action = useMemo5(() => {
|
|
4792
4788
|
return menu?.state?.action;
|
|
4793
4789
|
}, [menu?.state?.action, env?.context?.lang]);
|
|
4794
|
-
const viewContext =
|
|
4790
|
+
const viewContext = useMemo5(() => {
|
|
4795
4791
|
return combineContexts([
|
|
4796
4792
|
menuContext,
|
|
4797
4793
|
{ ...(0, utils_exports.evalJSONContext)(action?.context) }
|
|
@@ -4895,7 +4891,7 @@ var useGetAction = ({
|
|
|
4895
4891
|
};
|
|
4896
4892
|
|
|
4897
4893
|
// src/hooks/core/use-get-specification.ts
|
|
4898
|
-
import { useMemo as
|
|
4894
|
+
import { useMemo as useMemo6 } from "react";
|
|
4899
4895
|
var useGetSpecification = ({
|
|
4900
4896
|
model,
|
|
4901
4897
|
viewData,
|
|
@@ -4907,13 +4903,13 @@ var useGetSpecification = ({
|
|
|
4907
4903
|
fields
|
|
4908
4904
|
};
|
|
4909
4905
|
const initModel = useModel();
|
|
4910
|
-
const modelInstance =
|
|
4906
|
+
const modelInstance = useMemo6(() => {
|
|
4911
4907
|
if (viewData) {
|
|
4912
4908
|
return initModel.initModel(baseModel);
|
|
4913
4909
|
}
|
|
4914
4910
|
return null;
|
|
4915
4911
|
}, [baseModel, viewData, model]);
|
|
4916
|
-
const specification =
|
|
4912
|
+
const specification = useMemo6(() => {
|
|
4917
4913
|
if (modelInstance) {
|
|
4918
4914
|
return modelInstance.getSpecification();
|
|
4919
4915
|
}
|
|
@@ -4923,7 +4919,7 @@ var useGetSpecification = ({
|
|
|
4923
4919
|
};
|
|
4924
4920
|
|
|
4925
4921
|
// src/hooks/core/use-list-data.ts
|
|
4926
|
-
import { useMemo as
|
|
4922
|
+
import { useMemo as useMemo7, useState as useState5 } from "react";
|
|
4927
4923
|
import {
|
|
4928
4924
|
evalJSONDomain,
|
|
4929
4925
|
formatSortingString,
|
|
@@ -5067,7 +5063,7 @@ var useListData = ({
|
|
|
5067
5063
|
viewData,
|
|
5068
5064
|
fields: mode === "kanban" ? viewData?.views?.kanban?.fields : viewData?.views?.list?.fields
|
|
5069
5065
|
});
|
|
5070
|
-
const listDataProps =
|
|
5066
|
+
const listDataProps = useMemo7(() => {
|
|
5071
5067
|
if (!viewData || !action || !context) {
|
|
5072
5068
|
return null;
|
|
5073
5069
|
}
|
|
@@ -5430,7 +5426,7 @@ var statusDropdownController = (props) => {
|
|
|
5430
5426
|
};
|
|
5431
5427
|
|
|
5432
5428
|
// src/widget/basic/many2one-field/controller.ts
|
|
5433
|
-
import { useCallback as useCallback4, useEffect as useEffect10, useMemo as
|
|
5429
|
+
import { useCallback as useCallback4, useEffect as useEffect10, useMemo as useMemo8, useState as useState7 } from "react";
|
|
5434
5430
|
var MANY2ONE_EXTERNAL = "many2one_external";
|
|
5435
5431
|
var many2oneFieldController = (props) => {
|
|
5436
5432
|
const {
|
|
@@ -5497,7 +5493,7 @@ var many2oneFieldController = (props) => {
|
|
|
5497
5493
|
service: widget === MANY2ONE_EXTERNAL ? optionsObject?.service : service,
|
|
5498
5494
|
xNode
|
|
5499
5495
|
});
|
|
5500
|
-
const selectOptions =
|
|
5496
|
+
const selectOptions = useMemo8(() => {
|
|
5501
5497
|
return dataOfSelection?.records?.map((val) => ({
|
|
5502
5498
|
value: val?.id,
|
|
5503
5499
|
label: val?.display_name || val?.name,
|
|
@@ -5508,7 +5504,7 @@ var many2oneFieldController = (props) => {
|
|
|
5508
5504
|
setListOptions(selectOptions);
|
|
5509
5505
|
setDomainModal(domainObject);
|
|
5510
5506
|
}, [selectOptions]);
|
|
5511
|
-
const parsedFormValues =
|
|
5507
|
+
const parsedFormValues = useMemo8(
|
|
5512
5508
|
() => JSON.parse(
|
|
5513
5509
|
JSON.stringify({
|
|
5514
5510
|
...formValues,
|
|
@@ -5865,7 +5861,7 @@ var many2manyFieldController = (props) => {
|
|
|
5865
5861
|
};
|
|
5866
5862
|
|
|
5867
5863
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5868
|
-
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as
|
|
5864
|
+
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo9, useState as useState8 } from "react";
|
|
5869
5865
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5870
5866
|
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
|
|
5871
5867
|
var many2manyTagsController = (props) => {
|
|
@@ -5897,7 +5893,7 @@ var many2manyTagsController = (props) => {
|
|
|
5897
5893
|
...fieldContext ?? {},
|
|
5898
5894
|
...env?.context
|
|
5899
5895
|
};
|
|
5900
|
-
const parsedFormValues =
|
|
5896
|
+
const parsedFormValues = useMemo9(
|
|
5901
5897
|
() => JSON.parse(
|
|
5902
5898
|
JSON.stringify({
|
|
5903
5899
|
...formValues,
|
|
@@ -5938,7 +5934,7 @@ var many2manyTagsController = (props) => {
|
|
|
5938
5934
|
xNode,
|
|
5939
5935
|
enabled: false
|
|
5940
5936
|
});
|
|
5941
|
-
const selectOptions =
|
|
5937
|
+
const selectOptions = useMemo9(() => {
|
|
5942
5938
|
return dataOfSelection?.records?.map((val) => ({
|
|
5943
5939
|
value: val.id,
|
|
5944
5940
|
label: val.name ?? val.display_name,
|
|
@@ -6445,7 +6441,7 @@ var binaryFieldController = (props) => {
|
|
|
6445
6441
|
};
|
|
6446
6442
|
|
|
6447
6443
|
// src/widget/advance/table/table-head/controller.ts
|
|
6448
|
-
import { useMemo as
|
|
6444
|
+
import { useMemo as useMemo10, useRef as useRef5 } from "react";
|
|
6449
6445
|
var tableHeadController = (props) => {
|
|
6450
6446
|
const {
|
|
6451
6447
|
typeTable,
|
|
@@ -6458,19 +6454,19 @@ var tableHeadController = (props) => {
|
|
|
6458
6454
|
const { rowIds: recordIds } = useGetRowIds(tableRef);
|
|
6459
6455
|
const selectedRowKeysRef = useRef5(recordIds);
|
|
6460
6456
|
const isGroupTable = typeTable === "group";
|
|
6461
|
-
const recordsCheckedGroup =
|
|
6457
|
+
const recordsCheckedGroup = useMemo10(() => {
|
|
6462
6458
|
if (!rows || !groupByList) return 0;
|
|
6463
6459
|
const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
|
|
6464
6460
|
return countSum(rows, groupBy);
|
|
6465
6461
|
}, [rows, groupByList]);
|
|
6466
|
-
const isAllGroupChecked =
|
|
6462
|
+
const isAllGroupChecked = useMemo10(() => {
|
|
6467
6463
|
if (!isGroupTable || !selectedRowKeys?.length) return false;
|
|
6468
6464
|
const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
|
|
6469
6465
|
const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
|
|
6470
6466
|
const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
|
|
6471
6467
|
return allGroupsSelected || allRecordsSelected;
|
|
6472
6468
|
}, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
|
|
6473
|
-
const isAllNormalChecked =
|
|
6469
|
+
const isAllNormalChecked = useMemo10(() => {
|
|
6474
6470
|
if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
|
|
6475
6471
|
return selectedRowKeys.length === rows.length && selectedRowKeys.every(
|
|
6476
6472
|
(id) => rows.some((record) => record.id === id)
|
|
@@ -6511,19 +6507,19 @@ var tableHeadController = (props) => {
|
|
|
6511
6507
|
};
|
|
6512
6508
|
|
|
6513
6509
|
// src/widget/advance/table/table-view/controller.ts
|
|
6514
|
-
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as
|
|
6510
|
+
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
|
|
6515
6511
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
6516
6512
|
var tableController = ({ data }) => {
|
|
6517
6513
|
const [rows, setRows] = useState13([]);
|
|
6518
6514
|
const [columnVisibility, setColumnVisibility] = useState13({});
|
|
6519
|
-
const dataModelFields =
|
|
6515
|
+
const dataModelFields = useMemo11(() => {
|
|
6520
6516
|
return data?.fields?.map((field) => ({
|
|
6521
6517
|
...data.dataModel?.[field?.name],
|
|
6522
6518
|
...field,
|
|
6523
6519
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
6524
6520
|
})) ?? [];
|
|
6525
6521
|
}, [data?.fields, data?.dataModel]);
|
|
6526
|
-
const mergeFields =
|
|
6522
|
+
const mergeFields = useMemo11(
|
|
6527
6523
|
() => mergeButtons(dataModelFields),
|
|
6528
6524
|
[dataModelFields]
|
|
6529
6525
|
);
|
|
@@ -6552,7 +6548,7 @@ var tableController = ({ data }) => {
|
|
|
6552
6548
|
useEffect14(() => {
|
|
6553
6549
|
setRows(transformData(data?.records));
|
|
6554
6550
|
}, [data?.records, transformData]);
|
|
6555
|
-
const columns =
|
|
6551
|
+
const columns = useMemo11(() => {
|
|
6556
6552
|
try {
|
|
6557
6553
|
return mergeFields?.filter((item) => {
|
|
6558
6554
|
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
|
|
@@ -6588,7 +6584,7 @@ var tableController = ({ data }) => {
|
|
|
6588
6584
|
};
|
|
6589
6585
|
|
|
6590
6586
|
// src/widget/advance/table/table-group/controller.ts
|
|
6591
|
-
import { useEffect as useEffect15, useMemo as
|
|
6587
|
+
import { useEffect as useEffect15, useMemo as useMemo12, useState as useState14 } from "react";
|
|
6592
6588
|
import { useAppSelector, selectList } from "@fctc/interface-logic/store";
|
|
6593
6589
|
var tableGroupController = (props) => {
|
|
6594
6590
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -6613,7 +6609,7 @@ var tableGroupController = (props) => {
|
|
|
6613
6609
|
fromEnd: 1
|
|
6614
6610
|
});
|
|
6615
6611
|
const domain = row?.__domain;
|
|
6616
|
-
const processedData =
|
|
6612
|
+
const processedData = useMemo12(() => {
|
|
6617
6613
|
const calculateColSpanEmpty = () => {
|
|
6618
6614
|
const startIndex = columns.findIndex(
|
|
6619
6615
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -6628,7 +6624,7 @@ var tableGroupController = (props) => {
|
|
|
6628
6624
|
};
|
|
6629
6625
|
return calculateColSpanEmpty();
|
|
6630
6626
|
}, [columns, row]);
|
|
6631
|
-
const shouldFetchData =
|
|
6627
|
+
const shouldFetchData = useMemo12(() => {
|
|
6632
6628
|
return !!isShowGroup;
|
|
6633
6629
|
}, [isShowGroup]);
|
|
6634
6630
|
const enabled = shouldFetchData && !!processedData;
|
package/dist/widget.mjs
CHANGED
|
@@ -4091,7 +4091,7 @@ var statusDropdownController = (props) => {
|
|
|
4091
4091
|
};
|
|
4092
4092
|
|
|
4093
4093
|
// src/widget/basic/many2one-field/controller.ts
|
|
4094
|
-
import { useCallback as useCallback4, useEffect as useEffect10, useMemo as
|
|
4094
|
+
import { useCallback as useCallback4, useEffect as useEffect10, useMemo as useMemo8, useState as useState7 } from "react";
|
|
4095
4095
|
|
|
4096
4096
|
// src/hooks.ts
|
|
4097
4097
|
import {
|
|
@@ -4182,13 +4182,13 @@ import {
|
|
|
4182
4182
|
} from "@fctc/interface-logic/hooks";
|
|
4183
4183
|
|
|
4184
4184
|
// src/hooks/core/use-app-provider.tsx
|
|
4185
|
-
import { createContext, useContext, useMemo as
|
|
4185
|
+
import { createContext, useContext, useMemo as useMemo5 } from "react";
|
|
4186
4186
|
|
|
4187
4187
|
// src/hooks/core/use-menu.ts
|
|
4188
|
-
import { useMemo
|
|
4188
|
+
import { useMemo, useState as useState3 } from "react";
|
|
4189
4189
|
|
|
4190
4190
|
// src/hooks/core/use-call-action.ts
|
|
4191
|
-
import { useCallback,
|
|
4191
|
+
import { useCallback, useState as useState2 } from "react";
|
|
4192
4192
|
|
|
4193
4193
|
// src/provider.ts
|
|
4194
4194
|
var provider_exports = {};
|
|
@@ -4383,15 +4383,15 @@ import { useEffect as useEffect3 } from "react";
|
|
|
4383
4383
|
|
|
4384
4384
|
// src/hooks/core/use-profile.ts
|
|
4385
4385
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4386
|
-
import { useEffect as useEffect4, useMemo as
|
|
4386
|
+
import { useEffect as useEffect4, useMemo as useMemo2 } from "react";
|
|
4387
4387
|
import { useTranslation } from "react-i18next";
|
|
4388
4388
|
|
|
4389
4389
|
// src/hooks/core/use-view-v2.ts
|
|
4390
|
-
import { useMemo as
|
|
4390
|
+
import { useMemo as useMemo3 } from "react";
|
|
4391
4391
|
|
|
4392
4392
|
// src/hooks/core/use-company.ts
|
|
4393
4393
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
4394
|
-
import { useEffect as useEffect5, useMemo as
|
|
4394
|
+
import { useEffect as useEffect5, useMemo as useMemo4 } from "react";
|
|
4395
4395
|
|
|
4396
4396
|
// src/hooks/core/use-app-provider.tsx
|
|
4397
4397
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -4415,7 +4415,7 @@ var useAppProvider = () => {
|
|
|
4415
4415
|
import { useEffect as useEffect6 } from "react";
|
|
4416
4416
|
|
|
4417
4417
|
// src/hooks/core/use-get-specification.ts
|
|
4418
|
-
import { useMemo as
|
|
4418
|
+
import { useMemo as useMemo6 } from "react";
|
|
4419
4419
|
var useGetSpecification = ({
|
|
4420
4420
|
model,
|
|
4421
4421
|
viewData,
|
|
@@ -4427,13 +4427,13 @@ var useGetSpecification = ({
|
|
|
4427
4427
|
fields
|
|
4428
4428
|
};
|
|
4429
4429
|
const initModel = useModel();
|
|
4430
|
-
const modelInstance =
|
|
4430
|
+
const modelInstance = useMemo6(() => {
|
|
4431
4431
|
if (viewData) {
|
|
4432
4432
|
return initModel.initModel(baseModel);
|
|
4433
4433
|
}
|
|
4434
4434
|
return null;
|
|
4435
4435
|
}, [baseModel, viewData, model]);
|
|
4436
|
-
const specification =
|
|
4436
|
+
const specification = useMemo6(() => {
|
|
4437
4437
|
if (modelInstance) {
|
|
4438
4438
|
return modelInstance.getSpecification();
|
|
4439
4439
|
}
|
|
@@ -4443,7 +4443,7 @@ var useGetSpecification = ({
|
|
|
4443
4443
|
};
|
|
4444
4444
|
|
|
4445
4445
|
// src/hooks/core/use-list-data.ts
|
|
4446
|
-
import { useMemo as
|
|
4446
|
+
import { useMemo as useMemo7, useState as useState6 } from "react";
|
|
4447
4447
|
import {
|
|
4448
4448
|
evalJSONDomain,
|
|
4449
4449
|
formatSortingString,
|
|
@@ -4559,7 +4559,7 @@ var useListData = ({
|
|
|
4559
4559
|
viewData,
|
|
4560
4560
|
fields: mode === "kanban" ? viewData?.views?.kanban?.fields : viewData?.views?.list?.fields
|
|
4561
4561
|
});
|
|
4562
|
-
const listDataProps =
|
|
4562
|
+
const listDataProps = useMemo7(() => {
|
|
4563
4563
|
if (!viewData || !action || !context) {
|
|
4564
4564
|
return null;
|
|
4565
4565
|
}
|
|
@@ -4696,7 +4696,7 @@ var many2oneFieldController = (props) => {
|
|
|
4696
4696
|
service: widget === MANY2ONE_EXTERNAL ? optionsObject?.service : service,
|
|
4697
4697
|
xNode
|
|
4698
4698
|
});
|
|
4699
|
-
const selectOptions =
|
|
4699
|
+
const selectOptions = useMemo8(() => {
|
|
4700
4700
|
return dataOfSelection?.records?.map((val) => ({
|
|
4701
4701
|
value: val?.id,
|
|
4702
4702
|
label: val?.display_name || val?.name,
|
|
@@ -4707,7 +4707,7 @@ var many2oneFieldController = (props) => {
|
|
|
4707
4707
|
setListOptions(selectOptions);
|
|
4708
4708
|
setDomainModal(domainObject);
|
|
4709
4709
|
}, [selectOptions]);
|
|
4710
|
-
const parsedFormValues =
|
|
4710
|
+
const parsedFormValues = useMemo8(
|
|
4711
4711
|
() => JSON.parse(
|
|
4712
4712
|
JSON.stringify({
|
|
4713
4713
|
...formValues,
|
|
@@ -5064,7 +5064,7 @@ var many2manyFieldController = (props) => {
|
|
|
5064
5064
|
};
|
|
5065
5065
|
|
|
5066
5066
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5067
|
-
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as
|
|
5067
|
+
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo9, useState as useState8 } from "react";
|
|
5068
5068
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5069
5069
|
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
|
|
5070
5070
|
var many2manyTagsController = (props) => {
|
|
@@ -5096,7 +5096,7 @@ var many2manyTagsController = (props) => {
|
|
|
5096
5096
|
...fieldContext ?? {},
|
|
5097
5097
|
...env?.context
|
|
5098
5098
|
};
|
|
5099
|
-
const parsedFormValues =
|
|
5099
|
+
const parsedFormValues = useMemo9(
|
|
5100
5100
|
() => JSON.parse(
|
|
5101
5101
|
JSON.stringify({
|
|
5102
5102
|
...formValues,
|
|
@@ -5137,7 +5137,7 @@ var many2manyTagsController = (props) => {
|
|
|
5137
5137
|
xNode,
|
|
5138
5138
|
enabled: false
|
|
5139
5139
|
});
|
|
5140
|
-
const selectOptions =
|
|
5140
|
+
const selectOptions = useMemo9(() => {
|
|
5141
5141
|
return dataOfSelection?.records?.map((val) => ({
|
|
5142
5142
|
value: val.id,
|
|
5143
5143
|
label: val.name ?? val.display_name,
|
|
@@ -5644,7 +5644,7 @@ var binaryFieldController = (props) => {
|
|
|
5644
5644
|
};
|
|
5645
5645
|
|
|
5646
5646
|
// src/widget/advance/table/table-head/controller.ts
|
|
5647
|
-
import { useMemo as
|
|
5647
|
+
import { useMemo as useMemo10, useRef as useRef5 } from "react";
|
|
5648
5648
|
var tableHeadController = (props) => {
|
|
5649
5649
|
const {
|
|
5650
5650
|
typeTable,
|
|
@@ -5657,19 +5657,19 @@ var tableHeadController = (props) => {
|
|
|
5657
5657
|
const { rowIds: recordIds } = useGetRowIds(tableRef);
|
|
5658
5658
|
const selectedRowKeysRef = useRef5(recordIds);
|
|
5659
5659
|
const isGroupTable = typeTable === "group";
|
|
5660
|
-
const recordsCheckedGroup =
|
|
5660
|
+
const recordsCheckedGroup = useMemo10(() => {
|
|
5661
5661
|
if (!rows || !groupByList) return 0;
|
|
5662
5662
|
const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
|
|
5663
5663
|
return countSum(rows, groupBy);
|
|
5664
5664
|
}, [rows, groupByList]);
|
|
5665
|
-
const isAllGroupChecked =
|
|
5665
|
+
const isAllGroupChecked = useMemo10(() => {
|
|
5666
5666
|
if (!isGroupTable || !selectedRowKeys?.length) return false;
|
|
5667
5667
|
const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
|
|
5668
5668
|
const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
|
|
5669
5669
|
const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
|
|
5670
5670
|
return allGroupsSelected || allRecordsSelected;
|
|
5671
5671
|
}, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
|
|
5672
|
-
const isAllNormalChecked =
|
|
5672
|
+
const isAllNormalChecked = useMemo10(() => {
|
|
5673
5673
|
if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
|
|
5674
5674
|
return selectedRowKeys.length === rows.length && selectedRowKeys.every(
|
|
5675
5675
|
(id) => rows.some((record) => record.id === id)
|
|
@@ -5710,19 +5710,19 @@ var tableHeadController = (props) => {
|
|
|
5710
5710
|
};
|
|
5711
5711
|
|
|
5712
5712
|
// src/widget/advance/table/table-view/controller.ts
|
|
5713
|
-
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as
|
|
5713
|
+
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
|
|
5714
5714
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
5715
5715
|
var tableController = ({ data }) => {
|
|
5716
5716
|
const [rows, setRows] = useState13([]);
|
|
5717
5717
|
const [columnVisibility, setColumnVisibility] = useState13({});
|
|
5718
|
-
const dataModelFields =
|
|
5718
|
+
const dataModelFields = useMemo11(() => {
|
|
5719
5719
|
return data?.fields?.map((field) => ({
|
|
5720
5720
|
...data.dataModel?.[field?.name],
|
|
5721
5721
|
...field,
|
|
5722
5722
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
5723
5723
|
})) ?? [];
|
|
5724
5724
|
}, [data?.fields, data?.dataModel]);
|
|
5725
|
-
const mergeFields =
|
|
5725
|
+
const mergeFields = useMemo11(
|
|
5726
5726
|
() => mergeButtons(dataModelFields),
|
|
5727
5727
|
[dataModelFields]
|
|
5728
5728
|
);
|
|
@@ -5751,7 +5751,7 @@ var tableController = ({ data }) => {
|
|
|
5751
5751
|
useEffect14(() => {
|
|
5752
5752
|
setRows(transformData(data?.records));
|
|
5753
5753
|
}, [data?.records, transformData]);
|
|
5754
|
-
const columns =
|
|
5754
|
+
const columns = useMemo11(() => {
|
|
5755
5755
|
try {
|
|
5756
5756
|
return mergeFields?.filter((item) => {
|
|
5757
5757
|
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
|
|
@@ -5787,7 +5787,7 @@ var tableController = ({ data }) => {
|
|
|
5787
5787
|
};
|
|
5788
5788
|
|
|
5789
5789
|
// src/widget/advance/table/table-group/controller.ts
|
|
5790
|
-
import { useEffect as useEffect15, useMemo as
|
|
5790
|
+
import { useEffect as useEffect15, useMemo as useMemo12, useState as useState14 } from "react";
|
|
5791
5791
|
import { useAppSelector, selectList } from "@fctc/interface-logic/store";
|
|
5792
5792
|
var tableGroupController = (props) => {
|
|
5793
5793
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -5812,7 +5812,7 @@ var tableGroupController = (props) => {
|
|
|
5812
5812
|
fromEnd: 1
|
|
5813
5813
|
});
|
|
5814
5814
|
const domain = row?.__domain;
|
|
5815
|
-
const processedData =
|
|
5815
|
+
const processedData = useMemo12(() => {
|
|
5816
5816
|
const calculateColSpanEmpty = () => {
|
|
5817
5817
|
const startIndex = columns.findIndex(
|
|
5818
5818
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -5827,7 +5827,7 @@ var tableGroupController = (props) => {
|
|
|
5827
5827
|
};
|
|
5828
5828
|
return calculateColSpanEmpty();
|
|
5829
5829
|
}, [columns, row]);
|
|
5830
|
-
const shouldFetchData =
|
|
5830
|
+
const shouldFetchData = useMemo12(() => {
|
|
5831
5831
|
return !!isShowGroup;
|
|
5832
5832
|
}, [isShowGroup]);
|
|
5833
5833
|
const enabled = shouldFetchData && !!processedData;
|