@@ -41,7 +41,7 @@ export function OwnershipRulesTable({
4141} : OwnershipRulesTableProps ) {
4242 const [ search , setSearch ] = useState < string > ( '' ) ;
4343 const [ page , setPage ] = useState < number > ( 0 ) ;
44- const [ selectedActors , setSelectedActors ] = useState < string [ ] > ( [ ] ) ;
44+ const [ selectedActors , setSelectedActors ] = useState < string [ ] | null > ( null ) ;
4545 const { teams} = useTeams ( { provideUserTeams : true } ) ;
4646
4747 const combinedRules = useMemo ( ( ) => {
@@ -52,7 +52,7 @@ export function OwnershipRulesTable({
5252 } ) )
5353 ) ;
5454
55- return [ ...projectRules , ...codeownerRulesWithId ] ;
55+ return [ ...codeownerRulesWithId , ...projectRules ] ;
5656 } , [ projectRules , codeowners ] ) ;
5757
5858 /**
@@ -91,10 +91,10 @@ export function OwnershipRulesTable({
9191 } , [ allActors , teams ] ) ;
9292
9393 useEffect ( ( ) => {
94- if ( myTeams . length > 0 ) {
94+ if ( myTeams . length > 0 && selectedActors === null ) {
9595 setSelectedActors ( myTeams . map ( actor => `${ actor . type } :${ actor . id } ` ) ) ;
9696 }
97- } , [ myTeams ] ) ;
97+ } , [ myTeams , selectedActors ] ) ;
9898
9999 /**
100100 * Rules chunked into pages
@@ -104,8 +104,10 @@ export function OwnershipRulesTable({
104104 rule =>
105105 // Filter by query
106106 ( rule . matcher . type . includes ( search ) || rule . matcher . pattern . includes ( search ) ) &&
107- // Filter by selected actors
108- ( selectedActors . length === 0 ||
107+ // Selected actors not set
108+ ( selectedActors === null ||
109+ // Selected actors was cleared
110+ selectedActors . length === 0 ||
109111 rule . owners . some ( owner => selectedActors . includes ( `${ owner . type } :${ owner . id } ` ) ) )
110112 ) ;
111113
@@ -137,9 +139,10 @@ export function OwnershipRulesTable({
137139 < SearchAndSelectorWrapper >
138140 < OwnershipOwnerFilter
139141 actors = { allActors }
140- selectedTeams = { selectedActors }
142+ selectedTeams = { selectedActors ?? [ ] }
141143 handleChangeFilter = { handleChangeFilter }
142144 isMyTeams = {
145+ ! ! selectedActors &&
143146 selectedActors . length > 0 &&
144147 isEqual (
145148 selectedActors ,
0 commit comments