Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.

Commit ddc67be

Browse files
committed
Add noUnusedLocals: true to tsconfig.
First step in getting more of the TypeScript compiler checks on to help prevent bugs. This flag is more aesthetics than behavioral; however, it does help debugging and navigating code when looking up references. Since so many of the models and actions were imported into classes and not used it made it appear that they were used by more classes. I did see a few issues around using Redux `connect` and microsoft/TypeScript#5938 It's related to trying to export Props which contains types from the Models class that were not explicitly imported. I believe this is because we are using the `returntypeof` instead of explicitly defining the interfaces. I noticed `connect` has generic overload <StateProps, DispatchProps, OwnProps> and it internally merges them all which is what I think we should be doing; however, currently don't have well established pattern so I left code as is.
1 parent bc13b14 commit ddc67be

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+121
-162
lines changed

Diff for: src/actions/createActions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ActionObject } from '../types'
22
import { AT } from '../types/ActionTypes'
3-
import { BlisAppBase, BlisAppMetaData, BlisAppList, EntityBase, EntityMetaData, EntityList, ActionBase, ActionMetaData, ActionList, ActionTypes, TrainDialog, LogDialog, Session, Teach } from 'blis-models';
3+
import { BlisAppBase, EntityBase, ActionBase, TrainDialog, LogDialog, Session, Teach } from 'blis-models';
44

