11// Libraries
2- import React , { ChangeEvent , FC , useState , useContext } from 'react'
2+ import React , { ChangeEvent , FC , useState , useContext , useMemo } from 'react'
33import { useDispatch , useSelector } from 'react-redux'
44
55// Components
@@ -32,6 +32,7 @@ import {event} from 'src/cloud/utils/reporting'
3232// Selectors
3333import { getOrg } from 'src/organizations/selectors'
3434import { getMe } from 'src/me/selectors'
35+ import { getAllTokensResources } from 'src/resources/selectors'
3536
3637// Types
3738import { Authorization } from 'src/types'
@@ -46,12 +47,21 @@ const AllAccessTokenOverlay: FC<OwnProps> = props => {
4647 const [ description , setDescription ] = useState < string > ( '' )
4748 const { id : orgID } = useSelector ( getOrg )
4849 const { id : meID } = useSelector ( getMe )
50+ const allPermissionTypes = useSelector ( getAllTokensResources )
51+
52+ const sortedPermissionTypes = useMemo (
53+ ( ) =>
54+ allPermissionTypes . sort ( ( a , b ) =>
55+ a . toLowerCase ( ) . localeCompare ( b . toLowerCase ( ) )
56+ ) ,
57+ [ allPermissionTypes ]
58+ )
4959
5060 const handleSave = ( ) => {
5161 const token : Authorization = {
5262 orgID,
5363 description,
54- permissions : allAccessPermissions ( orgID , meID ) ,
64+ permissions : allAccessPermissions ( sortedPermissionTypes , orgID , meID ) ,
5565 }
5666 dispatch ( createAuthorization ( token ) )
5767 handleDismiss ( )
0 commit comments