Add missing type definitions
This commit is contained in:
@@ -52,7 +52,7 @@ export class AnchorTitle extends React.Component<AnchorTitleProps, AnchorTitleSt
|
||||
isHovering: false,
|
||||
};
|
||||
}
|
||||
public render() {
|
||||
public render(): React.ReactNode {
|
||||
let opacity = 0;
|
||||
if (this.props.shouldShowAnchor) {
|
||||
opacity = this.state.isHovering ? 0.6 : 1;
|
||||
@@ -79,7 +79,7 @@ export class AnchorTitle extends React.Component<AnchorTitleProps, AnchorTitleSt
|
||||
</div>
|
||||
);
|
||||
}
|
||||
private _setHoverState(isHovering: boolean) {
|
||||
private _setHoverState(isHovering: boolean): void {
|
||||
this.setState({
|
||||
isHovering,
|
||||
});
|
||||
|
@@ -12,10 +12,10 @@ export interface MarkdownCodeBlockState {}
|
||||
export class MarkdownCodeBlock extends React.Component<MarkdownCodeBlockProps, MarkdownCodeBlockState> {
|
||||
// Re-rendering a codeblock causes any use selection to become de-selected. This is annoying when trying
|
||||
// to copy-paste code examples. We therefore noop re-renders on this component if it's props haven't changed.
|
||||
public shouldComponentUpdate(nextProps: MarkdownCodeBlockProps, nextState: MarkdownCodeBlockState) {
|
||||
public shouldComponentUpdate(nextProps: MarkdownCodeBlockProps, nextState: MarkdownCodeBlockState): boolean {
|
||||
return nextProps.value !== this.props.value || nextProps.language !== this.props.language;
|
||||
}
|
||||
public render() {
|
||||
public render(): React.ReactNode {
|
||||
return (
|
||||
<span style={{ fontSize: 14 }}>
|
||||
<HighLight className={this.props.language || 'javascript'}>{this.props.value}</HighLight>
|
||||
|
@@ -13,10 +13,10 @@ export interface MarkdownLinkBlockState {}
|
||||
export class MarkdownLinkBlock extends React.Component<MarkdownLinkBlockProps, MarkdownLinkBlockState> {
|
||||
// Re-rendering a linkBlock causes it to remain unclickable.
|
||||
// We therefore noop re-renders on this component if it's props haven't changed.
|
||||
public shouldComponentUpdate(nextProps: MarkdownLinkBlockProps, nextState: MarkdownLinkBlockState) {
|
||||
public shouldComponentUpdate(nextProps: MarkdownLinkBlockProps, nextState: MarkdownLinkBlockState): boolean {
|
||||
return nextProps.href !== this.props.href;
|
||||
}
|
||||
public render() {
|
||||
public render(): React.ReactNode {
|
||||
const href = this.props.href;
|
||||
const isLinkToSection = _.startsWith(href, '#');
|
||||
// If protocol is http or https, we can open in a new tab, otherwise don't for security reasons
|
||||
@@ -39,7 +39,7 @@ export class MarkdownLinkBlock extends React.Component<MarkdownLinkBlockProps, M
|
||||
return <a href={href}>{this.props.children}</a>;
|
||||
}
|
||||
}
|
||||
private _onHashUrlClick(href: string) {
|
||||
private _onHashUrlClick(href: string): void {
|
||||
const hash = href.split('#')[1];
|
||||
utils.scrollToHash(hash, constants.SCROLL_CONTAINER_ID);
|
||||
utils.setUrlHash(hash);
|
||||
|
@@ -39,7 +39,7 @@ export class MarkdownSection extends React.Component<MarkdownSectionProps, Markd
|
||||
shouldShowAnchor: false,
|
||||
};
|
||||
}
|
||||
public render() {
|
||||
public render(): React.ReactNode {
|
||||
const { sectionName, markdownContent, headerSize, githubLink } = this.props as PropsWithDefaults;
|
||||
|
||||
const id = utils.getIdFromName(sectionName);
|
||||
@@ -87,7 +87,7 @@ export class MarkdownSection extends React.Component<MarkdownSectionProps, Markd
|
||||
</div>
|
||||
);
|
||||
}
|
||||
private _setAnchorVisibility(shouldShowAnchor: boolean) {
|
||||
private _setAnchorVisibility(shouldShowAnchor: boolean): void {
|
||||
this.setState({
|
||||
shouldShowAnchor,
|
||||
});
|
||||
|
@@ -43,7 +43,7 @@ export class NestedSidebarMenu extends React.Component<NestedSidebarMenuProps, N
|
||||
shouldDisplaySectionHeaders: true,
|
||||
onMenuItemClick: _.noop,
|
||||
};
|
||||
public render() {
|
||||
public render(): React.ReactNode {
|
||||
const navigation = _.map(this.props.topLevelMenu, (menuItems: string[], sectionName: string) => {
|
||||
const finalSectionName = utils.convertDashesToSpaces(sectionName);
|
||||
if (this.props.shouldDisplaySectionHeaders) {
|
||||
|
@@ -32,7 +32,7 @@ export class SectionHeader extends React.Component<SectionHeaderProps, SectionHe
|
||||
shouldShowAnchor: false,
|
||||
};
|
||||
}
|
||||
public render() {
|
||||
public render(): React.ReactNode {
|
||||
const { sectionName, headerSize } = this.props as PropsWithDefaults;
|
||||
|
||||
const finalSectionName = utils.convertDashesToSpaces(this.props.sectionName);
|
||||
@@ -65,7 +65,7 @@ export class SectionHeader extends React.Component<SectionHeaderProps, SectionHe
|
||||
</div>
|
||||
);
|
||||
}
|
||||
private _setAnchorVisibility(shouldShowAnchor: boolean) {
|
||||
private _setAnchorVisibility(shouldShowAnchor: boolean): void {
|
||||
this.setState({
|
||||
shouldShowAnchor,
|
||||
});
|
||||
|
@@ -14,7 +14,7 @@ export interface VersionDropDownProps {
|
||||
export interface VersionDropDownState {}
|
||||
|
||||
export class VersionDropDown extends React.Component<VersionDropDownProps, VersionDropDownState> {
|
||||
public render() {
|
||||
public render(): React.ReactNode {
|
||||
return (
|
||||
<div className="mx-auto" style={{ width: 120 }}>
|
||||
<DropDownMenu
|
||||
@@ -27,13 +27,13 @@ export class VersionDropDown extends React.Component<VersionDropDownProps, Versi
|
||||
</div>
|
||||
);
|
||||
}
|
||||
private _renderDropDownItems() {
|
||||
private _renderDropDownItems(): React.ReactNode[] {
|
||||
const items = _.map(this.props.versions, version => {
|
||||
return <MenuItem key={version} value={version} primaryText={`v${version}`} />;
|
||||
});
|
||||
return items;
|
||||
}
|
||||
private _updateSelectedVersion(e: any, index: number, semver: string) {
|
||||
private _updateSelectedVersion(e: any, index: number, semver: string): void {
|
||||
this.props.onVersionSelected(semver);
|
||||
}
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@ import { EtherscanLinkSuffixes, Networks } from '../types';
|
||||
import { constants } from './constants';
|
||||
|
||||
export const utils = {
|
||||
setUrlHash(anchorId: string) {
|
||||
setUrlHash(anchorId: string): void {
|
||||
window.location.hash = anchorId;
|
||||
},
|
||||
scrollToHash(hash: string, containerId: string): void {
|
||||
@@ -26,11 +26,11 @@ export const utils = {
|
||||
const isUserOnMobile = isMobile();
|
||||
return isUserOnMobile;
|
||||
},
|
||||
getIdFromName(name: string) {
|
||||
getIdFromName(name: string): string {
|
||||
const id = name.replace(/ /g, '-');
|
||||
return id;
|
||||
},
|
||||
convertDashesToSpaces(text: string) {
|
||||
convertDashesToSpaces(text: string): string {
|
||||
return text.replace(/-/g, ' ');
|
||||
},
|
||||
getEtherScanLinkIfExists(
|
||||
|
Reference in New Issue
Block a user