Chore: Fix typescript strict null fixes now at 298 (#26125)

* Chore: Fix typescript strict null errors

* Added new limit

* Fixed ts issue

* fixed tests

* trying to fix type inference

* Fixing more ts errors

* Revert tsconfig option

* Fix

* Fixed code

* More fixes

* fix tests

* Updated snapshot

* Chore: More ts strict null fixes

* More fixes in some really messed up azure config components

* More fixes, current count: 441

* 419

* More fixes

* Fixed invalid initial state in explore

* Fixing tests

* Fixed tests

* Explore fix

* More fixes

* Progress

* Sub 300

* Fixed incorrect type

* removed unused import
This commit is contained in:
Torkel Ödegaard
2020-07-08 11:05:20 +02:00
committed by GitHub
parent 89b56782c6
commit fd44c01675
103 changed files with 386 additions and 331 deletions

View File

@@ -19,7 +19,7 @@ export interface Props {
interface State {
isAdding: boolean;
newGroupId?: string;
newGroupId: string;
}
const headerTooltip = `Sync LDAP or OAuth groups with your Grafana teams.`;

View File

@@ -23,8 +23,8 @@ export interface Props {
loadTeams: typeof loadTeams;
deleteTeam: typeof deleteTeam;
setSearchQuery: typeof setSearchQuery;
editorsCanAdmin?: boolean;
signedInUser?: User;
editorsCanAdmin: boolean;
signedInUser: User;
}
export class TeamList extends PureComponent<Props, any> {

View File

@@ -14,8 +14,8 @@ export interface Props {
syncEnabled: boolean;
editorsCanAdmin: boolean;
signedInUserIsTeamAdmin: boolean;
removeTeamMember?: typeof removeTeamMember;
updateTeamMember?: typeof updateTeamMember;
removeTeamMember: typeof removeTeamMember;
updateTeamMember: typeof updateTeamMember;
}
export class TeamMemberRow extends PureComponent<Props> {
@@ -31,14 +31,17 @@ export class TeamMemberRow extends PureComponent<Props> {
onPermissionChange = (item: SelectableValue<TeamPermissionLevel>, member: TeamMember) => {
const permission = item.value;
const updatedTeamMember = { ...member, permission };
const updatedTeamMember: TeamMember = {
...member,
permission: permission as number,
};
this.props.updateTeamMember(updatedTeamMember);
};
renderPermissions(member: TeamMember) {
const { editorsCanAdmin, signedInUserIsTeamAdmin } = this.props;
const value = teamsPermissionLevels.find(dp => dp.value === member.permission);
const value = teamsPermissionLevels.find(dp => dp.value === member.permission)!;
return (
<WithFeatureToggle featureToggle={editorsCanAdmin}>

View File

@@ -20,13 +20,13 @@ export interface Props {
addTeamMember: typeof addTeamMember;
setSearchMemberQuery: typeof setSearchMemberQuery;
syncEnabled: boolean;
editorsCanAdmin?: boolean;
signedInUser?: SignedInUser;
editorsCanAdmin: boolean;
signedInUser: SignedInUser;
}
export interface State {
isAdding: boolean;
newTeamMember?: User;
newTeamMember?: User | null;
}
export class TeamMembers extends PureComponent<Props, State> {
@@ -48,7 +48,7 @@ export class TeamMembers extends PureComponent<Props, State> {
};
onAddUserToTeam = async () => {
this.props.addTeamMember(this.state.newTeamMember.id);
this.props.addTeamMember(this.state.newTeamMember!.id);
this.setState({ newTeamMember: null });
};

View File

@@ -23,9 +23,9 @@ export interface Props {
teamId: number;
pageName: string;
navModel: NavModel;
members?: TeamMember[];
editorsCanAdmin?: boolean;
signedInUser?: User;
members: TeamMember[];
editorsCanAdmin: boolean;
signedInUser: User;
}
interface State {
@@ -92,7 +92,7 @@ export class TeamPages extends PureComponent<Props, State> {
return navModel;
};
renderPage(isSignedInUserTeamAdmin: boolean) {
renderPage(isSignedInUserTeamAdmin: boolean): React.ReactNode {
const { isSyncEnabled } = this.state;
const { members } = this.props;
const currentPage = this.getCurrentPage();

View File

@@ -54,8 +54,8 @@ export function getTeamLoadingNav(pageName: string): NavModel {
let node: NavModelItem;
// find active page
for (const child of main.children) {
if (child.id.indexOf(pageName) > 0) {
for (const child of main.children!) {
if (child.id!.indexOf(pageName) > 0) {
child.active = true;
node = child;
break;
@@ -64,6 +64,6 @@ export function getTeamLoadingNav(pageName: string): NavModel {
return {
main: main,
node: node,
node: node!,
};
}