55
export const createBLISApplicationAsync = (key : string, userId : string, application: BlisAppBase): ActionObject => {
66

Diff for: src/actions/deleteActions.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { ActionObject } from '../types'
22
import { AT } from '../types/ActionTypes'
3-
import { BlisAppBase, EntityBase, ActionBase, Session, Teach, TrainDialog, LogDialog} from 'blis-models'
3+
import { BlisAppBase, EntityBase, ActionBase, Session, Teach, TrainDialog } from 'blis-models'
44

55
export const deleteBLISApplicationAsync = (key: string, GUID: string, blisApp: BlisAppBase): ActionObject => {
6-
6+
77
return {
88
type: AT.DELETE_BLIS_APPLICATION_ASYNC,
99
key: key,
@@ -20,7 +20,7 @@ export const deleteBLISApplicationFulfilled = (blisAppGUID: string): ActionObjec
2020
}
2121

2222
export const deleteEntityAsync = (key: string, GUID: string, entity: EntityBase, currentAppId: string): ActionObject => {
23-
23+
2424
return {
2525
type: AT.DELETE_ENTITY_ASYNC,
2626
key: key,
@@ -50,7 +50,7 @@ export const deleteEntityFulfilled = (key: string, deletedEntityId: string, curr
5050
}
5151

5252
export const deleteActionAsync = (key: string, GUID: string, action: ActionBase, currentAppId: string): ActionObject => {
53-
53+
5454
return {
5555
type: AT.DELETE_ACTION_ASYNC,
5656
key: key,
@@ -68,7 +68,7 @@ export const deleteActionFulfilled = (actionGUID: string): ActionObject => {
6868
}
6969

7070
export const deleteChatSessionAsync = (key: string, session: Session, currentAppId: string): ActionObject => {
71-
71+
7272
return {
7373
type: AT.DELETE_CHAT_SESSION_ASYNC,
7474
key: key,
@@ -85,12 +85,12 @@ export const deleteChatSessionFulfilled = (sessionGUID: string): ActionObject =>
8585
}
8686

8787
export const deleteTeachSessionAsync = (key: string, teachSession: Teach, currentAppId: string, save: boolean): ActionObject => {
88-
88+
8989
return {
9090
type: AT.DELETE_TEACH_SESSION_ASYNC,
9191
key: key,
9292
teachSession: teachSession,
93-
currentAppId: currentAppId,
93+
currentAppId: currentAppId,
9494
save: save
9595
}
9696
}

Diff for: src/actions/displayActions.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
import { ActionObject } from '../types'
33
import { AT } from '../types/ActionTypes'
4-
import { DisplayMode, TeachMode } from '../types/const'
5-
import { BlisAppBase, BlisAppMetaData, BlisAppList, EntityBase, EntityMetaData, EntityList, ActionBase, ActionMetaData, ActionList, ActionTypes, TrainDialog, LogDialog, Session, Teach } from 'blis-models';
4+
import { DisplayMode } from '../types/const'
5+
import { BlisAppBase, TrainDialog, LogDialog, Session, Teach } from 'blis-models';
66

77

88
export const setCurrentBLISApp = (key: string, app: BlisAppBase) : ActionObject => {

Diff for: src/actions/fetchActions.ts

+11-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import { ActionObject } from '../types'
22
import { AT } from '../types/ActionTypes'
3-
import { BlisAppBase, BlisAppMetaData, BlisAppList,
4-
EntityBase, EntityMetaData, EntityList,
5-
ActionBase, ActionMetaData, ActionList, ActionTypes,
6-
TrainDialog, LogDialog,
7-
Session, Teach } from 'blis-models';
3+
import {
4+
BlisAppBase,
5+
EntityBase,
6+
ActionBase,
7+
TrainDialog,
8+
LogDialog,
9+
Session,
10+
Teach
11+
} from 'blis-models';
812

913
export const fetchAllTrainDialogsAsync = (key: string, blisAppID: string): ActionObject => {
1014
return {
@@ -36,12 +40,12 @@ export const fetchAllLogDialogsFulfilled = (logDialogs: LogDialog[]): ActionObje
3640
}
3741
}
3842

39-
export const fetchApplicationsAsync = (key: string, userId : string): ActionObject => {
43+
export const fetchApplicationsAsync = (key: string, userId: string): ActionObject => {
4044
//needs a fulfilled version to handle response from Epic
4145
return {
4246
type: AT.FETCH_APPLICATIONS_ASYNC,
4347
key: key,
44-
userId : userId
48+
userId: userId
4549
}
4650
}
4751

Diff for: src/actions/teachActions.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { ActionObject } from '../types'
22
import { AT } from '../types/ActionTypes'
3-
import { UserInput, TrainExtractorStep, ExtractResponse, UIScoreInput, UIExtractResponse, UIScoreResponse, TrainScorerStep, TeachResponse } from 'blis-models'
3+
import { UserInput, ExtractResponse, UIScoreInput, UIExtractResponse, UIScoreResponse, TrainScorerStep, TeachResponse } from 'blis-models'
44

55
export const runExtractorAsync = (key: string, appId: string, teachId: string, userInput: UserInput) : ActionObject => {
66
return {

Diff for: src/actions/updateActions.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11

22
import { ActionObject } from '../types'
33
import { AT } from '../types/ActionTypes'
4-
import { DisplayMode } from '../types/const'
5-
import { BlisAppBase, BlisAppMetaData, BlisAppList, EntityBase, EntityMetaData, EntityList, ActionBase, ActionMetaData, ActionList, ActionTypes, TrainDialog, LogDialog, Session, Teach } from 'blis-models';
4+
import { BlisAppBase, EntityBase, ActionBase, TrainDialog, LogDialog } from 'blis-models';
65

76
export const editBLISApplicationAsync = (key: string, application: BlisAppBase) : ActionObject => {
87

Diff for: src/containers/ActionResponseCreatorEditor.tsx

+5-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import { editActionAsync } from '../actions/updateActions';
55
import { bindActionCreators } from 'redux';
66
import { connect } from 'react-redux';
77
import { Modal } from 'office-ui-fabric-react/lib/Modal';
8-
import { CommandButton, Dialog, DialogFooter, DialogType, ChoiceGroup, DefaultButton, Dropdown, TagPicker, Label, Checkbox, List } from 'office-ui-fabric-react';
8+
import { CommandButton, Dropdown, TagPicker, Label, Checkbox, List } from 'office-ui-fabric-react';
99
import { TextFieldPlaceholder } from './TextFieldPlaceholder';
10-
import { ActionBase, ActionMetaData, ActionTypes, EntityBase, EntityMetaData, EntitySuggestion } from 'blis-models'
10+
import { ActionBase, ActionMetaData, ActionTypes, EntityBase, EntitySuggestion } from 'blis-models'
1111
import { State } from '../types';
1212
import EntityCreatorEditor from './EntityCreatorEditor';
1313
import AutocompleteListItem from '../components/AutocompleteListItem';
@@ -350,7 +350,7 @@ class ActionResponseCreatorEditor extends React.Component<Props, any> {
350350
}
351351
updateSpecialCharIndexesToDisregard(newPayload: string): SpecialIndex[] {
352352
let indexesToSet: SpecialIndex[] = [];
353-
let requiredEntities = [...this.state.reqEntitiesVal];
353+
// let requiredEntities = [...this.state.reqEntitiesVal];
354354
let updatedIndex = this.findUpdatedIndex(newPayload);
355355
if (newPayload.length > this.state.payloadVal.length) {
356356
//we added a letter. Find which index was updated. Increment every index in the current special indexes array >= to the updated index
@@ -392,7 +392,7 @@ class ActionResponseCreatorEditor extends React.Component<Props, any> {
392392
}
393393
findWordFollowingSpecialCharacter(text: string): string {
394394
let word: string = "";
395-
let current: string = this.state.payloadVal;
395+
// let current: string = this.state.payloadVal;
396396
for (let i = this.state.dropdownIndex + 1; i < text.length; i++) {
397397
if (text[i] !== " " && text[i] !== "") {
398398
word += text[i]
@@ -545,7 +545,6 @@ class ActionResponseCreatorEditor extends React.Component<Props, any> {
545545
}
546546
}
547547
findIndexOfLastCharacterFollowingSpecialCharacterPreSpace(): number {
548-
let word: string = "";
549548
let text: string = this.state.payloadVal;
550549
let index: number = this.state.dropdownIndex;
551550
for (let i = this.state.dropdownIndex + 1; i < text.length + 1; i++) {
@@ -602,7 +601,7 @@ class ActionResponseCreatorEditor extends React.Component<Props, any> {
602601
let names: string[] = filteredEntities.map((e: EntityBase) => {
603602
return e.entityName;
604603
})
605-
let ordered = names.sort();
604+
names.sort();
606605
let options: TextObject[] = names.map((name: string) => {
607606
let ent: EntityBase = this.props.entities.find((e: EntityBase) => e.entityName == name);
608607
return {

Diff for: src/containers/ActionResponsesList.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import TrainingGroundArenaHeader from '../components/TrainingGroundArenaHeader';
66
import { deleteActionAsync } from '../actions/deleteActions'
77
import { DetailsList, CommandButton, Link, CheckboxVisibility, List, IColumn, SearchBox } from 'office-ui-fabric-react';
88
import ConfirmDeleteModal from '../components/ConfirmDeleteModal';
9-
import { ActionBase, ActionMetaData, EntityBase, EntityMetaData, ModelUtils } from 'blis-models'
9+
import { ActionBase, EntityBase, ModelUtils } from 'blis-models'
1010
import ActionResponseCreatorEditor from './ActionResponseCreatorEditor';
1111
import EntityTile from '../components/EntityTile';
1212
import { State } from '../types'
@@ -117,7 +117,7 @@ class ActionResponsesHomepage extends React.Component<Props, any> {
117117
})
118118
}
119119
onColumnClick(event: any, column: any) {
120-
let { sortedItems, columns } = this.state;
120+
let { columns } = this.state;
121121
let isSortedDescending = column.isSortedDescending;
122122

123123
// If we've sorted this column, flip it.

Diff for: src/containers/App.tsx

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
import * as React from 'react';
2-
import { BrowserRouter as Router, Route, Link } from 'react-router-dom';
2+
import { BrowserRouter as Router, Route } from 'react-router-dom';
33
import BLISAppsHomepage from '../containers/BLISAppsHomepage';
44
import Header from '../components/Header';
55
import Docs from '../components/otherPages/Docs';
66
import About from '../components/otherPages/About';
77
import Support from '../components/otherPages/Support';
8-
import { bindActionCreators } from 'redux';
9-
import { connect } from 'react-redux';
10-
import { State } from '../types'
11-
import axios from 'axios';
128

139
export default class App extends React.Component<any, any> {
1410
render() {

Diff for: src/containers/AppAdmin.tsx

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
import * as React from 'react';
22
import { returntypeof } from 'react-redux-typescript';
3-
import { fetchAllActionsAsync, fetchAllEntitiesAsync, fetchApplicationsAsync, fetchAllTrainDialogsAsync } from '../actions/fetchActions';
3+
import { fetchApplicationsAsync } from '../actions/fetchActions';
44
import { bindActionCreators } from 'redux';
55
import { connect } from 'react-redux';
66
import EntitiesList from './EntitiesList';
77
import TrainDialogsList from './TrainDialogsList';
88
import ActionResponsesList from './ActionResponsesList';
9-
import BLISAppsHomepage from './BLISAppsHomepage';
109
import AppDashboard from './AppDashboard';
1110
import AppSettings from './AppSettings';
12-
import { Nav, INavLink, INavLinkGroup, Link } from 'office-ui-fabric-react';
11+
import { Nav, Link } from 'office-ui-fabric-react';
1312
import { setDisplayMode } from '../actions/displayActions';
1413
import { State } from '../types';
1514
import LogDialogsList from './LogDialogsList';

Diff for: src/containers/AppDashboard.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import * as React from 'react';
22
import { returntypeof } from 'react-redux-typescript';
3-
import { bindActionCreators } from 'redux';
43
import { connect } from 'react-redux';
54
import TrainingGroundArenaHeader from '../components/TrainingGroundArenaHeader'
65
import { State } from '../types'

Diff for: src/containers/AppSettings.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { bindActionCreators } from 'redux';
55
import { connect } from 'react-redux';
66
import TrainingGroundArenaHeader from '../components/TrainingGroundArenaHeader'
77
import { State } from '../types';
8-
import { CommandButton, ChoiceGroup, TextField, DefaultButton, Dropdown, Label, List } from 'office-ui-fabric-react';
8+
import { CommandButton, TextField, Dropdown, Label, List } from 'office-ui-fabric-react';
99
import { TextFieldPlaceholder } from './TextFieldPlaceholder';
1010
import { BlisAppBase, BlisAppMetaData } from 'blis-models'
1111

Diff for: src/containers/BLISAppCreator.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { createBLISApplicationAsync } from '../actions/createActions';
55
import { bindActionCreators } from 'redux';
66
import { connect } from 'react-redux';
77
import { Modal } from 'office-ui-fabric-react/lib/Modal';
8-
import { CommandButton, Dialog, DialogFooter, DialogType, ChoiceGroup, TextField, DefaultButton, Dropdown } from 'office-ui-fabric-react';
8+
import { CommandButton, Dropdown } from 'office-ui-fabric-react';
99
import { TextFieldPlaceholder } from './TextFieldPlaceholder';
1010
import { setDisplayMode, emptyStateProperties } from '../actions/displayActions'
1111
import { fetchAllActionsAsync, fetchAllEntitiesAsync, fetchAllTrainDialogsAsync } from '../actions/fetchActions';

Diff for: src/containers/BLISAppsList.tsx

+3-6
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,10 @@ import { deleteBLISApplicationAsync } from '../actions/deleteActions'
66
import { bindActionCreators } from 'redux';
77
import { connect } from 'react-redux';
88
import BLISAppCreator from './BLISAppCreator'
9-
import AppAdmin from './AppAdmin';
10-
import { DetailsList, CommandButton, Link, CheckboxVisibility, IColumn } from 'office-ui-fabric-react';
9+
import { DetailsList, Link, CheckboxVisibility, IColumn } from 'office-ui-fabric-react';
1110
import ConfirmDeleteModal from '../components/ConfirmDeleteModal';
1211
import { State } from '../types';
13-
import { BlisAppBase, BlisAppList, BlisAppMetaData } from 'blis-models'
14-
import { DisplayMode } from '../types/const'
15-
12+
import { BlisAppBase } from 'blis-models'
1613

1714
let columns: IColumn[] = [
1815
{
@@ -103,7 +100,7 @@ class BLISAppsList extends React.Component<Props, any> {
103100
// this.props.fetchAllTeachSessions(this.props.user.key, appSelected.appId);
104101
}
105102
onColumnClick(event: any, column : any) {
106-
let { sortedItems, columns } = this.state;
103+
let { columns } = this.state;
107104
let isSortedDescending = column.isSortedDescending;
108105

109106
// If we've sorted this column, flip it.

Diff for: src/containers/ChatSessionAdmin.tsx

-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
import * as React from 'react';
22
import { returntypeof } from 'react-redux-typescript';
3-
import { createBLISApplicationAsync } from '../actions/createActions';
4-
import { CommandButton } from 'office-ui-fabric-react';
53
import { bindActionCreators } from 'redux';
64
import { connect } from 'react-redux';
75
import { State } from '../types'

Diff for: src/containers/ChatSessionWindow.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as React from 'react';
22
import { returntypeof } from 'react-redux-typescript';
33
import { bindActionCreators } from 'redux';
44
import { connect } from 'react-redux';
5-
import { Nav, INavLink, INavLinkGroup, Link, CommandButton } from 'office-ui-fabric-react';
5+
import { CommandButton } from 'office-ui-fabric-react';
66
import { Modal } from 'office-ui-fabric-react/lib/Modal';
77
import { State } from '../types';
88
import { DisplayMode } from '../types/const';
@@ -11,7 +11,7 @@ import ChatSessionAdmin from './ChatSessionAdmin'
1111
import { Session } from 'blis-models'
1212
import { deleteChatSessionAsync } from '../actions/deleteActions'
1313
import { createChatSessionAsync } from '../actions/createActions'
14-
import { setCurrentTrainDialog, setCurrentTeachSession, setDisplayMode } from '../actions/displayActions'
14+
import { setDisplayMode } from '../actions/displayActions'
1515

1616

1717
class SessionWindow extends React.Component<Props, any> {

Diff for: src/containers/EntitiesList.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import TrainingGroundArenaHeader from '../components/TrainingGroundArenaHeader';
66
import EntityCreatorEditor from './EntityCreatorEditor';
77
import ConfirmDeleteModal from '../components/ConfirmDeleteModal';
88
import { deleteEntityAsync } from '../actions/deleteActions'
9-
import { DetailsList, CommandButton, Link, CheckboxVisibility, IColumn, SearchBox } from 'office-ui-fabric-react';
9+
import { DetailsList, CommandButton, CheckboxVisibility, IColumn, SearchBox } from 'office-ui-fabric-react';
1010
import { State } from '../types';
11-
import { EntityBase, EntityIdList, EntityList, EntityMetaData, ActionBase, ActionMetaData } from 'blis-models'
11+
import { EntityBase, ActionBase } from 'blis-models'
1212
import { Modal } from 'office-ui-fabric-react/lib/Modal';
1313

1414
let columns: IColumn[] = [
@@ -106,7 +106,7 @@ class EntitiesList extends React.Component<Props, any> {
106106
}
107107
}
108108
onColumnClick(event: any, column : any) {
109-
let { sortedItems, columns } = this.state;
109+
let { columns } = this.state;
110110
let isSortedDescending = column.isSortedDescending;
111111

112112
// If we've sorted this column, flip it.

Diff for: src/containers/EntityCreatorEditor.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import { editEntityAsync } from '../actions/updateActions';
55
import { bindActionCreators } from 'redux';
66
import { connect } from 'react-redux';
77
import { Modal } from 'office-ui-fabric-react/lib/Modal';
8-
import { CommandButton, Dialog, DialogFooter, DialogType, ChoiceGroup, TextField, DefaultButton, Dropdown, DropdownMenuItemType, Checkbox } from 'office-ui-fabric-react';
8+
import { CommandButton, Dropdown, DropdownMenuItemType, Checkbox } from 'office-ui-fabric-react';
99
import { TextFieldPlaceholder } from './TextFieldPlaceholder';
10-
import { State, PreBuiltEntities, PreBuilts, LocalePreBuilts } from '../types';
10+
import { State, PreBuiltEntities, LocalePreBuilts } from '../types';
1111
import { EntityBase, EntityMetaData } from 'blis-models'
1212

1313
const initState = {

Diff for: src/containers/Error.tsx

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import * as React from 'react';
22
import { returntypeof } from 'react-redux-typescript';
3-
import axios from 'axios';
43
import { bindActionCreators } from 'redux';
54
import { connect } from 'react-redux';
65
import { Modal } from 'office-ui-fabric-react/lib/Modal';
7-
import { CommandButton, Dialog, DialogFooter, DialogType, ChoiceGroup, TextField, DefaultButton, Dropdown } from 'office-ui-fabric-react';
6+
import { CommandButton } from 'office-ui-fabric-react';
87
import { clearErrorDisplay } from '../actions/displayActions'
98
import { State } from '../types'
10-
type CultureObject = {
11-
CultureCode: string;
12-
CultureName: string;
13-
}
9+
10+
// TODO: This was unused, but interested what was this used for?
11+
// type CultureObject = {
12+
// CultureCode: string;
13+
// CultureName: string;
14+
// }
1415
class UIError extends React.Component<Props, any> {
1516
constructor(p: any) {
1617
super(p);

0 commit comments

Comments
 (0)