@fctc/widget-logic 4.8.7 → 4.8.8

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 CHANGED
@@ -389,21 +389,6 @@ var useMenu = ({
389
389
  defaultService
390
390
  );
391
391
  const [menuId, setMenuId] = (0, import_react3.useState)(void 0);
392
- const configedIconData = (0, import_react3.useMemo)(() => {
393
- const data = menuData.data;
394
- return data?.map((item) => {
395
- return {
396
- ...item,
397
- child_id: item?.child_id?.map((child) => {
398
- return {
399
- ...child,
400
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + child.url_icon
401
- };
402
- }) ?? [],
403
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + item.url_icon
404
- };
405
- });
406
- }, [menuData.data, env?.envFile?.VITE_APP_DOMAIN]);
407
392
  const handleChangeMenu = async ({
408
393
  menu,
409
394
  service: service2,
@@ -430,7 +415,7 @@ var useMenu = ({
430
415
  ...menuData,
431
416
  service,
432
417
  xNode,
433
- data: configedIconData,
418
+ data: menuData?.data,
434
419
  action: { handleChangeMenu },
435
420
  state: { menuId, action },
436
421
  context,
package/dist/hooks.mjs CHANGED
@@ -105,10 +105,10 @@ 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 useMemo5 } from "react";
108
+ import { createContext, useContext, useMemo as useMemo4 } from "react";
109
109
 
110
110
  // src/hooks/core/use-menu.ts
111
- import { useMemo, useState as useState2 } from "react";
111
+ import { useState as useState2 } from "react";
112
112
 
113
113
  // src/hooks/core/use-call-action.ts
114
114
  import { useCallback, useState } from "react";
@@ -370,21 +370,6 @@ var useMenu = ({
370
370
  defaultService
371
371
  );
372
372
  const [menuId, setMenuId] = useState2(void 0);
373
- const configedIconData = useMemo(() => {
374
- const data = menuData.data;
375
- return data?.map((item) => {
376
- return {
377
- ...item,
378
- child_id: item?.child_id?.map((child) => {
379
- return {
380
- ...child,
381
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + child.url_icon
382
- };
383
- }) ?? [],
384
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + item.url_icon
385
- };
386
- });
387
- }, [menuData.data, env?.envFile?.VITE_APP_DOMAIN]);
388
373
  const handleChangeMenu = async ({
389
374
  menu,
390
375
  service: service2,
@@ -411,7 +396,7 @@ var useMenu = ({
411
396
  ...menuData,
412
397
  service,
413
398
  xNode,
414
- data: configedIconData,
399
+ data: menuData?.data,
415
400
  action: { handleChangeMenu },
416
401
  state: { menuId, action },
417
402
  context,
@@ -452,7 +437,7 @@ var useDetail = (sub) => {
452
437
 
453
438
  // src/hooks/core/use-profile.ts
454
439
  import { useQuery as useQuery2 } from "@tanstack/react-query";
455
- import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
440
+ import { useEffect as useEffect3, useMemo } from "react";
456
441
  import { useTranslation } from "react-i18next";
457
442
  var useProfile = ({ service }) => {
458
443
  const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
@@ -475,7 +460,7 @@ var useProfile = ({ service }) => {
475
460
  i18n.changeLanguage(userLocale?.id.split("_")[0]);
476
461
  }
477
462
  }, [userInfoQuery.isFetched]);
478
- const context = useMemo2(() => {
463
+ const context = useMemo(() => {
479
464
  if (userInfoQuery.data?.sub && userInfoQuery.data?.locale) {
480
465
  return {
481
466
  uid: Number(userInfoQuery.data.sub),
@@ -499,7 +484,7 @@ var useUser = ({ service }) => {
499
484
  };
500
485
 
501
486
  // src/hooks/core/use-view-v2.ts
502
- import { useMemo as useMemo3 } from "react";
487
+ import { useMemo as useMemo2 } from "react";
503
488
  var useViewV2 = ({
504
489
  action,
505
490
  context,
@@ -508,7 +493,7 @@ var useViewV2 = ({
508
493
  xNode
509
494
  }) => {
510
495
  const { useGetView: useGetView2 } = (0, provider_exports.useService)();
511
- const viewParams = useMemo3(() => {
496
+ const viewParams = useMemo2(() => {
512
497
  if (!action || !action?.res_model) {
513
498
  return void 0;
514
499
  }
@@ -543,7 +528,7 @@ var useViewV2 = ({
543
528
 
544
529
  // src/hooks/core/use-company.ts
545
530
  import { useQuery as useQuery3 } from "@tanstack/react-query";
546
- import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
531
+ import { useEffect as useEffect4, useMemo as useMemo3 } from "react";
547
532
  var useCompany = ({ service }) => {
548
533
  const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
549
534
  const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
@@ -558,7 +543,7 @@ var useCompany = ({ service }) => {
558
543
  queryFn: fetchCurrentCompany,
559
544
  enabled: !!env?.defaultCompany
560
545
  });
561
- const current_company_id = useMemo4(() => {
546
+ const current_company_id = useMemo3(() => {
562
547
  return currentCompany.data?.current_company_id;
563
548
  }, [currentCompany.data]);
564
549
  useEffect4(() => {
@@ -609,7 +594,7 @@ var AppProvider = ({
609
594
  const { env } = (0, provider_exports.useEnv)();
610
595
  const user = useUser({ service: env.default_service });
611
596
  const company = useCompany({ service: env.default_service });
612
- const menuContext = useMemo5(() => {
597
+ const menuContext = useMemo4(() => {
613
598
  return combineContexts([
614
599
  {
615
600
  ...user?.context,
@@ -626,10 +611,10 @@ var AppProvider = ({
626
611
  domain: menuParams?.domain,
627
612
  defaultService: env.default_service
628
613
  });
629
- const action = useMemo5(() => {
614
+ const action = useMemo4(() => {
630
615
  return menu?.state?.action;
631
616
  }, [menu?.state?.action, env?.context?.lang]);
632
- const viewContext = useMemo5(() => {
617
+ const viewContext = useMemo4(() => {
633
618
  return combineContexts([
634
619
  menuContext,
635
620
  { ...(0, utils_exports.evalJSONContext)(action?.context) }
@@ -733,7 +718,7 @@ var useGetAction = ({
733
718
  };
734
719
 
735
720
  // src/hooks/core/use-get-specification.ts
736
- import { useMemo as useMemo6 } from "react";
721
+ import { useMemo as useMemo5 } from "react";
737
722
  var useGetSpecification = ({
738
723
  model,
739
724
  viewData,
@@ -745,13 +730,13 @@ var useGetSpecification = ({
745
730
  fields
746
731
  };
747
732
  const initModel = useModel();
748
- const modelInstance = useMemo6(() => {
733
+ const modelInstance = useMemo5(() => {
749
734
  if (viewData) {
750
735
  return initModel.initModel(baseModel);
751
736
  }
752
737
  return null;
753
738
  }, [baseModel, viewData, model]);
754
- const specification = useMemo6(() => {
739
+ const specification = useMemo5(() => {
755
740
  if (modelInstance) {
756
741
  return modelInstance.getSpecification();
757
742
  }
@@ -761,7 +746,7 @@ var useGetSpecification = ({
761
746
  };
762
747
 
763
748
  // src/hooks/core/use-list-data.ts
764
- import { useMemo as useMemo7, useState as useState5 } from "react";
749
+ import { useMemo as useMemo6, useState as useState5 } from "react";
765
750
  import {
766
751
  evalJSONDomain,
767
752
  formatSortingString,
@@ -905,7 +890,7 @@ var useListData = ({
905
890
  viewData,
906
891
  fields: mode === "kanban" ? viewData?.views?.kanban?.fields : viewData?.views?.list?.fields
907
892
  });
908
- const listDataProps = useMemo7(() => {
893
+ const listDataProps = useMemo6(() => {
909
894
  if (!viewData || !action || !context) {
910
895
  return null;
911
896
  }
package/dist/index.js CHANGED
@@ -4439,21 +4439,6 @@ var useMenu = ({
4439
4439
  defaultService
4440
4440
  );
4441
4441
  const [menuId, setMenuId] = (0, import_react3.useState)(void 0);
4442
- const configedIconData = (0, import_react3.useMemo)(() => {
4443
- const data = menuData.data;
4444
- return data?.map((item) => {
4445
- return {
4446
- ...item,
4447
- child_id: item?.child_id?.map((child) => {
4448
- return {
4449
- ...child,
4450
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + child.url_icon
4451
- };
4452
- }) ?? [],
4453
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + item.url_icon
4454
- };
4455
- });
4456
- }, [menuData.data, env?.envFile?.VITE_APP_DOMAIN]);
4457
4442
  const handleChangeMenu = async ({
4458
4443
  menu,
4459
4444
  service: service2,
@@ -4480,7 +4465,7 @@ var useMenu = ({
4480
4465
  ...menuData,
4481
4466
  service,
4482
4467
  xNode,
4483
- data: configedIconData,
4468
+ data: menuData?.data,
4484
4469
  action: { handleChangeMenu },
4485
4470
  state: { menuId, action },
4486
4471
  context,
package/dist/index.mjs CHANGED
@@ -4264,10 +4264,10 @@ 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 useMemo5 } from "react";
4267
+ import { createContext, useContext, useMemo as useMemo4 } from "react";
4268
4268
 
4269
4269
  // src/hooks/core/use-menu.ts
4270
- import { useMemo, useState as useState2 } from "react";
4270
+ import { useState as useState2 } from "react";
4271
4271
 
4272
4272
  // src/hooks/core/use-call-action.ts
4273
4273
  import { useCallback, useState } from "react";
@@ -4529,21 +4529,6 @@ var useMenu = ({
4529
4529
  defaultService
4530
4530
  );
4531
4531
  const [menuId, setMenuId] = useState2(void 0);
4532
- const configedIconData = useMemo(() => {
4533
- const data = menuData.data;
4534
- return data?.map((item) => {
4535
- return {
4536
- ...item,
4537
- child_id: item?.child_id?.map((child) => {
4538
- return {
4539
- ...child,
4540
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + child.url_icon
4541
- };
4542
- }) ?? [],
4543
- url_icon: env?.envFile?.VITE_APP_DOMAIN + "/" + item.url_icon
4544
- };
4545
- });
4546
- }, [menuData.data, env?.envFile?.VITE_APP_DOMAIN]);
4547
4532
  const handleChangeMenu = async ({
4548
4533
  menu,
4549
4534
  service: service2,
@@ -4570,7 +4555,7 @@ var useMenu = ({
4570
4555
  ...menuData,
4571
4556
  service,
4572
4557
  xNode,
4573
- data: configedIconData,
4558
+ data: menuData?.data,
4574
4559
  action: { handleChangeMenu },
4575
4560
  state: { menuId, action },
4576
4561
  context,
@@ -4611,7 +4596,7 @@ var useDetail = (sub) => {
4611
4596
 
4612
4597
  // src/hooks/core/use-profile.ts
4613
4598
  import { useQuery as useQuery2 } from "@tanstack/react-query";
4614
- import { useEffect as useEffect3, useMemo as useMemo2 } from "react";
4599
+ import { useEffect as useEffect3, useMemo } from "react";
4615
4600
  import { useTranslation } from "react-i18next";
4616
4601
  var useProfile = ({ service }) => {
4617
4602
  const { setUid, setLang, setUserInfo, env } = (0, provider_exports.useEnv)();
@@ -4634,7 +4619,7 @@ var useProfile = ({ service }) => {
4634
4619
  i18n2.changeLanguage(userLocale?.id.split("_")[0]);
4635
4620
  }
4636
4621
  }, [userInfoQuery.isFetched]);
4637
- const context = useMemo2(() => {
4622
+ const context = useMemo(() => {
4638
4623
  if (userInfoQuery.data?.sub && userInfoQuery.data?.locale) {
4639
4624
  return {
4640
4625
  uid: Number(userInfoQuery.data.sub),
@@ -4658,7 +4643,7 @@ var useUser = ({ service }) => {
4658
4643
  };
4659
4644
 
4660
4645
  // src/hooks/core/use-view-v2.ts
4661
- import { useMemo as useMemo3 } from "react";
4646
+ import { useMemo as useMemo2 } from "react";
4662
4647
  var useViewV2 = ({
4663
4648
  action,
4664
4649
  context,
@@ -4667,7 +4652,7 @@ var useViewV2 = ({
4667
4652
  xNode
4668
4653
  }) => {
4669
4654
  const { useGetView: useGetView2 } = (0, provider_exports.useService)();
4670
- const viewParams = useMemo3(() => {
4655
+ const viewParams = useMemo2(() => {
4671
4656
  if (!action || !action?.res_model) {
4672
4657
  return void 0;
4673
4658
  }
@@ -4702,7 +4687,7 @@ var useViewV2 = ({
4702
4687
 
4703
4688
  // src/hooks/core/use-company.ts
4704
4689
  import { useQuery as useQuery3 } from "@tanstack/react-query";
4705
- import { useEffect as useEffect4, useMemo as useMemo4 } from "react";
4690
+ import { useEffect as useEffect4, useMemo as useMemo3 } from "react";
4706
4691
  var useCompany = ({ service }) => {
4707
4692
  const { setAllowCompanies, setCompanies, setDefaultCompany, env } = (0, provider_exports.useEnv)();
4708
4693
  const { useGetCurrentCompany: useGetCurrentCompany2, useGetCompanyInfo: useGetCompanyInfo2 } = (0, provider_exports.useService)();
@@ -4717,7 +4702,7 @@ var useCompany = ({ service }) => {
4717
4702
  queryFn: fetchCurrentCompany,
4718
4703
  enabled: !!env?.defaultCompany
4719
4704
  });
4720
- const current_company_id = useMemo4(() => {
4705
+ const current_company_id = useMemo3(() => {
4721
4706
  return currentCompany.data?.current_company_id;
4722
4707
  }, [currentCompany.data]);
4723
4708
  useEffect4(() => {
@@ -4768,7 +4753,7 @@ var AppProvider = ({
4768
4753
  const { env } = (0, provider_exports.useEnv)();
4769
4754
  const user = useUser({ service: env.default_service });
4770
4755
  const company = useCompany({ service: env.default_service });
4771
- const menuContext = useMemo5(() => {
4756
+ const menuContext = useMemo4(() => {
4772
4757
  return combineContexts([
4773
4758
  {
4774
4759
  ...user?.context,
@@ -4785,10 +4770,10 @@ var AppProvider = ({
4785
4770
  domain: menuParams?.domain,
4786
4771
  defaultService: env.default_service
4787
4772
  });
4788
- const action = useMemo5(() => {
4773
+ const action = useMemo4(() => {
4789
4774
  return menu?.state?.action;
4790
4775
  }, [menu?.state?.action, env?.context?.lang]);
4791
- const viewContext = useMemo5(() => {
4776
+ const viewContext = useMemo4(() => {
4792
4777
  return combineContexts([
4793
4778
  menuContext,
4794
4779
  { ...(0, utils_exports.evalJSONContext)(action?.context) }
@@ -4892,7 +4877,7 @@ var useGetAction = ({
4892
4877
  };
4893
4878
 
4894
4879
  // src/hooks/core/use-get-specification.ts
4895
- import { useMemo as useMemo6 } from "react";
4880
+ import { useMemo as useMemo5 } from "react";
4896
4881
  var useGetSpecification = ({
4897
4882
  model,
4898
4883
  viewData,
@@ -4904,13 +4889,13 @@ var useGetSpecification = ({
4904
4889
  fields
4905
4890
  };
4906
4891
  const initModel = useModel();
4907
- const modelInstance = useMemo6(() => {
4892
+ const modelInstance = useMemo5(() => {
4908
4893
  if (viewData) {
4909
4894
  return initModel.initModel(baseModel);
4910
4895
  }
4911
4896
  return null;
4912
4897
  }, [baseModel, viewData, model]);
4913
- const specification = useMemo6(() => {
4898
+ const specification = useMemo5(() => {
4914
4899
  if (modelInstance) {
4915
4900
  return modelInstance.getSpecification();
4916
4901
  }
@@ -4920,7 +4905,7 @@ var useGetSpecification = ({
4920
4905
  };
4921
4906
 
4922
4907
  // src/hooks/core/use-list-data.ts
4923
- import { useMemo as useMemo7, useState as useState5 } from "react";
4908
+ import { useMemo as useMemo6, useState as useState5 } from "react";
4924
4909
  import {
4925
4910
  evalJSONDomain,
4926
4911
  formatSortingString,
@@ -5064,7 +5049,7 @@ var useListData = ({
5064
5049
  viewData,
5065
5050
  fields: mode === "kanban" ? viewData?.views?.kanban?.fields : viewData?.views?.list?.fields
5066
5051
  });
5067
- const listDataProps = useMemo7(() => {
5052
+ const listDataProps = useMemo6(() => {
5068
5053
  if (!viewData || !action || !context) {
5069
5054
  return null;
5070
5055
  }
@@ -5427,7 +5412,7 @@ var statusDropdownController = (props) => {
5427
5412
  };
5428
5413
 
5429
5414
  // src/widget/basic/many2one-field/controller.ts
5430
- import { useCallback as useCallback4, useEffect as useEffect10, useMemo as useMemo8, useState as useState7 } from "react";
5415
+ import { useCallback as useCallback4, useEffect as useEffect10, useMemo as useMemo7, useState as useState7 } from "react";
5431
5416
  var MANY2ONE_EXTERNAL = "many2one_external";
5432
5417
  var many2oneFieldController = (props) => {
5433
5418
  const {
@@ -5495,7 +5480,7 @@ var many2oneFieldController = (props) => {
5495
5480
  service: widget === MANY2ONE_EXTERNAL ? optionsObject?.service : service,
5496
5481
  xNode
5497
5482
  });
5498
- const selectOptions = useMemo8(() => {
5483
+ const selectOptions = useMemo7(() => {
5499
5484
  return dataOfSelection?.records?.map((val) => ({
5500
5485
  value: val?.id,
5501
5486
  label: val?.display_name || val?.name,
@@ -5506,7 +5491,7 @@ var many2oneFieldController = (props) => {
5506
5491
  setListOptions(selectOptions);
5507
5492
  setDomainModal(domainObject);
5508
5493
  }, [selectOptions]);
5509
- const parsedFormValues = useMemo8(
5494
+ const parsedFormValues = useMemo7(
5510
5495
  () => JSON.parse(
5511
5496
  JSON.stringify({
5512
5497
  ...formValues,
@@ -5862,7 +5847,7 @@ var many2manyFieldController = (props) => {
5862
5847
  };
5863
5848
 
5864
5849
  // src/widget/basic/many2many-tags-field/controller.ts
5865
- import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo9, useState as useState8 } from "react";
5850
+ import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo8, useState as useState8 } from "react";
5866
5851
  import { WIDGETAVATAR, WIDGETCOLOR } from "@fctc/interface-logic/constants";
5867
5852
  import { evalJSONContext as evalJSONContext5, evalJSONDomain as evalJSONDomain4 } from "@fctc/interface-logic/utils";
5868
5853
  var many2manyTagsController = (props) => {
@@ -5894,7 +5879,7 @@ var many2manyTagsController = (props) => {
5894
5879
  ...fieldContext ?? {},
5895
5880
  ...env?.context
5896
5881
  };
5897
- const parsedFormValues = useMemo9(
5882
+ const parsedFormValues = useMemo8(
5898
5883
  () => JSON.parse(
5899
5884
  JSON.stringify({
5900
5885
  ...formValues,
@@ -5935,7 +5920,7 @@ var many2manyTagsController = (props) => {
5935
5920
  xNode,
5936
5921
  enabled: false
5937
5922
  });
5938
- const selectOptions = useMemo9(() => {
5923
+ const selectOptions = useMemo8(() => {
5939
5924
  return dataOfSelection?.records?.map((val) => ({
5940
5925
  value: val.id,
5941
5926
  label: val.name ?? val.display_name,
@@ -6442,7 +6427,7 @@ var binaryFieldController = (props) => {
6442
6427
  };
6443
6428
 
6444
6429
  // src/widget/advance/table/table-head/controller.ts
6445
- import { useMemo as useMemo10, useRef as useRef5 } from "react";
6430
+ import { useMemo as useMemo9, useRef as useRef5 } from "react";
6446
6431
  var tableHeadController = (props) => {
6447
6432
  const {
6448
6433
  typeTable,
@@ -6455,19 +6440,19 @@ var tableHeadController = (props) => {
6455
6440
  const { rowIds: recordIds } = useGetRowIds(tableRef);
6456
6441
  const selectedRowKeysRef = useRef5(recordIds);
6457
6442
  const isGroupTable = typeTable === "group";
6458
- const recordsCheckedGroup = useMemo10(() => {
6443
+ const recordsCheckedGroup = useMemo9(() => {
6459
6444
  if (!rows || !groupByList) return 0;
6460
6445
  const groupBy = typeof groupByList === "object" ? groupByList?.contexts?.[0]?.group_by : void 0;
6461
6446
  return countSum(rows, groupBy);
6462
6447
  }, [rows, groupByList]);
6463
- const isAllGroupChecked = useMemo10(() => {
6448
+ const isAllGroupChecked = useMemo9(() => {
6464
6449
  if (!isGroupTable || !selectedRowKeys?.length) return false;
6465
6450
  const selectedLength = selectedRowKeys.filter((id) => id !== -1).length;
6466
6451
  const allRecordsSelected = recordIds.length === selectedRowKeys.length ? recordIds.length === selectedLength : false;
6467
6452
  const allGroupsSelected = recordsCheckedGroup === selectedRowKeys.length;
6468
6453
  return allGroupsSelected || allRecordsSelected;
6469
6454
  }, [isGroupTable, selectedRowKeys, recordIds, recordsCheckedGroup]);
6470
- const isAllNormalChecked = useMemo10(() => {
6455
+ const isAllNormalChecked = useMemo9(() => {
6471
6456
  if (isGroupTable || !selectedRowKeys?.length || !rows?.length) return false;
6472
6457
  return selectedRowKeys.length === rows.length && selectedRowKeys.every(
6473
6458
  (id) => rows.some((record) => record.id === id)
@@ -6508,19 +6493,19 @@ var tableHeadController = (props) => {
6508
6493
  };
6509
6494
 
6510
6495
  // src/widget/advance/table/table-view/controller.ts
6511
- import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo11, useState as useState13 } from "react";
6496
+ import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo10, useState as useState13 } from "react";
6512
6497
  import { domainHelper } from "@fctc/interface-logic/utils";
6513
6498
  var tableController = ({ data }) => {
6514
6499
  const [rows, setRows] = useState13([]);
6515
6500
  const [columnVisibility, setColumnVisibility] = useState13({});
6516
- const dataModelFields = useMemo11(() => {
6501
+ const dataModelFields = useMemo10(() => {
6517
6502
  return data?.fields?.map((field) => ({
6518
6503
  ...data.dataModel?.[field?.name],
6519
6504
  ...field,
6520
6505
  string: field?.string || data.dataModel?.[field?.name]?.string
6521
6506
  })) ?? [];
6522
6507
  }, [data?.fields, data?.dataModel]);
6523
- const mergeFields = useMemo11(
6508
+ const mergeFields = useMemo10(
6524
6509
  () => mergeButtons(dataModelFields),
6525
6510
  [dataModelFields]
6526
6511
  );
@@ -6549,7 +6534,7 @@ var tableController = ({ data }) => {
6549
6534
  useEffect14(() => {
6550
6535
  setRows(transformData(data?.records));
6551
6536
  }, [data?.records, transformData]);
6552
- const columns = useMemo11(() => {
6537
+ const columns = useMemo10(() => {
6553
6538
  try {
6554
6539
  return mergeFields?.filter((item) => {
6555
6540
  return item?.widget !== "details_Receive_money" && !(item?.column_invisible ? domainHelper.matchDomains(
@@ -6585,7 +6570,7 @@ var tableController = ({ data }) => {
6585
6570
  };
6586
6571
 
6587
6572
  // src/widget/advance/table/table-group/controller.ts
6588
- import { useEffect as useEffect15, useMemo as useMemo12, useState as useState14 } from "react";
6573
+ import { useEffect as useEffect15, useMemo as useMemo11, useState as useState14 } from "react";
6589
6574
  import { useAppSelector, selectList } from "@fctc/interface-logic/store";
6590
6575
  var tableGroupController = (props) => {
6591
6576
  const { env } = (0, provider_exports.useEnv)();
@@ -6610,7 +6595,7 @@ var tableGroupController = (props) => {
6610
6595
  fromEnd: 1
6611
6596
  });
6612
6597
  const domain = row?.__domain;
6613
- const processedData = useMemo12(() => {
6598
+ const processedData = useMemo11(() => {
6614
6599
  const calculateColSpanEmpty = () => {
6615
6600
  const startIndex = columns.findIndex(
6616
6601
  (col) => col.field.type === "monetary" && typeof row[col.key] === "number" || col.field.aggregator === "sum"
@@ -6625,7 +6610,7 @@ var tableGroupController = (props) => {
6625
6610
  };
6626
6611
  return calculateColSpanEmpty();
6627
6612
  }, [columns, row]);
6628
- const shouldFetchData = useMemo12(() => {
6613
+ const shouldFetchData = useMemo11(() => {
6629
6614
  return !!isShowGroup;
6630
6615
  }, [isShowGroup]);
6631
6616
  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 useMemo8, useState as useState7 } from "react";
4094
+ import { useCallback as useCallback4, useEffect as useEffect10, useMemo as useMemo7, useState as useState7 } from "react";
4095
4095
 
4096
4096
  // src/hooks.ts
4097
4097
  import {
@@ -4182,10 +4182,10 @@ 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 useMemo5 } from "react";
4185
+ import { createContext, useContext, useMemo as useMemo4 } from "react";
4186
4186
 
4187
4187
  // src/hooks/core/use-menu.ts
4188
- import { useMemo, useState as useState3 } from "react";
4188
+ import { useState as useState3 } from "react";
4189
4189
 
4190
4190
  // src/hooks/core/use-call-action.ts
4191
4191
  import { useCallback, useState as useState2 } from "react";
@@ -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 useMemo2 } from "react";
4386
+ import { useEffect as useEffect4, useMemo } from "react";
4387
4387
  import { useTranslation } from "react-i18next";
4388
4388
 
4389
4389
  // src/hooks/core/use-view-v2.ts
4390
- import { useMemo as useMemo3 } from "react";
4390
+ import { useMemo as useMemo2 } 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 useMemo4 } from "react";
4394
+ import { useEffect as useEffect5, useMemo as useMemo3 } 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 useMemo6 } from "react";
4418
+ import { useMemo as useMemo5 } 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 = useMemo6(() => {
4430
+ const modelInstance = useMemo5(() => {
4431
4431
  if (viewData) {
4432
4432
  return initModel.initModel(baseModel);
4433
4433
  }
4434
4434
  return null;
4435
4435
  }, [baseModel, viewData, model]);
4436
- const specification = useMemo6(() => {
4436
+ const specification = useMemo5(() => {
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 useMemo7, useState as useState6 } from "react";
4446
+ import { useMemo as useMemo6, 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 = useMemo7(() => {
4562
+ const listDataProps = useMemo6(() => {
4563
4563
  if (!viewData || !action || !context) {
4564
4564
  return null;
4565
4565
  }
@@ -4697,7 +4697,7 @@ var many2oneFieldController = (props) => {
4697
4697
  service: widget === MANY2ONE_EXTERNAL ? optionsObject?.service : service,
4698
4698
  xNode
4699
4699
  });
4700
- const selectOptions = useMemo8(() => {
4700
+ const selectOptions = useMemo7(() => {
4701
4701
  return dataOfSelection?.records?.map((val) => ({
4702
4702
  value: val?.id,
4703
4703
  label: val?.display_name || val?.name,
@@ -4708,7 +4708,7 @@ var many2oneFieldController = (props) => {
4708
4708
  setListOptions(selectOptions);
4709
4709
  setDomainModal(domainObject);
4710
4710
  }, [selectOptions]);
4711
- const parsedFormValues = useMemo8(
4711
+ const parsedFormValues = useMemo7(
4712
4712
  () => JSON.parse(
4713
4713
  JSON.stringify({
4714
4714
  ...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 useMemo9, useState as useState8 } from "react";
5067
+ import { useCallback as useCallback5, useEffect as useEffect12, useMemo as useMemo8, 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 = useMemo9(
5099
+ const parsedFormValues = useMemo8(
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 = useMemo9(() => {
5140
+ const selectOptions = useMemo8(() => {
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 useMemo10, useRef as useRef5 } from "react";
5647
+ import { useMemo as useMemo9, 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 = useMemo10(() => {
5660
+ const recordsCheckedGroup = useMemo9(() => {
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 = useMemo10(() => {
5665
+ const isAllGroupChecked = useMemo9(() => {
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 = useMemo10(() => {
5672
+ const isAllNormalChecked = useMemo9(() => {
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 useMemo11, useState as useState13 } from "react";
5713
+ import { useCallback as useCallback6, useEffect as useEffect14, useMemo as useMemo10, 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 = useMemo11(() => {
5718
+ const dataModelFields = useMemo10(() => {
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 = useMemo11(
5725
+ const mergeFields = useMemo10(
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 = useMemo11(() => {
5754
+ const columns = useMemo10(() => {
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 useMemo12, useState as useState14 } from "react";
5790
+ import { useEffect as useEffect15, useMemo as useMemo11, 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 = useMemo12(() => {
5815
+ const processedData = useMemo11(() => {
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 = useMemo12(() => {
5830
+ const shouldFetchData = useMemo11(() => {
5831
5831
  return !!isShowGroup;
5832
5832
  }, [isShowGroup]);
5833
5833
  const enabled = shouldFetchData && !!processedData;
package/package.json CHANGED
@@ -1,94 +1,94 @@
1
- {
2
- "name": "@fctc/widget-logic",
3
- "version": "4.8.7",
4
- "types": "dist/index.d.ts",
5
- "main": "dist/index.cjs",
6
- "module": "dist/index.mjs",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/index.d.ts",
10
- "import": "./dist/index.mjs",
11
- "require": "./dist/index.cjs"
12
- },
13
- "./hooks": {
14
- "types": "./dist/hooks.d.ts",
15
- "import": "./dist/hooks.mjs",
16
- "require": "./dist/hooks.cjs"
17
- },
18
- "./widget": {
19
- "types": "./dist/widget.d.ts",
20
- "import": "./dist/widget.mjs",
21
- "require": "./dist/widget.cjs"
22
- },
23
- "./icons": {
24
- "types": "./dist/icons.d.ts",
25
- "import": "./dist/icons.mjs",
26
- "require": "./dist/icons.cjs"
27
- },
28
- "./utils": {
29
- "types": "./dist/utils.d.ts",
30
- "import": "./dist/utils.mjs",
31
- "require": "./dist/utils.cjs"
32
- },
33
- "./store": {
34
- "types": "./dist/store.d.ts",
35
- "import": "./dist/store.mjs",
36
- "require": "./dist/store.cjs"
37
- },
38
- "./config": {
39
- "types": "./dist/config.d.ts",
40
- "import": "./dist/config.mjs",
41
- "require": "./dist/config.cjs"
42
- },
43
- "./constants": {
44
- "types": "./dist/constants.d.ts",
45
- "import": "./dist/constants.mjs",
46
- "require": "./dist/constants.cjs"
47
- },
48
- "./environment": {
49
- "types": "./dist/environment.d.ts",
50
- "import": "./dist/environment.mjs",
51
- "require": "./dist/environment.cjs"
52
- },
53
- "./provider": {
54
- "types": "./dist/provider.d.ts",
55
- "import": "./dist/provider.mjs",
56
- "require": "./dist/provider.cjs"
57
- },
58
- "./services": {
59
- "types": "./dist/services.d.ts",
60
- "import": "./dist/services.mjs",
61
- "require": "./dist/services.cjs"
62
- },
63
- "./types": {
64
- "types": "./dist/types.d.ts",
65
- "import": "./dist/types.mjs",
66
- "require": "./dist/types.cjs"
67
- }
68
- },
69
- "files": [
70
- "dist"
71
- ],
72
- "scripts": {
73
- "build": "tsup",
74
- "test": "jest"
75
- },
76
- "dependencies": {
77
- "@fctc/interface-logic": "^4.1.9",
78
- "@headlessui/react": "^2.2.6",
79
- "@tanstack/react-query": "^5.84.0",
80
- "i18next": "^25.3.2",
81
- "i18next-browser-languagedetector": "^8.2.0",
82
- "react-i18next": "^15.6.1",
83
- "react-tooltip": "^5.29.1"
84
- },
85
- "devDependencies": {
86
- "@types/react": "^18.3.1",
87
- "jest": "^29.7.0",
88
- "react": "18.0.0",
89
- "tsup": "^8.0.0",
90
- "typescript": "^5.8.2"
91
- },
92
- "packageManager": "yarn@1.22.0",
93
- "peerDependencies": {}
94
- }
1
+ {
2
+ "name": "@fctc/widget-logic",
3
+ "version": "4.8.8",
4
+ "types": "dist/index.d.ts",
5
+ "main": "dist/index.cjs",
6
+ "module": "dist/index.mjs",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.mjs",
11
+ "require": "./dist/index.cjs"
12
+ },
13
+ "./hooks": {
14
+ "types": "./dist/hooks.d.ts",
15
+ "import": "./dist/hooks.mjs",
16
+ "require": "./dist/hooks.cjs"
17
+ },
18
+ "./widget": {
19
+ "types": "./dist/widget.d.ts",
20
+ "import": "./dist/widget.mjs",
21
+ "require": "./dist/widget.cjs"
22
+ },
23
+ "./icons": {
24
+ "types": "./dist/icons.d.ts",
25
+ "import": "./dist/icons.mjs",
26
+ "require": "./dist/icons.cjs"
27
+ },
28
+ "./utils": {
29
+ "types": "./dist/utils.d.ts",
30
+ "import": "./dist/utils.mjs",
31
+ "require": "./dist/utils.cjs"
32
+ },
33
+ "./store": {
34
+ "types": "./dist/store.d.ts",
35
+ "import": "./dist/store.mjs",
36
+ "require": "./dist/store.cjs"
37
+ },
38
+ "./config": {
39
+ "types": "./dist/config.d.ts",
40
+ "import": "./dist/config.mjs",
41
+ "require": "./dist/config.cjs"
42
+ },
43
+ "./constants": {
44
+ "types": "./dist/constants.d.ts",
45
+ "import": "./dist/constants.mjs",
46
+ "require": "./dist/constants.cjs"
47
+ },
48
+ "./environment": {
49
+ "types": "./dist/environment.d.ts",
50
+ "import": "./dist/environment.mjs",
51
+ "require": "./dist/environment.cjs"
52
+ },
53
+ "./provider": {
54
+ "types": "./dist/provider.d.ts",
55
+ "import": "./dist/provider.mjs",
56
+ "require": "./dist/provider.cjs"
57
+ },
58
+ "./services": {
59
+ "types": "./dist/services.d.ts",
60
+ "import": "./dist/services.mjs",
61
+ "require": "./dist/services.cjs"
62
+ },
63
+ "./types": {
64
+ "types": "./dist/types.d.ts",
65
+ "import": "./dist/types.mjs",
66
+ "require": "./dist/types.cjs"
67
+ }
68
+ },
69
+ "files": [
70
+ "dist"
71
+ ],
72
+ "scripts": {
73
+ "build": "tsup",
74
+ "test": "jest"
75
+ },
76
+ "dependencies": {
77
+ "@fctc/interface-logic": "^4.1.9",
78
+ "@headlessui/react": "^2.2.6",
79
+ "@tanstack/react-query": "^5.84.0",
80
+ "i18next": "^25.3.2",
81
+ "i18next-browser-languagedetector": "^8.2.0",
82
+ "react-i18next": "^15.6.1",
83
+ "react-tooltip": "^5.29.1"
84
+ },
85
+ "devDependencies": {
86
+ "@types/react": "^18.3.1",
87
+ "jest": "^29.7.0",
88
+ "react": "18.0.0",
89
+ "tsup": "^8.0.0",
90
+ "typescript": "^5.8.2"
91
+ },
92
+ "packageManager": "yarn@1.22.0",
93
+ "peerDependencies": {}
94
+ }