@fctc/widget-logic 4.6.5 → 4.6.6
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 +5 -4
- package/dist/hooks.mjs +23 -22
- package/dist/index.js +5 -4
- package/dist/index.mjs +40 -39
- package/dist/widget.mjs +28 -28
- package/package.json +1 -1
package/dist/hooks.js
CHANGED
|
@@ -155,13 +155,14 @@ 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
|
+
);
|
|
158
162
|
const menuContext = {
|
|
159
|
-
...
|
|
163
|
+
...stableEnvContext,
|
|
160
164
|
...context
|
|
161
165
|
};
|
|
162
|
-
if (!menuContext?.uid) {
|
|
163
|
-
return void 0;
|
|
164
|
-
}
|
|
165
166
|
const loadRes = await queryLoadAction.mutateAsync({
|
|
166
167
|
idAction: aid,
|
|
167
168
|
context: menuContext,
|
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 useMemo6 } from "react";
|
|
109
109
|
|
|
110
110
|
// src/hooks/core/use-menu.ts
|
|
111
|
-
import { useMemo, useState as useState2 } from "react";
|
|
111
|
+
import { useMemo as useMemo2, useState as useState2 } from "react";
|
|
112
112
|
|
|
113
113
|
// src/hooks/core/use-call-action.ts
|
|
114
|
-
import { useCallback, useState } from "react";
|
|
114
|
+
import { useCallback, useMemo, useState } from "react";
|
|
115
115
|
|
|
116
116
|
// src/provider.ts
|
|
117
117
|
var provider_exports = {};
|
|
@@ -135,13 +135,14 @@ var useCallAction = () => {
|
|
|
135
135
|
context
|
|
136
136
|
}) => {
|
|
137
137
|
try {
|
|
138
|
+
const stableEnvContext = useMemo(
|
|
139
|
+
() => env?.context,
|
|
140
|
+
[env?.context?.lang]
|
|
141
|
+
);
|
|
138
142
|
const menuContext = {
|
|
139
|
-
...
|
|
143
|
+
...stableEnvContext,
|
|
140
144
|
...context
|
|
141
145
|
};
|
|
142
|
-
if (!menuContext?.uid) {
|
|
143
|
-
return void 0;
|
|
144
|
-
}
|
|
145
146
|
const loadRes = await queryLoadAction.mutateAsync({
|
|
146
147
|
idAction: aid,
|
|
147
148
|
context: menuContext,
|
|
@@ -373,7 +374,7 @@ var useMenu = ({
|
|
|
373
374
|
defaultService
|
|
374
375
|
);
|
|
375
376
|
const [menuId, setMenuId] = useState2(void 0);
|
|
376
|
-
const configedIconData =
|
|
377
|
+
const configedIconData = useMemo2(() => {
|
|
377
378
|
const data = menuData.data;
|
|
378
379
|
return data?.map((item) => {
|
|
379
380
|
return {
|
|
@@ -455,7 +456,7 @@ var useDetail = (sub) => {
|
|
|
455
456
|
|
|
456
457
|
// src/hooks/core/use-profile.ts
|
|
457
458
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
458
|
-
import { useEffect as useEffect3, useMemo as
|
|
459
|
+
import { useEffect as useEffect3, useMemo as useMemo3 } from "react";
|
|
459
460
|
import { useTranslation } from "react-i18next";
|
|
460
461
|
var useProfile = ({ service }) => {
|
|
461
462
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
@@ -478,7 +479,7 @@ var useProfile = ({ service }) => {
|
|
|
478
479
|
i18n.changeLanguage(userLocale?.id.split("_")[0]);
|
|
479
480
|
}
|
|
480
481
|
}, [userInfoQuery.isFetched]);
|
|
481
|
-
const context =
|
|
482
|
+
const context = useMemo3(() => {
|
|
482
483
|
if (userInfoQuery.data?.sub && userInfoQuery.data?.locale) {
|
|
483
484
|
return {
|
|
484
485
|
uid: Number(userInfoQuery.data.sub),
|
|
@@ -502,7 +503,7 @@ var useUser = ({ service }) => {
|
|
|
502
503
|
};
|
|
503
504
|
|
|
504
505
|
// src/hooks/core/use-view-v2.ts
|
|
505
|
-
import { useMemo as
|
|
506
|
+
import { useMemo as useMemo4 } from "react";
|
|
506
507
|
var useViewV2 = ({
|
|
507
508
|
action,
|
|
508
509
|
context,
|
|
@@ -511,7 +512,7 @@ var useViewV2 = ({
|
|
|
511
512
|
xNode
|
|
512
513
|
}) => {
|
|
513
514
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
514
|
-
const viewParams =
|
|
515
|
+
const viewParams = useMemo4(() => {
|
|
515
516
|
if (!action || !action?.res_model) {
|
|
516
517
|
return void 0;
|
|
517
518
|
}
|
|
@@ -545,7 +546,7 @@ var useViewV2 = ({
|
|
|
545
546
|
|
|
546
547
|
// src/hooks/core/use-company.ts
|
|
547
548
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
548
|
-
import { useEffect as useEffect4, useMemo as
|
|
549
|
+
import { useEffect as useEffect4, useMemo as useMemo5 } from "react";
|
|
549
550
|
var useCompany = ({ service }) => {
|
|
550
551
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
551
552
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
@@ -560,7 +561,7 @@ var useCompany = ({ service }) => {
|
|
|
560
561
|
queryFn: fetchCurrentCompany,
|
|
561
562
|
enabled: !!env?.defaultCompany
|
|
562
563
|
});
|
|
563
|
-
const current_company_id =
|
|
564
|
+
const current_company_id = useMemo5(() => {
|
|
564
565
|
return currentCompany.data?.current_company_id;
|
|
565
566
|
}, [currentCompany.data]);
|
|
566
567
|
useEffect4(() => {
|
|
@@ -611,7 +612,7 @@ var AppProvider = ({
|
|
|
611
612
|
const { env } = (0, provider_exports.useEnv)();
|
|
612
613
|
const user = useUser({ service: env.default_service });
|
|
613
614
|
const company = useCompany({ service: env.default_service });
|
|
614
|
-
const menuContext =
|
|
615
|
+
const menuContext = useMemo6(() => {
|
|
615
616
|
return combineContexts([
|
|
616
617
|
{
|
|
617
618
|
...user?.context,
|
|
@@ -628,10 +629,10 @@ var AppProvider = ({
|
|
|
628
629
|
domain: menuParams?.domain,
|
|
629
630
|
defaultService: env.default_service
|
|
630
631
|
});
|
|
631
|
-
const action =
|
|
632
|
+
const action = useMemo6(() => {
|
|
632
633
|
return menu?.state?.action;
|
|
633
634
|
}, [menu?.state?.action, env?.context?.lang]);
|
|
634
|
-
const viewContext =
|
|
635
|
+
const viewContext = useMemo6(() => {
|
|
635
636
|
return combineContexts([
|
|
636
637
|
menuContext,
|
|
637
638
|
{ ...(0, utils_exports.evalJSONContext)(action?.context) }
|
|
@@ -735,7 +736,7 @@ var useGetAction = ({
|
|
|
735
736
|
};
|
|
736
737
|
|
|
737
738
|
// src/hooks/core/use-get-specification.ts
|
|
738
|
-
import { useMemo as
|
|
739
|
+
import { useMemo as useMemo7 } from "react";
|
|
739
740
|
var useGetSpecification = ({
|
|
740
741
|
model,
|
|
741
742
|
viewData,
|
|
@@ -747,13 +748,13 @@ var useGetSpecification = ({
|
|
|
747
748
|
fields
|
|
748
749
|
};
|
|
749
750
|
const initModel = useModel();
|
|
750
|
-
const modelInstance =
|
|
751
|
+
const modelInstance = useMemo7(() => {
|
|
751
752
|
if (viewData) {
|
|
752
753
|
return initModel.initModel(baseModel);
|
|
753
754
|
}
|
|
754
755
|
return null;
|
|
755
756
|
}, [baseModel, viewData, model]);
|
|
756
|
-
const specification =
|
|
757
|
+
const specification = useMemo7(() => {
|
|
757
758
|
if (modelInstance) {
|
|
758
759
|
return modelInstance.getSpecification();
|
|
759
760
|
}
|
|
@@ -763,7 +764,7 @@ var useGetSpecification = ({
|
|
|
763
764
|
};
|
|
764
765
|
|
|
765
766
|
// src/hooks/core/use-list-data.ts
|
|
766
|
-
import { useMemo as
|
|
767
|
+
import { useMemo as useMemo8, useState as useState5 } from "react";
|
|
767
768
|
import {
|
|
768
769
|
evalJSONDomain,
|
|
769
770
|
formatSortingString,
|
|
@@ -907,7 +908,7 @@ var useListData = ({
|
|
|
907
908
|
viewData,
|
|
908
909
|
fields: mode === "kanban" ? viewData?.views?.kanban?.fields : viewData?.views?.list?.fields
|
|
909
910
|
});
|
|
910
|
-
const listDataProps =
|
|
911
|
+
const listDataProps = useMemo8(() => {
|
|
911
912
|
if (!viewData || !action || !context) {
|
|
912
913
|
return null;
|
|
913
914
|
}
|
package/dist/index.js
CHANGED
|
@@ -4205,13 +4205,14 @@ 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
|
+
);
|
|
4208
4212
|
const menuContext = {
|
|
4209
|
-
...
|
|
4213
|
+
...stableEnvContext,
|
|
4210
4214
|
...context
|
|
4211
4215
|
};
|
|
4212
|
-
if (!menuContext?.uid) {
|
|
4213
|
-
return void 0;
|
|
4214
|
-
}
|
|
4215
4216
|
const loadRes = await queryLoadAction.mutateAsync({
|
|
4216
4217
|
idAction: aid,
|
|
4217
4218
|
context: menuContext,
|
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 useMemo6 } from "react";
|
|
4268
4268
|
|
|
4269
4269
|
// src/hooks/core/use-menu.ts
|
|
4270
|
-
import { useMemo, useState as useState2 } from "react";
|
|
4270
|
+
import { useMemo as useMemo2, useState as useState2 } from "react";
|
|
4271
4271
|
|
|
4272
4272
|
// src/hooks/core/use-call-action.ts
|
|
4273
|
-
import { useCallback, useState } from "react";
|
|
4273
|
+
import { useCallback, useMemo, useState } from "react";
|
|
4274
4274
|
|
|
4275
4275
|
// src/provider.ts
|
|
4276
4276
|
var provider_exports = {};
|
|
@@ -4294,13 +4294,14 @@ var useCallAction = () => {
|
|
|
4294
4294
|
context
|
|
4295
4295
|
}) => {
|
|
4296
4296
|
try {
|
|
4297
|
+
const stableEnvContext = useMemo(
|
|
4298
|
+
() => env?.context,
|
|
4299
|
+
[env?.context?.lang]
|
|
4300
|
+
);
|
|
4297
4301
|
const menuContext = {
|
|
4298
|
-
...
|
|
4302
|
+
...stableEnvContext,
|
|
4299
4303
|
...context
|
|
4300
4304
|
};
|
|
4301
|
-
if (!menuContext?.uid) {
|
|
4302
|
-
return void 0;
|
|
4303
|
-
}
|
|
4304
4305
|
const loadRes = await queryLoadAction.mutateAsync({
|
|
4305
4306
|
idAction: aid,
|
|
4306
4307
|
context: menuContext,
|
|
@@ -4532,7 +4533,7 @@ var useMenu = ({
|
|
|
4532
4533
|
defaultService
|
|
4533
4534
|
);
|
|
4534
4535
|
const [menuId, setMenuId] = useState2(void 0);
|
|
4535
|
-
const configedIconData =
|
|
4536
|
+
const configedIconData = useMemo2(() => {
|
|
4536
4537
|
const data = menuData.data;
|
|
4537
4538
|
return data?.map((item) => {
|
|
4538
4539
|
return {
|
|
@@ -4614,7 +4615,7 @@ var useDetail = (sub) => {
|
|
|
4614
4615
|
|
|
4615
4616
|
// src/hooks/core/use-profile.ts
|
|
4616
4617
|
import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
4617
|
-
import { useEffect as useEffect3, useMemo as
|
|
4618
|
+
import { useEffect as useEffect3, useMemo as useMemo3 } from "react";
|
|
4618
4619
|
import { useTranslation } from "react-i18next";
|
|
4619
4620
|
var useProfile = ({ service }) => {
|
|
4620
4621
|
const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
|
|
@@ -4637,7 +4638,7 @@ var useProfile = ({ service }) => {
|
|
|
4637
4638
|
i18n2.changeLanguage(userLocale?.id.split("_")[0]);
|
|
4638
4639
|
}
|
|
4639
4640
|
}, [userInfoQuery.isFetched]);
|
|
4640
|
-
const context =
|
|
4641
|
+
const context = useMemo3(() => {
|
|
4641
4642
|
if (userInfoQuery.data?.sub && userInfoQuery.data?.locale) {
|
|
4642
4643
|
return {
|
|
4643
4644
|
uid: Number(userInfoQuery.data.sub),
|
|
@@ -4661,7 +4662,7 @@ var useUser = ({ service }) => {
|
|
|
4661
4662
|
};
|
|
4662
4663
|
|
|
4663
4664
|
// src/hooks/core/use-view-v2.ts
|
|
4664
|
-
import { useMemo as
|
|
4665
|
+
import { useMemo as useMemo4 } from "react";
|
|
4665
4666
|
var useViewV2 = ({
|
|
4666
4667
|
action,
|
|
4667
4668
|
context,
|
|
@@ -4670,7 +4671,7 @@ var useViewV2 = ({
|
|
|
4670
4671
|
xNode
|
|
4671
4672
|
}) => {
|
|
4672
4673
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
4673
|
-
const viewParams =
|
|
4674
|
+
const viewParams = useMemo4(() => {
|
|
4674
4675
|
if (!action || !action?.res_model) {
|
|
4675
4676
|
return void 0;
|
|
4676
4677
|
}
|
|
@@ -4704,7 +4705,7 @@ var useViewV2 = ({
|
|
|
4704
4705
|
|
|
4705
4706
|
// src/hooks/core/use-company.ts
|
|
4706
4707
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
4707
|
-
import { useEffect as useEffect4, useMemo as
|
|
4708
|
+
import { useEffect as useEffect4, useMemo as useMemo5 } from "react";
|
|
4708
4709
|
var useCompany = ({ service }) => {
|
|
4709
4710
|
const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
|
|
4710
4711
|
const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
|
|
@@ -4719,7 +4720,7 @@ var useCompany = ({ service }) => {
|
|
|
4719
4720
|
queryFn: fetchCurrentCompany,
|
|
4720
4721
|
enabled: !!env?.defaultCompany
|
|
4721
4722
|
});
|
|
4722
|
-
const current_company_id =
|
|
4723
|
+
const current_company_id = useMemo5(() => {
|
|
4723
4724
|
return currentCompany.data?.current_company_id;
|
|
4724
4725
|
}, [currentCompany.data]);
|
|
4725
4726
|
useEffect4(() => {
|
|
@@ -4770,7 +4771,7 @@ var AppProvider = ({
|
|
|
4770
4771
|
const { env } = (0, provider_exports.useEnv)();
|
|
4771
4772
|
const user = useUser({ service: env.default_service });
|
|
4772
4773
|
const company = useCompany({ service: env.default_service });
|
|
4773
|
-
const menuContext =
|
|
4774
|
+
const menuContext = useMemo6(() => {
|
|
4774
4775
|
return combineContexts([
|
|
4775
4776
|
{
|
|
4776
4777
|
...user?.context,
|
|
@@ -4787,10 +4788,10 @@ var AppProvider = ({
|
|
|
4787
4788
|
domain: menuParams?.domain,
|
|
4788
4789
|
defaultService: env.default_service
|
|
4789
4790
|
});
|
|
4790
|
-
const action =
|
|
4791
|
+
const action = useMemo6(() => {
|
|
4791
4792
|
return menu?.state?.action;
|
|
4792
4793
|
}, [menu?.state?.action, env?.context?.lang]);
|
|
4793
|
-
const viewContext =
|
|
4794
|
+
const viewContext = useMemo6(() => {
|
|
4794
4795
|
return combineContexts([
|
|
4795
4796
|
menuContext,
|
|
4796
4797
|
{ ...(0, utils_exports.evalJSONContext)(action?.context) }
|
|
@@ -4894,7 +4895,7 @@ var useGetAction = ({
|
|
|
4894
4895
|
};
|
|
4895
4896
|
|
|
4896
4897
|
// src/hooks/core/use-get-specification.ts
|
|
4897
|
-
import { useMemo as
|
|
4898
|
+
import { useMemo as useMemo7 } from "react";
|
|
4898
4899
|
var useGetSpecification = ({
|
|
4899
4900
|
model,
|
|
4900
4901
|
viewData,
|
|
@@ -4906,13 +4907,13 @@ var useGetSpecification = ({
|
|
|
4906
4907
|
fields
|
|
4907
4908
|
};
|
|
4908
4909
|
const initModel = useModel();
|
|
4909
|
-
const modelInstance =
|
|
4910
|
+
const modelInstance = useMemo7(() => {
|
|
4910
4911
|
if (viewData) {
|
|
4911
4912
|
return initModel.initModel(baseModel);
|
|
4912
4913
|
}
|
|
4913
4914
|
return null;
|
|
4914
4915
|
}, [baseModel, viewData, model]);
|
|
4915
|
-
const specification =
|
|
4916
|
+
const specification = useMemo7(() => {
|
|
4916
4917
|
if (modelInstance) {
|
|
4917
4918
|
return modelInstance.getSpecification();
|
|
4918
4919
|
}
|
|
@@ -4922,7 +4923,7 @@ var useGetSpecification = ({
|
|
|
4922
4923
|
};
|
|
4923
4924
|
|
|
4924
4925
|
// src/hooks/core/use-list-data.ts
|
|
4925
|
-
import { useMemo as
|
|
4926
|
+
import { useMemo as useMemo8, useState as useState5 } from "react";
|
|
4926
4927
|
import {
|
|
4927
4928
|
evalJSONDomain,
|
|
4928
4929
|
formatSortingString,
|
|
@@ -5066,7 +5067,7 @@ var useListData = ({
|
|
|
5066
5067
|
viewData,
|
|
5067
5068
|
fields: mode === "kanban" ? viewData?.views?.kanban?.fields : viewData?.views?.list?.fields
|
|
5068
5069
|
});
|
|
5069
|
-
const listDataProps =
|
|
5070
|
+
const listDataProps = useMemo8(() => {
|
|
5070
5071
|
if (!viewData || !action || !context) {
|
|
5071
5072
|
return null;
|
|
5072
5073
|
}
|
|
@@ -5429,7 +5430,7 @@ var statusDropdownController = (props) => {
|
|
|
5429
5430
|
};
|
|
5430
5431
|
|
|
5431
5432
|
// src/widget/basic/many2one-field/controller.ts
|
|
5432
|
-
import { useCallback as useCallback4, useEffect as useEffect10, useMemo as
|
|
5433
|
+
import { useCallback as useCallback4, useEffect as useEffect10, useMemo as useMemo9, useState as useState7 } from "react";
|
|
5433
5434
|
var MANY2ONE_EXTERNAL = "many2one_external";
|
|
5434
5435
|
var many2oneFieldController = (props) => {
|
|
5435
5436
|
const {
|
|
@@ -5496,7 +5497,7 @@ var many2oneFieldController = (props) => {
|
|
|
5496
5497
|
service: widget === MANY2ONE_EXTERNAL ? optionsObject?.service : service,
|
|
5497
5498
|
xNode
|
|
5498
5499
|
});
|
|
5499
|
-
const selectOptions =
|
|
5500
|
+
const selectOptions = useMemo9(() => {
|
|
5500
5501
|
return dataOfSelection?.records?.map((val) => ({
|
|
5501
5502
|
value: val?.id,
|
|
5502
5503
|
label: val?.display_name || val?.name,
|
|
@@ -5507,7 +5508,7 @@ var many2oneFieldController = (props) => {
|
|
|
5507
5508
|
setListOptions(selectOptions);
|
|
5508
5509
|
setDomainModal(domainObject);
|
|
5509
5510
|
}, [selectOptions]);
|
|
5510
|
-
const parsedFormValues =
|
|
5511
|
+
const parsedFormValues = useMemo9(
|
|
5511
5512
|
() => JSON.parse(
|
|
5512
5513
|
JSON.stringify({
|
|
5513
5514
|
...formValues,
|
|
@@ -5864,7 +5865,7 @@ var many2manyFieldController = (props) => {
|
|
|
5864
5865
|
};
|
|
5865
5866
|
|
|
5866
5867
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5867
|
-
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as
|
|
5868
|
+
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo10, useState as useState8 } from "react";
|
|
5868
5869
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5869
5870
|
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
|
|
5870
5871
|
var many2manyTagsController = (props) => {
|
|
@@ -5896,7 +5897,7 @@ var many2manyTagsController = (props) => {
|
|
|
5896
5897
|
...fieldContext ?? {},
|
|
5897
5898
|
...env?.context
|
|
5898
5899
|
};
|
|
5899
|
-
const parsedFormValues =
|
|
5900
|
+
const parsedFormValues = useMemo10(
|
|
5900
5901
|
() => JSON.parse(
|
|
5901
5902
|
JSON.stringify({
|
|
5902
5903
|
...formValues,
|
|
@@ -5937,7 +5938,7 @@ var many2manyTagsController = (props) => {
|
|
|
5937
5938
|
xNode,
|
|
5938
5939
|
enabled: false
|
|
5939
5940
|
});
|
|
5940
|
-
const selectOptions =
|
|
5941
|
+
const selectOptions = useMemo10(() => {
|
|
5941
5942
|
return dataOfSelection?.records?.map((val) => ({
|
|
5942
5943
|
value: val.id,
|
|
5943
5944
|
label: val.name ?? val.display_name,
|
|
@@ -6444,7 +6445,7 @@ var binaryFieldController = (props) => {
|
|
|
6444
6445
|
};
|
|
6445
6446
|
|
|
6446
6447
|
// src/widget/advance/table/table-head/controller.ts
|
|
6447
|
-
import { useMemo as
|
|
6448
|
+
import { useMemo as useMemo11, useRef as useRef5 } from "react";
|
|
6448
6449
|
var tableHeadController = (props) => {
|
|
6449
6450
|
const {
|
|
6450
6451
|
typeTable,
|
|
@@ -6457,19 +6458,19 @@ var tableHeadController = (props) => {
|
|
|
6457
6458
|
const { rowIds: recordIds } = useGetRowIds(tableRef);
|
|
6458
6459
|
const selectedRowKeysRef = useRef5(recordIds);
|
|
6459
6460
|
const isGroupTable = typeTable === "group";
|
|
6460
|
-
const recordsCheckedGroup =
|
|
6461
|
+
const recordsCheckedGroup = useMemo11(() => {
|
|
6461
6462
|
if (!rows || !groupByList) return 0;
|
|
6462
6463
|
const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
|
|
6463
6464
|
return countSum(rows, groupBy);
|
|
6464
6465
|
}, [rows, groupByList]);
|
|
6465
|
-
const isAllGroupChecked =
|
|
6466
|
+
const isAllGroupChecked = useMemo11(() => {
|
|
6466
6467
|
if (!isGroupTable || !selectedRowKeys?.length) return false;
|
|
6467
6468
|
const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
|
|
6468
6469
|
const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
|
|
6469
6470
|
const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
|
|
6470
6471
|
return allGroupsSelected || allRecordsSelected;
|
|
6471
6472
|
}, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
|
|
6472
|
-
const isAllNormalChecked =
|
|
6473
|
+
const isAllNormalChecked = useMemo11(() => {
|
|
6473
6474
|
if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
|
|
6474
6475
|
return selectedRowKeys.length === rows.length && selectedRowKeys.every(
|
|
6475
6476
|
(id) => rows.some((record) => record.id === id)
|
|
@@ -6510,19 +6511,19 @@ var tableHeadController = (props) => {
|
|
|
6510
6511
|
};
|
|
6511
6512
|
|
|
6512
6513
|
// src/widget/advance/table/table-view/controller.ts
|
|
6513
|
-
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as
|
|
6514
|
+
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo12, useState as useState13 } from "react";
|
|
6514
6515
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
6515
6516
|
var tableController = ({ data }) => {
|
|
6516
6517
|
const [rows, setRows] = useState13([]);
|
|
6517
6518
|
const [columnVisibility, setColumnVisibility] = useState13({});
|
|
6518
|
-
const dataModelFields =
|
|
6519
|
+
const dataModelFields = useMemo12(() => {
|
|
6519
6520
|
return data?.fields?.map((field) => ({
|
|
6520
6521
|
...data.dataModel?.[field?.name],
|
|
6521
6522
|
...field,
|
|
6522
6523
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
6523
6524
|
})) ?? [];
|
|
6524
6525
|
}, [data?.fields, data?.dataModel]);
|
|
6525
|
-
const mergeFields =
|
|
6526
|
+
const mergeFields = useMemo12(
|
|
6526
6527
|
() => mergeButtons(dataModelFields),
|
|
6527
6528
|
[dataModelFields]
|
|
6528
6529
|
);
|
|
@@ -6551,7 +6552,7 @@ var tableController = ({ data }) => {
|
|
|
6551
6552
|
useEffect14(() => {
|
|
6552
6553
|
setRows(transformData(data?.records));
|
|
6553
6554
|
}, [data?.records, transformData]);
|
|
6554
|
-
const columns =
|
|
6555
|
+
const columns = useMemo12(() => {
|
|
6555
6556
|
try {
|
|
6556
6557
|
return mergeFields?.filter((item) => {
|
|
6557
6558
|
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
|
|
@@ -6587,7 +6588,7 @@ var tableController = ({ data }) => {
|
|
|
6587
6588
|
};
|
|
6588
6589
|
|
|
6589
6590
|
// src/widget/advance/table/table-group/controller.ts
|
|
6590
|
-
import { useEffect as useEffect15, useMemo as
|
|
6591
|
+
import { useEffect as useEffect15, useMemo as useMemo13, useState as useState14 } from "react";
|
|
6591
6592
|
import { useAppSelector, selectList } from "@fctc/interface-logic/store";
|
|
6592
6593
|
var tableGroupController = (props) => {
|
|
6593
6594
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -6612,7 +6613,7 @@ var tableGroupController = (props) => {
|
|
|
6612
6613
|
fromEnd: 1
|
|
6613
6614
|
});
|
|
6614
6615
|
const domain = row?.__domain;
|
|
6615
|
-
const processedData =
|
|
6616
|
+
const processedData = useMemo13(() => {
|
|
6616
6617
|
const calculateColSpanEmpty = () => {
|
|
6617
6618
|
const startIndex = columns.findIndex(
|
|
6618
6619
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -6627,7 +6628,7 @@ var tableGroupController = (props) => {
|
|
|
6627
6628
|
};
|
|
6628
6629
|
return calculateColSpanEmpty();
|
|
6629
6630
|
}, [columns, row]);
|
|
6630
|
-
const shouldFetchData =
|
|
6631
|
+
const shouldFetchData = useMemo13(() => {
|
|
6631
6632
|
return !!isShowGroup;
|
|
6632
6633
|
}, [isShowGroup]);
|
|
6633
6634
|
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 useMemo9, 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 useMemo6 } from "react";
|
|
4186
4186
|
|
|
4187
4187
|
// src/hooks/core/use-menu.ts
|
|
4188
|
-
import { useMemo, useState as useState3 } from "react";
|
|
4188
|
+
import { useMemo as useMemo2, useState as useState3 } from "react";
|
|
4189
4189
|
|
|
4190
4190
|
// src/hooks/core/use-call-action.ts
|
|
4191
|
-
import { useCallback, useState as useState2 } from "react";
|
|
4191
|
+
import { useCallback, useMemo, 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 useMemo3 } 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 useMemo4 } 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 useMemo5 } 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 useMemo7 } 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 = useMemo7(() => {
|
|
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 = useMemo7(() => {
|
|
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 useMemo8, 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 = useMemo8(() => {
|
|
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 = useMemo9(() => {
|
|
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 = useMemo9(
|
|
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 useMemo10, 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 = useMemo10(
|
|
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 = useMemo10(() => {
|
|
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 useMemo11, 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 = useMemo11(() => {
|
|
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 = useMemo11(() => {
|
|
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 = useMemo11(() => {
|
|
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 useMemo12, 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 = useMemo12(() => {
|
|
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 = useMemo12(
|
|
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 = useMemo12(() => {
|
|
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 useMemo13, 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 = useMemo13(() => {
|
|
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 = useMemo13(() => {
|
|
5831
5831
|
return !!isShowGroup;
|
|
5832
5832
|
}, [isShowGroup]);
|
|
5833
5833
|
const enabled = shouldFetchData && !!processedData;
|