@@ -272,7 +272,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
272
272
273
273
const [ searchContentType , setSearchContentType ] = useState ( '' ) ;
274
274
275
- const [ rowIds , setRowIds ] = useState ( { } ) ;
275
+ const [ rowIds , setRowIds ] = useState < Record < string , boolean > > ( { } ) ;
276
276
const [ selectedEntries , setSelectedEntries ] = useState < FieldMapType [ ] > ( [ ] ) ;
277
277
const [ contentTypeSchema , setContentTypeSchema ] = useState < ContentTypesSchema [ ] | undefined > ( [ ] ) ;
278
278
const [ showFilter , setShowFilter ] = useState < boolean > ( false ) ;
@@ -292,7 +292,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
292
292
const [ isCsCTypeUpdated , setsCsCTypeUpdated ] = useState < boolean > ( false ) ;
293
293
const [ isLoadingSaveButton , setisLoadingSaveButton ] = useState < boolean > ( false ) ;
294
294
const [ activeFilter , setActiveFilter ] = useState < string > ( '' ) ;
295
-
295
+ const [ isAllCheck , setIsAllCheck ] = useState < boolean > ( false ) ;
296
296
297
297
/** ALL HOOKS Here */
298
298
const { projectId = '' } = useParams ( ) ;
@@ -361,6 +361,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
361
361
362
362
363
363
if ( newMigrationData ?. content_mapping ?. content_type_mapping ?. [ selectedContentType ?. contentstackUid || '' ] === otherContentType ?. id ) {
364
+ setIsAllCheck ( false ) ;
364
365
tableData ?. forEach ( ( row ) => {
365
366
contentTypeSchema ?. forEach ( ( schema ) => {
366
367
@@ -432,14 +433,16 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
432
433
} , [ tableData , otherContentType ] ) ;
433
434
434
435
useEffect ( ( ) => {
435
- if ( isUpdated ) {
436
+ if ( isUpdated ) {
437
+ setIsAllCheck ( false ) ;
436
438
setTableData ( updatedRows ) ;
437
439
setExistingField ( updatedExstingField ) ;
438
440
setSelectedOptions ( updatedSelectedOptions ) ;
439
441
setSelectedEntries ( updatedRows ) ;
440
442
setIsUpdated ( false ) ;
441
443
}
442
444
else {
445
+ setIsAllCheck ( false ) ;
443
446
setExistingField ( { } ) ;
444
447
setSelectedOptions ( [ ] ) ;
445
448
@@ -449,15 +452,15 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
449
452
// To make all the fields checked
450
453
useEffect ( ( ) => {
451
454
const selectedId = tableData ?. reduce < UidMap > ( ( acc , item ) => {
452
- if ( ! item ?. isDeleted ) {
455
+ if ( ! item ?. isDeleted && isAllCheck ) {
453
456
acc [ item ?. id ] = true ;
454
457
455
458
}
456
459
return acc ;
457
460
} , { } ) ;
458
461
459
- setRowIds ( selectedId ) ;
460
- } , [ tableData ] ) ;
462
+ isAllCheck && setRowIds ( selectedId ) ;
463
+ } , [ tableData , isAllCheck ] ) ;
461
464
462
465
// To fetch existing content types or global fields as per the type
463
466
useEffect ( ( ) => {
@@ -542,6 +545,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
542
545
} , [ contentTypeSchema ] ) ;
543
546
useEffect ( ( ) => {
544
547
if ( existingField && isCsCTypeUpdated ) {
548
+ setIsAllCheck ( false ) ;
545
549
const matchedKeys = new Set < string > ( ) ;
546
550
547
551
contentTypeSchema ?. forEach ( ( item ) => {
@@ -672,7 +676,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
672
676
setItemStatusMap ( { ...itemStatusMap } ) ;
673
677
674
678
const validTableData = data ?. fieldMapping ?. filter ( ( field : FieldMapType ) => field ?. otherCmsType !== undefined ) ;
675
-
679
+ setIsAllCheck ( true ) ;
676
680
setTableData ( validTableData ?? [ ] ) ;
677
681
setSelectedEntries ( validTableData ?? [ ] ) ;
678
682
setTotalCounts ( validTableData ?. length ) ;
@@ -717,7 +721,8 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
717
721
// eslint-disable-next-line no-unsafe-optional-chaining
718
722
setTableData ( [ ...tableData , ...validTableData ?? tableData ] ) ;
719
723
setTotalCounts ( [ ...tableData , ...validTableData ?? tableData ] ?. length ) ;
720
- setIsLoading ( false )
724
+ setIsLoading ( false ) ;
725
+ setIsAllCheck ( true ) ;
721
726
} catch ( error ) {
722
727
console . error ( 'loadMoreItems -> error' , error ) ;
723
728
}
@@ -749,6 +754,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
749
754
} ;
750
755
751
756
const openContentType = ( i : number ) => {
757
+ setIsAllCheck ( true ) ;
752
758
setIsFieldDeleted ( false ) ;
753
759
setActive ( i ) ;
754
760
const otherTitle = filteredContentTypes ?. [ i ] ?. contentstackUid ;
@@ -821,24 +827,26 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
821
827
822
828
// add row ids with their data to rowHistoryObj
823
829
useEffect ( ( ) => {
830
+ setIsAllCheck ( false ) ;
824
831
Object . keys ( rowHistoryObj ) ?. forEach ( key => delete rowHistoryObj [ key ] ) ;
825
832
tableData ?. forEach ( item => {
826
833
rowHistoryObj [ item ?. id ] = [ { checked : true , at : Date . now ( ) , ...modifiedObj ( item ) } ]
827
834
} ) ;
828
835
} , [ tableData ] ) ;
829
836
830
- const getParentId = ( uid : string ) => {
831
- return tableData ?. find ( i => i ?. uid ?. toLowerCase ( ) === uid ?. toLowerCase ( ) ) ?. id ?? ''
837
+ const getParentId = ( uid : string ) => {
838
+ return tableData ?. find ( ( i ) => i ?. uid ?. toLowerCase ( ) === uid ?. toLowerCase ( ) && i ?. backupFieldType ?. toLowerCase ( ) === 'group' ) ?. id ?? ''
832
839
}
833
840
834
841
const modifiedObj = ( obj : FieldMapType ) => {
835
- const { backupFieldType, uid, id} = obj ?? { }
842
+ const { backupFieldType, uid, id, _canSelect } = obj ?? { }
836
843
const excludeArr = [ "group" ]
837
844
return {
838
845
id,
839
846
backupFieldType,
840
847
uid,
841
- parentId : excludeArr ?. includes ?.( backupFieldType ?. toLowerCase ( ) ) ? '' : getParentId ( uid ?. split ( '.' ) [ 0 ] ?. toLowerCase ( ) )
848
+ parentId : excludeArr ?. includes ?.( backupFieldType ?. toLowerCase ( ) ) ? '' : getParentId ( uid ?. split ( '.' ) [ 0 ] ?. toLowerCase ( ) ) ,
849
+ _canSelect,
842
850
}
843
851
}
844
852
@@ -886,7 +894,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
886
894
887
895
const handleSelectedEntries = ( singleSelectedRowIds : string [ ] ) => {
888
896
const selectedObj : UidMap = { } ;
889
-
897
+ setIsAllCheck ( false ) ;
890
898
singleSelectedRowIds ?. forEach ( ( uid : string ) => {
891
899
const isId = selectedEntries ?. some ( ( item ) => item ?. id === uid ) ;
892
900
if ( isId ) {
@@ -940,7 +948,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
940
948
} )
941
949
}
942
950
}
943
- } else if ( latestRow ?. parentId && ! [ "title" , "url" ] ?. includes ?. ( latestRow ?. uid ?. toLowerCase ( ) ) ) {
951
+ } else if ( latestRow ?. parentId && latestRow ?. _canSelect === true ) {
944
952
// Extract the group UID if item is child of any group
945
953
const uidBeforeDot = latestRow ?. uid ?. split ?.( '.' ) ?. [ 0 ] ?. toLowerCase ( ) ;
946
954
const groupItem = tableData ?. find ( ( entry ) => entry ?. uid ?. toLowerCase ( ) === uidBeforeDot ) ;
@@ -972,7 +980,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
972
980
}
973
981
}
974
982
975
- const updatedTableData = tableData ?. map ?.( ( tableItem ) => {
983
+ const updatedTableData = selectedEntries ?. map ?.( ( tableItem ) => {
976
984
// Mark the item as deleted if not found in selectedData
977
985
return {
978
986
...tableItem ,
@@ -988,6 +996,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
988
996
const handleValueChange = ( value : FieldTypes , rowIndex : string , rowContentstackFieldUid : string ) => {
989
997
setIsDropDownChanged ( true ) ;
990
998
setFieldValue ( value ) ;
999
+ setIsAllCheck ( false ) ;
991
1000
const updatedRows : FieldMapType [ ] = selectedEntries ?. map ?.( ( row ) => {
992
1001
if ( row ?. uid === rowIndex && row ?. contentstackFieldUid === rowContentstackFieldUid ) {
993
1002
return { ...row , contentstackFieldType : value ?. value } ;
@@ -1010,7 +1019,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
1010
1019
1011
1020
const handleDropDownChange = ( value : FieldTypes ) => {
1012
1021
( value ?. id !== otherContentType ?. id ) && setsCsCTypeUpdated ( true ) ;
1013
-
1022
+ setIsAllCheck ( false ) ;
1014
1023
setOtherContentType ( value ) ;
1015
1024
} ;
1016
1025
@@ -1503,6 +1512,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
1503
1512
if ( ! updatedSelectedOptions ?. includes ?.( newValue ) ) {
1504
1513
updatedSelectedOptions . push ( newValue ) ;
1505
1514
}
1515
+ setIsAllCheck ( false ) ;
1506
1516
setIsUpdated ( true ) ;
1507
1517
}
1508
1518
@@ -1620,6 +1630,7 @@ const ContentMapper = forwardRef(({handleStepChange}: contentMapperProps, ref: R
1620
1630
1621
1631
const handleSaveContentType = async ( ) => {
1622
1632
setisLoadingSaveButton ( true ) ;
1633
+ setIsAllCheck ( false ) ;
1623
1634
const orgId = selectedOrganisation ?. uid ;
1624
1635
const projectID = projectId ;
1625
1636
if (
0 commit comments