@fctc/widget-logic 4.9.10 → 4.10.0
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 +1 -1
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +2 -2
- package/dist/hooks.mjs +2 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +26 -18
- package/dist/index.mjs +42 -34
- package/dist/widget.js +24 -16
- package/dist/widget.mjs +40 -32
- package/package.json +2 -2
package/dist/hooks.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { useAddEntity, useButton,
|
|
1
|
+
export { useAddEntity, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCreateEntity, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteEntity, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCurrency, useGetCurrentCompany, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetOrderLine, useGetPinCode, useGetPrintReport, useGetProGressBar, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetUser, useGetView, useGrantAccess, useIsValidToken, useLoadAction, useLoadMessage, useLoginCredential, useLoginSocial, useLogout, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSwitchLocale, useUpdatePassword, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp } from '@fctc/interface-logic/hooks';
|
|
2
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
3
|
import * as _tanstack_query_core from '@tanstack/query-core';
|
|
4
4
|
import * as react from 'react';
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { useAddEntity, useButton,
|
|
1
|
+
export { useAddEntity, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCreateEntity, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteEntity, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCurrency, useGetCurrentCompany, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetOrderLine, useGetPinCode, useGetPrintReport, useGetProGressBar, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetUser, useGetView, useGrantAccess, useIsValidToken, useLoadAction, useLoadMessage, useLoginCredential, useLoginSocial, useLogout, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSwitchLocale, useUpdatePassword, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp } from '@fctc/interface-logic/hooks';
|
|
2
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
3
|
import * as _tanstack_query_core from '@tanstack/query-core';
|
|
4
4
|
import * as react from 'react';
|
package/dist/hooks.js
CHANGED
|
@@ -26,7 +26,7 @@ __export(hooks_exports, {
|
|
|
26
26
|
useAppProvider: () => useAppProvider,
|
|
27
27
|
useButton: () => import_hooks2.useButton,
|
|
28
28
|
useCallAction: () => useCallAction,
|
|
29
|
-
|
|
29
|
+
useChangeOrderPreparationState: () => import_hooks2.useChangeOrderPreparationState,
|
|
30
30
|
useChangeStatus: () => import_hooks2.useChangeStatus,
|
|
31
31
|
useCheckPayment: () => import_hooks2.useCheckPayment,
|
|
32
32
|
useClickOutside: () => useClickOutside,
|
|
@@ -983,7 +983,7 @@ var useListData = ({
|
|
|
983
983
|
useAppProvider,
|
|
984
984
|
useButton,
|
|
985
985
|
useCallAction,
|
|
986
|
-
|
|
986
|
+
useChangeOrderPreparationState,
|
|
987
987
|
useChangeStatus,
|
|
988
988
|
useCheckPayment,
|
|
989
989
|
useClickOutside,
|
package/dist/hooks.mjs
CHANGED
|
@@ -88,7 +88,7 @@ import {
|
|
|
88
88
|
useVerify2FA,
|
|
89
89
|
useVerifyTotp,
|
|
90
90
|
useAddEntity,
|
|
91
|
-
|
|
91
|
+
useChangeOrderPreparationState,
|
|
92
92
|
useCheckPayment,
|
|
93
93
|
useCreateEntity,
|
|
94
94
|
useCreatePosConfig,
|
|
@@ -967,7 +967,7 @@ export {
|
|
|
967
967
|
useAppProvider,
|
|
968
968
|
useButton,
|
|
969
969
|
useCallAction,
|
|
970
|
-
|
|
970
|
+
useChangeOrderPreparationState,
|
|
971
971
|
useChangeStatus,
|
|
972
972
|
useCheckPayment,
|
|
973
973
|
useClickOutside,
|
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { useAddEntity, useButton,
|
|
1
|
+
export { useAddEntity, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCreateEntity, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteEntity, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCurrency, useGetCurrentCompany, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetOrderLine, useGetPinCode, useGetPrintReport, useGetProGressBar, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetUser, useGetView, useGrantAccess, useIsValidToken, useLoadAction, useLoadMessage, useLoginCredential, useLoginSocial, useLogout, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSwitchLocale, useUpdatePassword, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp } from '@fctc/interface-logic/hooks';
|
|
2
2
|
export { ActionResultType, AppProvider, CompanyTuple, ContextProfile, CurrentCompany, RecordMenu, UseMenuReturn, ViewResponse, useAppProvider, useCallAction, useCallActionType, useClickOutside, useCompany, useCompanyType, useConfig, useConfigType, useDebounce, useDetail, useGetAction, useGetRowIds, useGetSpecification, useListData, useListDataType, useMenu, useMenuType, useProfile, useUser, useUserType, useViewV2, useViewV2Type } from './hooks.mjs';
|
|
3
3
|
export * from '@fctc/interface-logic/configs';
|
|
4
4
|
export { CheckIcon, ChevronBottomIcon, CloseIcon, EyeIcon, FilterIcon, GroupByIcon, LoadingIcon, SearchIcon } from './icons.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { useAddEntity, useButton,
|
|
1
|
+
export { useAddEntity, useButton, useChangeOrderPreparationState, useChangeStatus, useCheckPayment, useCreateEntity, useCreatePosConfig, useCreateSession, useDelete, useDeleteComment, useDeleteEntity, useDuplicateRecord, useExecuteImport, useExportExcel, useForgotPassword, useForgotPasswordSSO, useGenSerialNumber, useGeneratePaymentQrInfo, useGet2FAMethods, useGetASession, useGetAccessByCode, useGetActionDetail, useGetAll, useGetCalendar, useGetComment, useGetCompanyInfo, useGetConversionRate, useGetCurrency, useGetCurrentCompany, useGetDetail, useGetExternalTabs, useGetFieldExport, useGetFieldOnChange, useGetFileExcel, useGetFormView, useGetGroups, useGetImage, useGetList, useGetListCompany, useGetListData, useGetListMyBankAccount, useGetMenu, useGetOrderLine, useGetPinCode, useGetPrintReport, useGetProGressBar, useGetProfile, useGetProvider, useGetResequence, useGetSelection, useGetUser, useGetView, useGrantAccess, useIsValidToken, useLoadAction, useLoadMessage, useLoginCredential, useLoginSocial, useLogout, useModel, useOdooDataTransform, useOnChangeForm, useParsePreview, usePrint, useReadGroup, useRemoveRow, useRemoveTotpSetup, useRequestSetupTotp, useResetPassword, useResetPasswordSSO, useRunAction, useSave, useSendComment, useSettingsWebRead2fa, useSignInSSO, useSwitchLocale, useUpdatePassword, useUploadFile, useUploadFileExcel, useUploadIdFile, useUploadImage, useValidateActionToken, useVerify2FA, useVerifyTotp } from '@fctc/interface-logic/hooks';
|
|
2
2
|
export { ActionResultType, AppProvider, CompanyTuple, ContextProfile, CurrentCompany, RecordMenu, UseMenuReturn, ViewResponse, useAppProvider, useCallAction, useCallActionType, useClickOutside, useCompany, useCompanyType, useConfig, useConfigType, useDebounce, useDetail, useGetAction, useGetRowIds, useGetSpecification, useListData, useListDataType, useMenu, useMenuType, useProfile, useUser, useUserType, useViewV2, useViewV2Type } from './hooks.js';
|
|
3
3
|
export * from '@fctc/interface-logic/configs';
|
|
4
4
|
export { CheckIcon, ChevronBottomIcon, CloseIcon, EyeIcon, FilterIcon, GroupByIcon, LoadingIcon, SearchIcon } from './icons.js';
|
package/dist/index.js
CHANGED
|
@@ -4073,7 +4073,7 @@ __export(index_exports, {
|
|
|
4073
4073
|
useAppProvider: () => useAppProvider,
|
|
4074
4074
|
useButton: () => import_hooks2.useButton,
|
|
4075
4075
|
useCallAction: () => useCallAction,
|
|
4076
|
-
|
|
4076
|
+
useChangeOrderPreparationState: () => import_hooks2.useChangeOrderPreparationState,
|
|
4077
4077
|
useChangeStatus: () => import_hooks2.useChangeStatus,
|
|
4078
4078
|
useCheckPayment: () => import_hooks2.useCheckPayment,
|
|
4079
4079
|
useClickOutside: () => useClickOutside,
|
|
@@ -5667,26 +5667,35 @@ var many2manyFieldController = (props) => {
|
|
|
5667
5667
|
const { user } = useAppProvider();
|
|
5668
5668
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
5669
5669
|
const dataUser = user?.userProfile?.data;
|
|
5670
|
-
const contextObject =
|
|
5671
|
-
|
|
5672
|
-
|
|
5673
|
-
|
|
5674
|
-
|
|
5675
|
-
|
|
5676
|
-
|
|
5677
|
-
|
|
5678
|
-
|
|
5679
|
-
|
|
5680
|
-
|
|
5681
|
-
|
|
5682
|
-
|
|
5683
|
-
|
|
5670
|
+
const contextObject = (0, import_react17.useMemo)(
|
|
5671
|
+
() => ({
|
|
5672
|
+
...env.context,
|
|
5673
|
+
...context || {}
|
|
5674
|
+
}),
|
|
5675
|
+
[env?.context, context]
|
|
5676
|
+
);
|
|
5677
|
+
const viewParams = (0, import_react17.useMemo)(
|
|
5678
|
+
() => ({
|
|
5679
|
+
model: relation,
|
|
5680
|
+
views: [
|
|
5681
|
+
[false, "list"],
|
|
5682
|
+
[false, "search"]
|
|
5683
|
+
],
|
|
5684
|
+
context: contextObject,
|
|
5685
|
+
service,
|
|
5686
|
+
xNode: service == "wesap" && dataUser?.x_node
|
|
5687
|
+
}),
|
|
5688
|
+
[relation, contextObject, service, dataUser?.x_node]
|
|
5689
|
+
);
|
|
5684
5690
|
const { data: viewResponse } = useGetView2({
|
|
5685
5691
|
viewParams,
|
|
5686
5692
|
enabled: enabledCallAPI
|
|
5687
5693
|
});
|
|
5688
5694
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5689
|
-
const optionsObject = (
|
|
5695
|
+
const optionsObject = (0, import_react17.useMemo)(
|
|
5696
|
+
() => (options && typeof options === "string" ? (0, import_utils9.evalJSONContext)(options) : options) || {},
|
|
5697
|
+
[options]
|
|
5698
|
+
);
|
|
5690
5699
|
const {
|
|
5691
5700
|
data: dataResponse,
|
|
5692
5701
|
isFetched,
|
|
@@ -5799,7 +5808,6 @@ var many2manyTagsController = (props) => {
|
|
|
5799
5808
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5800
5809
|
const [options, setOptions] = (0, import_react18.useState)([]);
|
|
5801
5810
|
const [inputValue, setInputValue] = (0, import_react18.useState)("");
|
|
5802
|
-
const [debouncedInputValue] = useDebounce(inputValue, 1e3);
|
|
5803
5811
|
const [domainObject, setDomainObject] = (0, import_react18.useState)(null);
|
|
5804
5812
|
const [isShowModalMany2Many, setIsShowModalMany2Many] = (0, import_react18.useState)(false);
|
|
5805
5813
|
const addtionalFields = optionsFields ? (0, import_utils10.evalJSONContext)(optionsFields) : null;
|
|
@@ -7010,7 +7018,7 @@ __reExport(index_exports, types_exports, module.exports);
|
|
|
7010
7018
|
useAppProvider,
|
|
7011
7019
|
useButton,
|
|
7012
7020
|
useCallAction,
|
|
7013
|
-
|
|
7021
|
+
useChangeOrderPreparationState,
|
|
7014
7022
|
useChangeStatus,
|
|
7015
7023
|
useCheckPayment,
|
|
7016
7024
|
useClickOutside,
|
package/dist/index.mjs
CHANGED
|
@@ -4077,7 +4077,7 @@ __export(index_exports, {
|
|
|
4077
4077
|
useAppProvider: () => useAppProvider,
|
|
4078
4078
|
useButton: () => useButton,
|
|
4079
4079
|
useCallAction: () => useCallAction,
|
|
4080
|
-
|
|
4080
|
+
useChangeOrderPreparationState: () => useChangeOrderPreparationState,
|
|
4081
4081
|
useChangeStatus: () => useChangeStatus,
|
|
4082
4082
|
useCheckPayment: () => useCheckPayment,
|
|
4083
4083
|
useClickOutside: () => useClickOutside,
|
|
@@ -4247,7 +4247,7 @@ import {
|
|
|
4247
4247
|
useVerify2FA,
|
|
4248
4248
|
useVerifyTotp,
|
|
4249
4249
|
useAddEntity,
|
|
4250
|
-
|
|
4250
|
+
useChangeOrderPreparationState,
|
|
4251
4251
|
useCheckPayment,
|
|
4252
4252
|
useCreateEntity,
|
|
4253
4253
|
useCreatePosConfig,
|
|
@@ -5747,7 +5747,7 @@ var many2oneButtonController = (props) => {
|
|
|
5747
5747
|
};
|
|
5748
5748
|
|
|
5749
5749
|
// src/widget/basic/many2many-field/controller.ts
|
|
5750
|
-
import { useEffect as useEffect11 } from "react";
|
|
5750
|
+
import { useEffect as useEffect11, useMemo as useMemo8 } from "react";
|
|
5751
5751
|
import { evalJSONContext as evalJSONContext4 } from "@fctc/interface-logic/utils";
|
|
5752
5752
|
var many2manyFieldController = (props) => {
|
|
5753
5753
|
const {
|
|
@@ -5762,26 +5762,35 @@ var many2manyFieldController = (props) => {
|
|
|
5762
5762
|
const { user } = useAppProvider();
|
|
5763
5763
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
5764
5764
|
const dataUser = user?.userProfile?.data;
|
|
5765
|
-
const contextObject =
|
|
5766
|
-
|
|
5767
|
-
|
|
5768
|
-
|
|
5769
|
-
|
|
5770
|
-
|
|
5771
|
-
|
|
5772
|
-
|
|
5773
|
-
|
|
5774
|
-
|
|
5775
|
-
|
|
5776
|
-
|
|
5777
|
-
|
|
5778
|
-
|
|
5765
|
+
const contextObject = useMemo8(
|
|
5766
|
+
() => ({
|
|
5767
|
+
...env.context,
|
|
5768
|
+
...context || {}
|
|
5769
|
+
}),
|
|
5770
|
+
[env?.context, context]
|
|
5771
|
+
);
|
|
5772
|
+
const viewParams = useMemo8(
|
|
5773
|
+
() => ({
|
|
5774
|
+
model: relation,
|
|
5775
|
+
views: [
|
|
5776
|
+
[false, "list"],
|
|
5777
|
+
[false, "search"]
|
|
5778
|
+
],
|
|
5779
|
+
context: contextObject,
|
|
5780
|
+
service,
|
|
5781
|
+
xNode: service == "wesap" && dataUser?.x_node
|
|
5782
|
+
}),
|
|
5783
|
+
[relation, contextObject, service, dataUser?.x_node]
|
|
5784
|
+
);
|
|
5779
5785
|
const { data: viewResponse } = useGetView2({
|
|
5780
5786
|
viewParams,
|
|
5781
5787
|
enabled: enabledCallAPI
|
|
5782
5788
|
});
|
|
5783
5789
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
5784
|
-
const optionsObject = (
|
|
5790
|
+
const optionsObject = useMemo8(
|
|
5791
|
+
() => (options && typeof options === "string" ? evalJSONContext4(options) : options) || {},
|
|
5792
|
+
[options]
|
|
5793
|
+
);
|
|
5785
5794
|
const {
|
|
5786
5795
|
data: dataResponse,
|
|
5787
5796
|
isFetched,
|
|
@@ -5871,7 +5880,7 @@ var many2manyFieldController = (props) => {
|
|
|
5871
5880
|
};
|
|
5872
5881
|
|
|
5873
5882
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5874
|
-
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as
|
|
5883
|
+
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo9, useState as useState8 } from "react";
|
|
5875
5884
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5876
5885
|
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
|
|
5877
5886
|
var many2manyTagsController = (props) => {
|
|
@@ -5894,7 +5903,6 @@ var many2manyTagsController = (props) => {
|
|
|
5894
5903
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5895
5904
|
const [options, setOptions] = useState8([]);
|
|
5896
5905
|
const [inputValue, setInputValue] = useState8("");
|
|
5897
|
-
const [debouncedInputValue] = useDebounce(inputValue, 1e3);
|
|
5898
5906
|
const [domainObject, setDomainObject] = useState8(null);
|
|
5899
5907
|
const [isShowModalMany2Many, setIsShowModalMany2Many] = useState8(false);
|
|
5900
5908
|
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
@@ -5903,7 +5911,7 @@ var many2manyTagsController = (props) => {
|
|
|
5903
5911
|
...fieldContext ?? {},
|
|
5904
5912
|
...env?.context
|
|
5905
5913
|
};
|
|
5906
|
-
const parsedFormValues =
|
|
5914
|
+
const parsedFormValues = useMemo9(
|
|
5907
5915
|
() => JSON.parse(
|
|
5908
5916
|
JSON.stringify({
|
|
5909
5917
|
...formValues,
|
|
@@ -5944,7 +5952,7 @@ var many2manyTagsController = (props) => {
|
|
|
5944
5952
|
xNode,
|
|
5945
5953
|
enabled: false
|
|
5946
5954
|
});
|
|
5947
|
-
const selectOptions =
|
|
5955
|
+
const selectOptions = useMemo9(() => {
|
|
5948
5956
|
return dataOfSelection?.records?.map((val) => ({
|
|
5949
5957
|
value: val.id,
|
|
5950
5958
|
label: val.name ?? val.display_name,
|
|
@@ -6430,7 +6438,7 @@ var binaryFieldController = (props) => {
|
|
|
6430
6438
|
};
|
|
6431
6439
|
|
|
6432
6440
|
// src/widget/advance/table/table-head/controller.ts
|
|
6433
|
-
import { useMemo as
|
|
6441
|
+
import { useMemo as useMemo10, useRef as useRef4 } from "react";
|
|
6434
6442
|
var tableHeadController = (props) => {
|
|
6435
6443
|
const {
|
|
6436
6444
|
typeTable,
|
|
@@ -6443,19 +6451,19 @@ var tableHeadController = (props) => {
|
|
|
6443
6451
|
const { rowIds: recordIds } = useGetRowIds(tableRef);
|
|
6444
6452
|
const selectedRowKeysRef = useRef4(recordIds);
|
|
6445
6453
|
const isGroupTable = typeTable === "group";
|
|
6446
|
-
const recordsCheckedGroup =
|
|
6454
|
+
const recordsCheckedGroup = useMemo10(() => {
|
|
6447
6455
|
if (!rows || !groupByList) return 0;
|
|
6448
6456
|
const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
|
|
6449
6457
|
return countSum(rows, groupBy);
|
|
6450
6458
|
}, [rows, groupByList]);
|
|
6451
|
-
const isAllGroupChecked =
|
|
6459
|
+
const isAllGroupChecked = useMemo10(() => {
|
|
6452
6460
|
if (!isGroupTable || !selectedRowKeys?.length) return false;
|
|
6453
6461
|
const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
|
|
6454
6462
|
const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
|
|
6455
6463
|
const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
|
|
6456
6464
|
return allGroupsSelected || allRecordsSelected;
|
|
6457
6465
|
}, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
|
|
6458
|
-
const isAllNormalChecked =
|
|
6466
|
+
const isAllNormalChecked = useMemo10(() => {
|
|
6459
6467
|
if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
|
|
6460
6468
|
return selectedRowKeys.length === rows.length && selectedRowKeys.every(
|
|
6461
6469
|
(id) => rows.some((record) => record.id === id)
|
|
@@ -6496,19 +6504,19 @@ var tableHeadController = (props) => {
|
|
|
6496
6504
|
};
|
|
6497
6505
|
|
|
6498
6506
|
// src/widget/advance/table/table-view/controller.ts
|
|
6499
|
-
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as
|
|
6507
|
+
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
|
|
6500
6508
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
6501
6509
|
var tableController = ({ data }) => {
|
|
6502
6510
|
const [rows, setRows] = useState13([]);
|
|
6503
6511
|
const [columnVisibility, setColumnVisibility] = useState13({});
|
|
6504
|
-
const dataModelFields =
|
|
6512
|
+
const dataModelFields = useMemo11(() => {
|
|
6505
6513
|
return data?.fields?.map((field) => ({
|
|
6506
6514
|
...data.dataModel?.[field?.name],
|
|
6507
6515
|
...field,
|
|
6508
6516
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
6509
6517
|
})) ?? [];
|
|
6510
6518
|
}, [data?.fields, data?.dataModel]);
|
|
6511
|
-
const mergeFields =
|
|
6519
|
+
const mergeFields = useMemo11(
|
|
6512
6520
|
() => mergeButtons(dataModelFields),
|
|
6513
6521
|
[dataModelFields]
|
|
6514
6522
|
);
|
|
@@ -6537,7 +6545,7 @@ var tableController = ({ data }) => {
|
|
|
6537
6545
|
useEffect14(() => {
|
|
6538
6546
|
setRows(transformData(data?.records));
|
|
6539
6547
|
}, [data?.records, transformData]);
|
|
6540
|
-
const columns =
|
|
6548
|
+
const columns = useMemo11(() => {
|
|
6541
6549
|
try {
|
|
6542
6550
|
return mergeFields?.filter((item) => {
|
|
6543
6551
|
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
|
|
@@ -6573,7 +6581,7 @@ var tableController = ({ data }) => {
|
|
|
6573
6581
|
};
|
|
6574
6582
|
|
|
6575
6583
|
// src/widget/advance/table/table-group/controller.ts
|
|
6576
|
-
import { useEffect as useEffect15, useMemo as
|
|
6584
|
+
import { useEffect as useEffect15, useMemo as useMemo12, useState as useState14 } from "react";
|
|
6577
6585
|
import { useAppSelector, selectList } from "@fctc/interface-logic/store";
|
|
6578
6586
|
var tableGroupController = (props) => {
|
|
6579
6587
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -6598,7 +6606,7 @@ var tableGroupController = (props) => {
|
|
|
6598
6606
|
fromEnd: 1
|
|
6599
6607
|
});
|
|
6600
6608
|
const domain = row?.__domain;
|
|
6601
|
-
const processedData =
|
|
6609
|
+
const processedData = useMemo12(() => {
|
|
6602
6610
|
const calculateColSpanEmpty = () => {
|
|
6603
6611
|
const startIndex = columns.findIndex(
|
|
6604
6612
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -6613,7 +6621,7 @@ var tableGroupController = (props) => {
|
|
|
6613
6621
|
};
|
|
6614
6622
|
return calculateColSpanEmpty();
|
|
6615
6623
|
}, [columns, row]);
|
|
6616
|
-
const shouldFetchData =
|
|
6624
|
+
const shouldFetchData = useMemo12(() => {
|
|
6617
6625
|
return !!isShowGroup;
|
|
6618
6626
|
}, [isShowGroup]);
|
|
6619
6627
|
const enabled = shouldFetchData && !!processedData;
|
|
@@ -7109,7 +7117,7 @@ export {
|
|
|
7109
7117
|
useAppProvider,
|
|
7110
7118
|
useButton,
|
|
7111
7119
|
useCallAction,
|
|
7112
|
-
|
|
7120
|
+
useChangeOrderPreparationState,
|
|
7113
7121
|
useChangeStatus,
|
|
7114
7122
|
useCheckPayment,
|
|
7115
7123
|
useClickOutside,
|
package/dist/widget.js
CHANGED
|
@@ -4905,26 +4905,35 @@ var many2manyFieldController = (props) => {
|
|
|
4905
4905
|
const { user } = useAppProvider();
|
|
4906
4906
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
4907
4907
|
const dataUser = user?.userProfile?.data;
|
|
4908
|
-
const contextObject =
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4908
|
+
const contextObject = (0, import_react17.useMemo)(
|
|
4909
|
+
() => ({
|
|
4910
|
+
...env.context,
|
|
4911
|
+
...context || {}
|
|
4912
|
+
}),
|
|
4913
|
+
[env?.context, context]
|
|
4914
|
+
);
|
|
4915
|
+
const viewParams = (0, import_react17.useMemo)(
|
|
4916
|
+
() => ({
|
|
4917
|
+
model: relation,
|
|
4918
|
+
views: [
|
|
4919
|
+
[false, "list"],
|
|
4920
|
+
[false, "search"]
|
|
4921
|
+
],
|
|
4922
|
+
context: contextObject,
|
|
4923
|
+
service,
|
|
4924
|
+
xNode: service == "wesap" && dataUser?.x_node
|
|
4925
|
+
}),
|
|
4926
|
+
[relation, contextObject, service, dataUser?.x_node]
|
|
4927
|
+
);
|
|
4922
4928
|
const { data: viewResponse } = useGetView2({
|
|
4923
4929
|
viewParams,
|
|
4924
4930
|
enabled: enabledCallAPI
|
|
4925
4931
|
});
|
|
4926
4932
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
4927
|
-
const optionsObject = (
|
|
4933
|
+
const optionsObject = (0, import_react17.useMemo)(
|
|
4934
|
+
() => (options && typeof options === "string" ? (0, import_utils9.evalJSONContext)(options) : options) || {},
|
|
4935
|
+
[options]
|
|
4936
|
+
);
|
|
4928
4937
|
const {
|
|
4929
4938
|
data: dataResponse,
|
|
4930
4939
|
isFetched,
|
|
@@ -5037,7 +5046,6 @@ var many2manyTagsController = (props) => {
|
|
|
5037
5046
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5038
5047
|
const [options, setOptions] = (0, import_react18.useState)([]);
|
|
5039
5048
|
const [inputValue, setInputValue] = (0, import_react18.useState)("");
|
|
5040
|
-
const [debouncedInputValue] = useDebounce(inputValue, 1e3);
|
|
5041
5049
|
const [domainObject, setDomainObject] = (0, import_react18.useState)(null);
|
|
5042
5050
|
const [isShowModalMany2Many, setIsShowModalMany2Many] = (0, import_react18.useState)(false);
|
|
5043
5051
|
const addtionalFields = optionsFields ? (0, import_utils10.evalJSONContext)(optionsFields) : null;
|
package/dist/widget.mjs
CHANGED
|
@@ -4165,7 +4165,7 @@ import {
|
|
|
4165
4165
|
useVerify2FA,
|
|
4166
4166
|
useVerifyTotp,
|
|
4167
4167
|
useAddEntity,
|
|
4168
|
-
|
|
4168
|
+
useChangeOrderPreparationState,
|
|
4169
4169
|
useCheckPayment,
|
|
4170
4170
|
useCreateEntity,
|
|
4171
4171
|
useCreatePosConfig,
|
|
@@ -4962,7 +4962,7 @@ var many2oneButtonController = (props) => {
|
|
|
4962
4962
|
};
|
|
4963
4963
|
|
|
4964
4964
|
// src/widget/basic/many2many-field/controller.ts
|
|
4965
|
-
import { useEffect as useEffect11 } from "react";
|
|
4965
|
+
import { useEffect as useEffect11, useMemo as useMemo8 } from "react";
|
|
4966
4966
|
import { evalJSONContext as evalJSONContext4 } from "@fctc/interface-logic/utils";
|
|
4967
4967
|
var many2manyFieldController = (props) => {
|
|
4968
4968
|
const {
|
|
@@ -4977,26 +4977,35 @@ var many2manyFieldController = (props) => {
|
|
|
4977
4977
|
const { user } = useAppProvider();
|
|
4978
4978
|
const { useGetView: useGetView2 } = (0, provider_exports.useService)();
|
|
4979
4979
|
const dataUser = user?.userProfile?.data;
|
|
4980
|
-
const contextObject =
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4980
|
+
const contextObject = useMemo8(
|
|
4981
|
+
() => ({
|
|
4982
|
+
...env.context,
|
|
4983
|
+
...context || {}
|
|
4984
|
+
}),
|
|
4985
|
+
[env?.context, context]
|
|
4986
|
+
);
|
|
4987
|
+
const viewParams = useMemo8(
|
|
4988
|
+
() => ({
|
|
4989
|
+
model: relation,
|
|
4990
|
+
views: [
|
|
4991
|
+
[false, "list"],
|
|
4992
|
+
[false, "search"]
|
|
4993
|
+
],
|
|
4994
|
+
context: contextObject,
|
|
4995
|
+
service,
|
|
4996
|
+
xNode: service == "wesap" && dataUser?.x_node
|
|
4997
|
+
}),
|
|
4998
|
+
[relation, contextObject, service, dataUser?.x_node]
|
|
4999
|
+
);
|
|
4994
5000
|
const { data: viewResponse } = useGetView2({
|
|
4995
5001
|
viewParams,
|
|
4996
5002
|
enabled: enabledCallAPI
|
|
4997
5003
|
});
|
|
4998
5004
|
const default_order = viewResponse && viewResponse?.views?.list?.default_order;
|
|
4999
|
-
const optionsObject = (
|
|
5005
|
+
const optionsObject = useMemo8(
|
|
5006
|
+
() => (options && typeof options === "string" ? evalJSONContext4(options) : options) || {},
|
|
5007
|
+
[options]
|
|
5008
|
+
);
|
|
5000
5009
|
const {
|
|
5001
5010
|
data: dataResponse,
|
|
5002
5011
|
isFetched,
|
|
@@ -5086,7 +5095,7 @@ var many2manyFieldController = (props) => {
|
|
|
5086
5095
|
};
|
|
5087
5096
|
|
|
5088
5097
|
// src/widget/basic/many2many-tags-field/controller.ts
|
|
5089
|
-
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as
|
|
5098
|
+
import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo9, useState as useState8 } from "react";
|
|
5090
5099
|
import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
|
|
5091
5100
|
import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
|
|
5092
5101
|
var many2manyTagsController = (props) => {
|
|
@@ -5109,7 +5118,6 @@ var many2manyTagsController = (props) => {
|
|
|
5109
5118
|
const { useGetSelection: useGetSelection3 } = (0, provider_exports.useService)();
|
|
5110
5119
|
const [options, setOptions] = useState8([]);
|
|
5111
5120
|
const [inputValue, setInputValue] = useState8("");
|
|
5112
|
-
const [debouncedInputValue] = useDebounce(inputValue, 1e3);
|
|
5113
5121
|
const [domainObject, setDomainObject] = useState8(null);
|
|
5114
5122
|
const [isShowModalMany2Many, setIsShowModalMany2Many] = useState8(false);
|
|
5115
5123
|
const addtionalFields = optionsFields ? evalJSONContext5(optionsFields) : null;
|
|
@@ -5118,7 +5126,7 @@ var many2manyTagsController = (props) => {
|
|
|
5118
5126
|
...fieldContext ?? {},
|
|
5119
5127
|
...env?.context
|
|
5120
5128
|
};
|
|
5121
|
-
const parsedFormValues =
|
|
5129
|
+
const parsedFormValues = useMemo9(
|
|
5122
5130
|
() => JSON.parse(
|
|
5123
5131
|
JSON.stringify({
|
|
5124
5132
|
...formValues,
|
|
@@ -5159,7 +5167,7 @@ var many2manyTagsController = (props) => {
|
|
|
5159
5167
|
xNode,
|
|
5160
5168
|
enabled: false
|
|
5161
5169
|
});
|
|
5162
|
-
const selectOptions =
|
|
5170
|
+
const selectOptions = useMemo9(() => {
|
|
5163
5171
|
return dataOfSelection?.records?.map((val) => ({
|
|
5164
5172
|
value: val.id,
|
|
5165
5173
|
label: val.name ?? val.display_name,
|
|
@@ -5645,7 +5653,7 @@ var binaryFieldController = (props) => {
|
|
|
5645
5653
|
};
|
|
5646
5654
|
|
|
5647
5655
|
// src/widget/advance/table/table-head/controller.ts
|
|
5648
|
-
import { useMemo as
|
|
5656
|
+
import { useMemo as useMemo10, useRef as useRef4 } from "react";
|
|
5649
5657
|
var tableHeadController = (props) => {
|
|
5650
5658
|
const {
|
|
5651
5659
|
typeTable,
|
|
@@ -5658,19 +5666,19 @@ var tableHeadController = (props) => {
|
|
|
5658
5666
|
const { rowIds: recordIds } = useGetRowIds(tableRef);
|
|
5659
5667
|
const selectedRowKeysRef = useRef4(recordIds);
|
|
5660
5668
|
const isGroupTable = typeTable === "group";
|
|
5661
|
-
const recordsCheckedGroup =
|
|
5669
|
+
const recordsCheckedGroup = useMemo10(() => {
|
|
5662
5670
|
if (!rows || !groupByList) return 0;
|
|
5663
5671
|
const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
|
|
5664
5672
|
return countSum(rows, groupBy);
|
|
5665
5673
|
}, [rows, groupByList]);
|
|
5666
|
-
const isAllGroupChecked =
|
|
5674
|
+
const isAllGroupChecked = useMemo10(() => {
|
|
5667
5675
|
if (!isGroupTable || !selectedRowKeys?.length) return false;
|
|
5668
5676
|
const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
|
|
5669
5677
|
const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
|
|
5670
5678
|
const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
|
|
5671
5679
|
return allGroupsSelected || allRecordsSelected;
|
|
5672
5680
|
}, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
|
|
5673
|
-
const isAllNormalChecked =
|
|
5681
|
+
const isAllNormalChecked = useMemo10(() => {
|
|
5674
5682
|
if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
|
|
5675
5683
|
return selectedRowKeys.length === rows.length && selectedRowKeys.every(
|
|
5676
5684
|
(id) => rows.some((record) => record.id === id)
|
|
@@ -5711,19 +5719,19 @@ var tableHeadController = (props) => {
|
|
|
5711
5719
|
};
|
|
5712
5720
|
|
|
5713
5721
|
// src/widget/advance/table/table-view/controller.ts
|
|
5714
|
-
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as
|
|
5722
|
+
import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
|
|
5715
5723
|
import { domainHelper } from "@fctc/interface-logic/utils";
|
|
5716
5724
|
var tableController = ({ data }) => {
|
|
5717
5725
|
const [rows, setRows] = useState13([]);
|
|
5718
5726
|
const [columnVisibility, setColumnVisibility] = useState13({});
|
|
5719
|
-
const dataModelFields =
|
|
5727
|
+
const dataModelFields = useMemo11(() => {
|
|
5720
5728
|
return data?.fields?.map((field) => ({
|
|
5721
5729
|
...data.dataModel?.[field?.name],
|
|
5722
5730
|
...field,
|
|
5723
5731
|
string: field?.string || data.dataModel?.[field?.name]?.string
|
|
5724
5732
|
})) ?? [];
|
|
5725
5733
|
}, [data?.fields, data?.dataModel]);
|
|
5726
|
-
const mergeFields =
|
|
5734
|
+
const mergeFields = useMemo11(
|
|
5727
5735
|
() => mergeButtons(dataModelFields),
|
|
5728
5736
|
[dataModelFields]
|
|
5729
5737
|
);
|
|
@@ -5752,7 +5760,7 @@ var tableController = ({ data }) => {
|
|
|
5752
5760
|
useEffect14(() => {
|
|
5753
5761
|
setRows(transformData(data?.records));
|
|
5754
5762
|
}, [data?.records, transformData]);
|
|
5755
|
-
const columns =
|
|
5763
|
+
const columns = useMemo11(() => {
|
|
5756
5764
|
try {
|
|
5757
5765
|
return mergeFields?.filter((item) => {
|
|
5758
5766
|
return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
|
|
@@ -5788,7 +5796,7 @@ var tableController = ({ data }) => {
|
|
|
5788
5796
|
};
|
|
5789
5797
|
|
|
5790
5798
|
// src/widget/advance/table/table-group/controller.ts
|
|
5791
|
-
import { useEffect as useEffect15, useMemo as
|
|
5799
|
+
import { useEffect as useEffect15, useMemo as useMemo12, useState as useState14 } from "react";
|
|
5792
5800
|
import { useAppSelector, selectList } from "@fctc/interface-logic/store";
|
|
5793
5801
|
var tableGroupController = (props) => {
|
|
5794
5802
|
const { env } = (0, provider_exports.useEnv)();
|
|
@@ -5813,7 +5821,7 @@ var tableGroupController = (props) => {
|
|
|
5813
5821
|
fromEnd: 1
|
|
5814
5822
|
});
|
|
5815
5823
|
const domain = row?.__domain;
|
|
5816
|
-
const processedData =
|
|
5824
|
+
const processedData = useMemo12(() => {
|
|
5817
5825
|
const calculateColSpanEmpty = () => {
|
|
5818
5826
|
const startIndex = columns.findIndex(
|
|
5819
5827
|
(col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
|
|
@@ -5828,7 +5836,7 @@ var tableGroupController = (props) => {
|
|
|
5828
5836
|
};
|
|
5829
5837
|
return calculateColSpanEmpty();
|
|
5830
5838
|
}, [columns, row]);
|
|
5831
|
-
const shouldFetchData =
|
|
5839
|
+
const shouldFetchData = useMemo12(() => {
|
|
5832
5840
|
return !!isShowGroup;
|
|
5833
5841
|
}, [isShowGroup]);
|
|
5834
5842
|
const enabled = shouldFetchData && !!processedData;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fctc/widget-logic",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.10.0",
|
|
4
4
|
"types": "dist/index.d.ts",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"test": "jest"
|
|
75
75
|
},
|
|
76
76
|
"dependencies": {
|
|
77
|
-
"@fctc/interface-logic": "^4.2.
|
|
77
|
+
"@fctc/interface-logic": "^4.2.7",
|
|
78
78
|
"@tanstack/react-query": "^5.84.0",
|
|
79
79
|
"i18next": "^25.3.2",
|
|
80
80
|
"i18next-browser-languagedetector": "^8.2.0",
|