Skip to content

Commit bb6d906

Browse files
adityamudgil2505andersk
authored andcommitted
typescript: Complete most TypeScript todos.
1 parent e536a03 commit bb6d906

18 files changed

+109
-50
lines changed

app/renderer/js/components/functional-tab.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import Tab from './tab';
1+
import Tab, { TabProps } from './tab';
22

33
export default class FunctionalTab extends Tab {
44
$closeButton: Element;
@@ -13,8 +13,7 @@ export default class FunctionalTab extends Tab {
1313
</div>`;
1414
}
1515

16-
// TODO: Typescript - This type for props should be TabProps
17-
constructor(props: any) {
16+
constructor(props: TabProps) {
1817
super(props);
1918
this.init();
2019
}

app/renderer/js/components/server-tab.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ipcRenderer } from 'electron';
22

3-
import Tab from './tab';
3+
import Tab, { TabProps } from './tab';
44
import * as SystemUtil from '../utils/system-util';
55

66
export default class ServerTab extends Tab {
@@ -17,8 +17,7 @@ export default class ServerTab extends Tab {
1717
</div>`;
1818
}
1919

20-
// TODO: Typescript - This type for props should be TabProps
21-
constructor(props: any) {
20+
constructor(props: TabProps) {
2221
super(props);
2322
this.init();
2423
}

app/renderer/js/components/tab.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
import WebView from './webview';
22
import BaseComponent from './base';
33

4-
// TODO: TypeScript - Type annotate props
5-
interface TabProps {
6-
[key: string]: any;
4+
export interface TabProps {
5+
role: string;
6+
icon?: string;
7+
name: string;
8+
$root: Element;
9+
onClick: () => void;
10+
index: number;
11+
tabIndex: number;
12+
onHover?: () => void;
13+
onHoverOut?: () => void;
14+
webview: WebView;
15+
materialIcon?: string;
16+
onDestroy?: () => void;
717
}
818

919
export default class Tab extends BaseComponent {

app/renderer/js/components/webview.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,24 @@ const { app, dialog } = remote;
1111

1212
const shouldSilentWebview = ConfigUtil.getConfigItem('silent');
1313

14-
// TODO: TypeScript - Type annotate WebViewProps.
1514
interface WebViewProps {
16-
[key: string]: any;
15+
$root: Element;
16+
index: number;
17+
tabIndex: number;
18+
url: any;
19+
role: string;
20+
name: string;
21+
isActive: () => boolean;
22+
switchLoading: (loading: any, url: string) => void;
23+
onNetworkError: (index: number) => void;
24+
nodeIntegration: boolean;
25+
preload: boolean;
26+
onTitleChange: any;
27+
hasPermission?: (origin: string, permission: string) => boolean;
1728
}
1829

1930
export default class WebView extends BaseComponent {
20-
props: any;
31+
props: WebViewProps;
2132
zoomFactor: number;
2233
badgeCount: number;
2334
loading: boolean;

app/renderer/js/main.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -912,8 +912,7 @@ class ServerManagerView {
912912
});
913913

914914
ipcRenderer.on('update-realm-name', (event: Event, serverURL: string, realmName: string) => {
915-
// TODO: TypeScript - Type annotate getDomains() or this domain paramter.
916-
DomainUtil.getDomains().forEach((domain: any, index: number) => {
915+
DomainUtil.getDomains().forEach((domain: DomainUtil.ServerConf, index: number) => {
917916
if (domain.url.includes(serverURL)) {
918917
const serverTooltipSelector = '.tab .server-tooltip';
919918
const serverTooltips = document.querySelectorAll(serverTooltipSelector);

app/renderer/js/pages/preference/add-certificate.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,19 @@ import * as CertificateUtil from '../../utils/certificate-util';
88
import * as DomainUtil from '../../utils/domain-util';
99
import * as t from '../../utils/translation-util';
1010

11+
interface AddCertificateProps {
12+
$root: Element;
13+
}
14+
1115
const { dialog } = remote;
1216

1317
export default class AddCertificate extends BaseComponent {
14-
// TODO: TypeScript - Here props should be object type
15-
props: any;
18+
props: AddCertificateProps;
1619
_certFile: string;
1720
$addCertificate: Element | null;
1821
addCertificateButton: Element | null;
1922
serverUrl: HTMLInputElement | null;
20-
constructor(props: any) {
23+
constructor(props: AddCertificateProps) {
2124
super();
2225
this.props = props;
2326
this._certFile = '';

app/renderer/js/pages/preference/base-section.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,15 @@ import escape from 'escape-html';
33

44
import BaseComponent from '../../components/base';
55

6+
interface BaseSectionProps {
7+
$element: HTMLElement;
8+
disabled?: boolean;
9+
value: boolean;
10+
clickHandler: () => void;
11+
}
12+
613
export default class BaseSection extends BaseComponent {
7-
// TODO: TypeScript - Here props should be object type
8-
generateSettingOption(props: any): void {
14+
generateSettingOption(props: BaseSectionProps): void {
915
const {$element, disabled, value, clickHandler} = props;
1016

1117
$element.innerHTML = '';
@@ -18,7 +24,7 @@ export default class BaseSection extends BaseComponent {
1824
}
1925
}
2026

21-
generateOptionTemplate(settingOption: boolean, disabled: boolean): string {
27+
generateOptionTemplate(settingOption: boolean, disabled?: boolean): string {
2228
const label = disabled ? '<label class="disallowed" title="Setting locked by system administrator."/>' : '<label/>';
2329
if (settingOption) {
2430
return `

app/renderer/js/pages/preference/connected-org-section.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ import AddCertificate from './add-certificate';
77
import FindAccounts from './find-accounts';
88
import * as t from '../../utils/translation-util';
99

10+
interface ConnectedOrgSectionProps {
11+
$root: Element;
12+
}
13+
1014
export default class ConnectedOrgSection extends BaseSection {
11-
// TODO: TypeScript - Here props should be object type
12-
props: any;
15+
props: ConnectedOrgSectionProps;
1316
$serverInfoContainer: Element | null;
1417
$existingServers: Element | null;
1518
$newOrgButton: HTMLButtonElement | null;
1619
$addCertificateContainer: Element | null;
1720
$findAccountsContainer: Element | null;
18-
constructor(props: any) {
21+
constructor(props: ConnectedOrgSectionProps) {
1922
super();
2023
this.props = props;
2124
}

app/renderer/js/pages/preference/find-accounts.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@ import BaseComponent from '../../components/base';
44
import * as LinkUtil from '../../utils/link-util';
55
import * as t from '../../utils/translation-util';
66

7+
interface FindAccountsProps {
8+
$root: Element;
9+
}
10+
711
export default class FindAccounts extends BaseComponent {
8-
// TODO: TypeScript - Here props should be object type
9-
props: any;
12+
props: FindAccountsProps;
1013
$findAccounts: Element | null;
1114
$findAccountsButton: Element | null;
1215
$serverUrlField: HTMLInputElement | null;
13-
constructor(props: any) {
16+
constructor(props: FindAccountsProps) {
1417
super();
1518
this.props = props;
1619
}

app/renderer/js/pages/preference/general-section.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,13 @@ import * as EnterpriseUtil from '../../utils/enterprise-util';
1212
import * as t from '../../utils/translation-util';
1313
import supportedLocales from '../../../../translations/supported-locales.json';
1414

15+
interface GeneralSectionProps {
16+
$root: Element;
17+
}
18+
1519
export default class GeneralSection extends BaseSection {
16-
// TODO: TypeScript - Here props should be object type
17-
props: any;
18-
constructor(props: any) {
20+
props: GeneralSectionProps;
21+
constructor(props: GeneralSectionProps) {
1922
super();
2023
this.props = props;
2124
}

0 commit comments

Comments
 (0)