From 3c7e3cdc547ad5468421e1c049daa94b0d4b8bc0 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Wed, 30 Jun 2021 16:49:42 -0300 Subject: [PATCH] 17782: Fixes almost all tests (4 left) mostly by fixing namespace-type imports. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- package.json | 9 +- src/common/config.ts | 28 +- src/common/objects.ts | 6 +- src/common/plugintypes.ts | 2 +- src/common/unionize.ts | 3 +- src/components/autocomplete/autocomplete.tsx | 2 +- .../breadcrumbs/breadcrumbs.test.tsx | 4 +- src/components/breadcrumbs/breadcrumbs.tsx | 2 +- .../checkbox-field/checkbox-field.tsx | 2 +- src/components/chips-input/chips-input.tsx | 4 +- src/components/chips/chips.tsx | 13 +- src/components/code-snippet/code-snippet.tsx | 2 +- .../collection-panel-files.test.tsx | 8 +- .../collection-panel-files.tsx | 2 +- .../column-selector/column-selector.test.tsx | 4 +- .../column-selector/column-selector.tsx | 2 +- .../confirmation-dialog.tsx | 2 +- .../context-menu/context-menu.test.tsx | 4 +- src/components/context-menu/context-menu.tsx | 2 +- .../data-explorer/data-explorer.test.tsx | 4 +- .../data-explorer/data-explorer.tsx | 2 +- .../data-table-default-view.tsx | 2 +- .../data-table-filters-popover.test.tsx | 4 +- .../data-table-filters-popover.tsx | 2 +- .../data-table-filters-tree.tsx | 2 +- src/components/data-table/data-column.ts | 2 +- src/components/data-table/data-table.test.tsx | 4 +- src/components/data-table/data-table.tsx | 2 +- .../default-code-snippet.tsx | 2 +- src/components/default-view/default-view.tsx | 2 +- .../details-attribute/details-attribute.tsx | 6 +- .../dropdown-menu/dropdown-menu.test.tsx | 4 +- .../dropdown-menu/dropdown-menu.tsx | 2 +- .../file-tree/file-thumbnail.test.tsx | 4 +- src/components/file-tree/file-thumbnail.tsx | 2 +- src/components/file-tree/file-tree-item.tsx | 2 +- src/components/file-tree/file-tree.tsx | 2 +- src/components/file-upload/file-upload.tsx | 4 +- src/components/float-input/float-input.tsx | 2 +- src/components/form-dialog/form-dialog.tsx | 2 +- src/components/form-field/form-field.tsx | 2 +- src/components/icon/icon.tsx | 2 +- src/components/int-input/int-input.tsx | 2 +- .../list-item-text-icon.tsx | 2 +- .../panel-default-view/panel-default-view.tsx | 2 +- src/components/popover/popover.test.tsx | 4 +- src/components/popover/popover.tsx | 2 +- .../progress-button/progress-button.tsx | 2 +- .../refresh-button/refresh-button.test.tsx | 4 +- .../refresh-button/refresh-button.tsx | 4 +- .../rich-text-editor-link.tsx | 2 +- .../search-input/search-input.test.tsx | 5 +- src/components/search-input/search-input.tsx | 2 +- src/components/select-field/select-field.tsx | 2 +- .../subprocess-filter/subprocess-filter.tsx | 2 +- src/components/switch-field/switch-field.tsx | 2 +- src/components/text-field/text-field.tsx | 4 +- src/components/tree/tree.test.tsx | 4 +- src/components/tree/tree.tsx | 2 +- src/components/tree/virtual-tree.tsx | 2 +- .../warning-collection/warning-collection.tsx | 2 +- src/components/warning/warning.tsx | 2 +- .../workflow-inputs-form/workflow-input.tsx | 2 +- src/index.tsx | 4 +- src/plugins/blank/index.tsx | 2 +- src/plugins/example/exampleComponents.tsx | 2 +- src/plugins/example/index.tsx | 2 +- src/services/api/order-builder.ts | 4 +- .../common-service/common-resource-service.ts | 6 +- src/services/common-service/common-service.ts | 18 +- .../trashable-resource-service.ts | 4 +- src/services/groups-service/groups-service.ts | 6 +- src/store/advanced-tab/advanced-tab.tsx | 2 +- src/store/auth/auth-action-session.ts | 2 +- src/store/auth/auth-action.ts | 4 +- .../collection-partial-copy-actions.ts | 4 +- src/store/dialog/with-dialog.ts | 2 +- .../file-uploader/file-uploader-reducer.ts | 4 +- .../link-account-panel-actions.ts | 18 +- src/store/progress-indicator/with-progress.ts | 2 +- .../resource-type-filters.test.ts | 4 +- .../run-process-panel-actions.test.ts | 2 +- src/store/search-bar/search-bar-actions.ts | 4 +- src/store/tree-picker/picker-id.tsx | 2 +- src/store/users/users-actions.ts | 2 +- .../add-session/add-session.tsx | 2 +- .../advanced-tab-dialog.tsx | 2 +- .../advanced-tab-dialog/metadataTab.tsx | 2 +- .../attributes-dialog.tsx | 2 +- .../help-dialog.tsx | 2 +- src/views-components/api-token/api-token.tsx | 2 +- .../auto-logout/auto-logout.test.tsx | 4 +- .../auto-logout/auto-logout.tsx | 2 +- .../attributes-dialog.tsx | 2 +- .../actions/copy-to-clipboard-action.test.tsx | 4 +- .../actions/copy-to-clipboard-action.tsx | 4 +- .../actions/download-action.test.tsx | 6 +- .../context-menu/actions/download-action.tsx | 6 +- .../context-menu/actions/favorite-action.tsx | 2 +- .../actions/file-viewer-action.test.tsx | 4 +- .../actions/file-viewer-action.tsx | 2 +- .../actions/file-viewer-actions.tsx | 2 +- .../actions/public-favorite-action.tsx | 2 +- .../context-menu/actions/trash-action.tsx | 2 +- .../data-explorer/renderers.test.tsx | 6 +- .../data-explorer/renderers.tsx | 2 +- .../data-explorer/with-resources.tsx | 2 +- .../details-panel/collection-details.tsx | 2 +- .../details-panel/details-data.tsx | 2 +- .../details-panel/details-panel.tsx | 2 +- .../details-panel/empty-details.tsx | 2 +- .../details-panel/file-details.tsx | 2 +- .../details-panel/process-details.tsx | 2 +- .../details-panel/project-details.tsx | 2 +- .../dialog-collection-partial-copy.tsx | 2 +- .../dialog-copy/dialog-copy.tsx | 2 +- .../dialog-partial-copy-to-collection.tsx | 2 +- .../dialog-collection-create.tsx | 2 +- .../dialog-create/dialog-project-create.tsx | 2 +- .../dialog-repository-create.tsx | 2 +- .../dialog-create/dialog-ssh-key-create.tsx | 2 +- .../dialog-create/dialog-user-create.tsx | 2 +- .../dialog-forms/add-group-member-dialog.tsx | 2 +- .../dialog-forms/create-group-dialog.tsx | 2 +- .../setup-shell-account-dialog.tsx | 2 +- .../dialog-move/dialog-move-to.tsx | 2 +- .../dialog-collection-update.tsx | 2 +- .../dialog-update/dialog-process-update.tsx | 2 +- .../dialog-update/dialog-project-update.tsx | 2 +- .../dialog-collection-files-upload.tsx | 2 +- .../favorite-star/favorite-star.tsx | 2 +- .../file-uploader/file-uploader.tsx | 2 +- .../form-fields/collection-form-fields.tsx | 2 +- .../form-fields/process-form-fields.tsx | 2 +- .../form-fields/project-form-fields.tsx | 2 +- .../form-fields/repository-form-fields.tsx | 2 +- .../form-fields/resource-form-fields.tsx | 2 +- .../form-fields/search-bar-form-fields.tsx | 2 +- .../form-fields/ssh-key-form-fields.tsx | 2 +- .../form-fields/user-form-fields.tsx | 2 +- .../groups-dialog/attributes-dialog.tsx | 2 +- .../member-attributes-dialog.tsx | 2 +- .../attributes-dialog.tsx | 2 +- .../links-dialog/attributes-dialog.tsx | 2 +- .../login-form/login-form.tsx | 2 +- .../main-app-bar/account-menu.test.tsx | 4 +- .../main-app-bar/account-menu.tsx | 2 +- .../main-app-bar/admin-menu.tsx | 4 +- .../main-app-bar/anonymous-menu.tsx | 2 +- .../main-app-bar/help-menu.tsx | 2 +- .../main-app-bar/main-app-bar.tsx | 2 +- .../main-app-bar/notifications-menu.tsx | 2 +- .../main-content-bar/main-content-bar.tsx | 2 +- .../not-found-dialog/not-found-dialog.tsx | 2 +- .../process-command-dialog.tsx | 4 +- .../process-input-dialog.tsx | 2 +- .../project-properties-dialog.tsx | 2 +- .../create-project-properties-form.tsx | 4 +- .../create-project-properties-list.tsx | 2 +- .../generic-projects-tree-picker.tsx | 2 +- .../projects-tree-picker.tsx | 2 +- .../tree-picker-field.tsx | 2 +- .../remove-dialog/remove-dialog.tsx | 2 +- .../rename-file-dialog/rename-file-dialog.tsx | 2 +- .../repositories-sample-git-dialog.tsx | 2 +- .../repository-attributes-dialog.tsx | 2 +- .../property-chip.tsx | 2 +- .../property-key-field.tsx | 2 +- .../property-value-field.tsx | 2 +- .../resource-properties-form.tsx | 2 +- .../rich-text-editor-dialog.tsx | 2 +- .../search-bar-advanced-properties-view.tsx | 6 +- .../search-bar/search-bar-advanced-view.tsx | 2 +- .../search-bar-autocomplete-view.tsx | 2 +- .../search-bar/search-bar-basic-view.tsx | 6 +- .../search-bar/search-bar-recent-queries.tsx | 2 +- .../search-bar/search-bar-save-queries.tsx | 2 +- .../search-bar/search-bar-view.test.tsx | 6 +- .../search-bar/search-bar-view.tsx | 2 +- .../sharing-dialog/advanced-view-switch.tsx | 2 +- .../sharing-dialog/participant-select.tsx | 2 +- .../sharing-dialog/permission-select.tsx | 2 +- .../sharing-dialog/select-item.tsx | 2 +- .../sharing-dialog-component.tsx | 2 +- .../sharing-dialog/sharing-dialog-content.tsx | 2 +- .../sharing-dialog/sharing-dialog.tsx | 2 +- .../sharing-invitation-form-component.tsx | 2 +- .../sharing-management-form-component.tsx | 2 +- .../sharing-public-access-form-component.tsx | 2 +- .../visibility-level-select.tsx | 2 +- .../side-panel-button/side-panel-button.tsx | 2 +- .../side-panel-tree/side-panel-tree.tsx | 2 +- .../side-panel/side-panel.tsx | 2 +- src/views-components/snackbar/snackbar.tsx | 4 +- .../ssh-keys-dialog/attributes-dialog.tsx | 2 +- .../ssh-keys-dialog/public-key-dialog.tsx | 2 +- .../token-dialog/token-dialog.test.tsx | 6 +- .../token-dialog/token-dialog.tsx | 6 +- .../user-dialog/attributes-dialog.tsx | 2 +- .../user-dialog/manage-dialog.tsx | 2 +- .../attributes-dialog.tsx | 2 +- .../webdav-s3-dialog.test.tsx | 12 +- .../webdav-s3-dialog/webdav-s3-dialog.tsx | 14 +- .../all-processes-panel.tsx | 2 +- .../api-client-authorization-panel-root.tsx | 2 +- .../collection-content-address-panel.tsx | 4 +- .../collection-panel/collection-panel.tsx | 2 +- .../compute-node-panel-root.tsx | 2 +- src/views/favorite-panel/favorite-panel.tsx | 2 +- .../group-details-panel.tsx | 2 +- src/views/groups-panel/groups-panel.tsx | 2 +- src/views/inactive-panel/inactive-panel.tsx | 2 +- .../keep-service-panel-root.tsx | 2 +- .../link-account-panel-root.tsx | 2 +- src/views/link-panel/link-panel-root.tsx | 2 +- src/views/login-panel/login-panel.tsx | 2 +- src/views/main-panel/main-panel-root.tsx | 2 +- .../my-account-panel-root.tsx | 2 +- .../not-found-panel-root.test.tsx | 4 +- .../not-found-panel/not-found-panel-root.tsx | 2 +- .../process-log-code-snippet.tsx | 2 +- .../process-log-panel/process-log-form.tsx | 2 +- .../process-log-main-card.tsx | 2 +- .../process-log-panel-root.tsx | 2 +- .../process-information-card.tsx | 4 +- .../process-panel/process-panel-root.tsx | 2 +- src/views/project-panel/project-panel.tsx | 2 +- .../public-favorites-panel.tsx | 2 +- .../repositories-panel/repositories-panel.tsx | 2 +- .../inputs/boolean-input.tsx | 2 +- .../inputs/directory-array-input.tsx | 2 +- .../inputs/directory-input.tsx | 2 +- .../run-process-panel/inputs/enum-input.tsx | 2 +- .../inputs/file-array-input.tsx | 2 +- .../run-process-panel/inputs/file-input.tsx | 2 +- .../inputs/float-array-input.tsx | 2 +- .../run-process-panel/inputs/float-input.tsx | 2 +- .../inputs/generic-input.tsx | 2 +- .../inputs/int-array-input.tsx | 2 +- .../run-process-panel/inputs/int-input.tsx | 2 +- .../inputs/string-array-input.tsx | 2 +- .../run-process-panel/inputs/string-input.tsx | 2 +- .../run-process-advanced-form.tsx | 2 +- .../run-process-basic-form.tsx | 2 +- .../run-process-first-step.tsx | 2 +- .../run-process-inputs-form.tsx | 2 +- .../run-process-panel-root.tsx | 2 +- .../run-process-second-step.tsx | 2 +- .../workflow-preset-select.tsx | 2 +- .../search-results-panel-view.tsx | 2 +- .../shared-with-me-panel.tsx | 2 +- .../site-manager-panel-root.tsx | 2 +- .../ssh-key-panel/ssh-key-panel-root.tsx | 2 +- .../subprocess-panel-root.tsx | 2 +- src/views/trash-panel/trash-panel.tsx | 2 +- src/views/user-panel/user-panel.tsx | 2 +- .../virtual-machine-admin-panel.tsx | 2 +- .../virtual-machine-user-panel.tsx | 2 +- src/views/workbench/fed-login.tsx | 2 +- .../workbench/workbench-loading-screen.tsx | 2 +- src/views/workbench/workbench.test.tsx | 4 +- src/views/workbench/workbench.tsx | 2 +- .../workflow-description-card.tsx | 2 +- src/views/workflow-panel/workflow-graph.tsx | 2 +- .../workflow-panel/workflow-panel-view.tsx | 2 +- yarn.lock | 1676 ++++++++--------- 266 files changed, 1119 insertions(+), 1315 deletions(-) diff --git a/package.json b/package.json index 6bef967e..2d64e21e 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,6 @@ "set-value": "2.0.1", "shell-quote": "1.6.1", "sinon": "7.3", - "ts-mock-imports": "1.2.6", "tslint": "5.20.0", "tslint-etc": "1.6.0", "unionize": "2.1.2", @@ -110,19 +109,17 @@ "node-sass-chokidar": "^1.3.4", "redux-devtools": "3.4.1", "redux-mock-store": "1.5.4", + "ts-mock-imports": "1.3.7", "typescript": "4.3.4", "wait-on": "4.0.2", "yamljs": "0.3.0" }, - "jest": { - "moduleNameMapper": { - "^~/(.*)$": "/src/$1" - } - }, "resolutions": { "fbjs/ua-parser-js": "0.7.24", "**/meow/trim-newlines": "^3.0.1", "react-rte/**/ua-parser-js": "0.7.24", + "**/@typescript-eslint/eslint-plugin": "^4.1.1", + "**/@typescript-eslint/parser": "^4.1.1", "webpack-dev-server/http-proxy-middleware/http-proxy": "^1.18.1", "webpack-dev-server/selfsigned/node-forge": "0.10.0", "webpack/node-libs-browser/crypto-browserify/*/elliptic": "6.5.4", diff --git a/src/common/config.ts b/src/common/config.ts index 5d943595..55e99e01 100644 --- a/src/common/config.ts +++ b/src/common/config.ts @@ -94,22 +94,22 @@ export interface ClusterConfigJSON { } export class Config { - baseUrl: string; - keepWebServiceUrl: string; - keepWebInlineServiceUrl: string; - remoteHosts: { + baseUrl!: string; + keepWebServiceUrl!: string; + keepWebInlineServiceUrl!: string; + remoteHosts!: { [key: string]: string }; - rootUrl: string; - uuidPrefix: string; - websocketUrl: string; - workbenchUrl: string; - workbench2Url: string; - vocabularyUrl: string; - fileViewersConfigUrl: string; - loginCluster: string; - clusterConfig: ClusterConfigJSON; - apiRevision: number; + rootUrl!: string; + uuidPrefix!: string; + websocketUrl!: string; + workbenchUrl!: string; + workbench2Url!: string; + vocabularyUrl!: string; + fileViewersConfigUrl!: string; + loginCluster!: string; + clusterConfig!: ClusterConfigJSON; + apiRevision!: number; } export const buildConfig = (clusterConfig: ClusterConfigJSON): Config => { diff --git a/src/common/objects.ts b/src/common/objects.ts index 0a01ed62..12dd004b 100644 --- a/src/common/objects.ts +++ b/src/common/objects.ts @@ -1,11 +1,11 @@ // Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 -import * as _ from "lodash"; +import { union, keys as keys_1, filter } from "lodash"; export function getModifiedKeys(a: any, b: any) { - const keys = _.union(_.keys(a), _.keys(b)); - return _.filter(keys, key => a[key] !== b[key]); + const keys = union(keys_1(a), keys_1(b)); + return filter(keys, key => a[key] !== b[key]); } export function getModifiedKeysValues(a: any, b: any) { diff --git a/src/common/plugintypes.ts b/src/common/plugintypes.ts index 327fb02d..da6e8059 100644 --- a/src/common/plugintypes.ts +++ b/src/common/plugintypes.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Dispatch, Middleware } from 'redux'; import { RootStore, RootState } from 'store/store'; import { ResourcesState } from 'store/resources/resources'; diff --git a/src/common/unionize.ts b/src/common/unionize.ts index b6844311..794b5f67 100644 --- a/src/common/unionize.ts +++ b/src/common/unionize.ts @@ -2,9 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -export * from 'unionize'; import { unionize as originalUnionize, SingleValueRec } from 'unionize'; +export * from 'unionize'; + export function unionize(record: Record) { return originalUnionize(record, { tag: 'type', diff --git a/src/components/autocomplete/autocomplete.tsx b/src/components/autocomplete/autocomplete.tsx index 67bc9fa1..cc184336 100644 --- a/src/components/autocomplete/autocomplete.tsx +++ b/src/components/autocomplete/autocomplete.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Input as MuiInput, Chip as MuiChip, diff --git a/src/components/breadcrumbs/breadcrumbs.test.tsx b/src/components/breadcrumbs/breadcrumbs.test.tsx index 8d146074..fe3d2ab0 100644 --- a/src/components/breadcrumbs/breadcrumbs.test.tsx +++ b/src/components/breadcrumbs/breadcrumbs.test.tsx @@ -2,10 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { configure, shallow } from "enzyme"; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { Breadcrumbs } from "./breadcrumbs"; import { Button } from "@material-ui/core"; import ChevronRightIcon from '@material-ui/icons/ChevronRight'; diff --git a/src/components/breadcrumbs/breadcrumbs.tsx b/src/components/breadcrumbs/breadcrumbs.tsx index 8ed0f0c4..21211460 100644 --- a/src/components/breadcrumbs/breadcrumbs.tsx +++ b/src/components/breadcrumbs/breadcrumbs.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Button, Grid, StyleRulesCallback, WithStyles, Typography, Tooltip } from '@material-ui/core'; import ChevronRightIcon from '@material-ui/icons/ChevronRight'; import { withStyles } from '@material-ui/core'; diff --git a/src/components/checkbox-field/checkbox-field.tsx b/src/components/checkbox-field/checkbox-field.tsx index a5d5b285..2b2a8a03 100644 --- a/src/components/checkbox-field/checkbox-field.tsx +++ b/src/components/checkbox-field/checkbox-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WrappedFieldProps } from 'redux-form'; import { FormControlLabel, Checkbox } from '@material-ui/core'; diff --git a/src/components/chips-input/chips-input.tsx b/src/components/chips-input/chips-input.tsx index dbffc483..32077fbe 100644 --- a/src/components/chips-input/chips-input.tsx +++ b/src/components/chips-input/chips-input.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Chips } from 'components/chips/chips'; import { Input as MuiInput, withStyles, WithStyles } from '@material-ui/core'; import { StyleRulesCallback } from '@material-ui/core/styles'; @@ -78,7 +78,7 @@ export const ChipsInput = withStyles(styles)( if (this.timeout) { clearTimeout(this.timeout); } - this.timeout = setTimeout(() => this.setState({ ...this.state })); + this.timeout = window.setTimeout(() => this.setState({ ...this.state })); } getInputStyles = (): React.CSSProperties => ({ diff --git a/src/components/chips/chips.tsx b/src/components/chips/chips.tsx index 75ae00f4..2a6fafc3 100644 --- a/src/components/chips/chips.tsx +++ b/src/components/chips/chips.tsx @@ -2,9 +2,18 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Chip, Grid, StyleRulesCallback, withStyles } from '@material-ui/core'; -import { DragSource, DragSourceSpec, DragSourceCollector, ConnectDragSource, DropTarget, DropTargetSpec, DropTargetCollector, ConnectDropTarget } from 'react-dnd'; +import { + DragSource, + DragSourceSpec, + DragSourceCollector, + ConnectDragSource, + DropTarget, + DropTargetSpec, + DropTargetCollector, + ConnectDropTarget +} from 'react-dnd'; import { compose } from 'lodash/fp'; import { WithStyles } from '@material-ui/core/styles'; interface ChipsProps { diff --git a/src/components/code-snippet/code-snippet.tsx b/src/components/code-snippet/code-snippet.tsx index fd6f7fc3..f0a2b213 100644 --- a/src/components/code-snippet/code-snippet.tsx +++ b/src/components/code-snippet/code-snippet.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, Typography, withStyles } from '@material-ui/core'; import { ArvadosTheme } from 'common/custom-theme'; import classNames from 'classnames'; diff --git a/src/components/collection-panel-files/collection-panel-files.test.tsx b/src/components/collection-panel-files/collection-panel-files.test.tsx index 86f823a0..8c85a9cc 100644 --- a/src/components/collection-panel-files/collection-panel-files.test.tsx +++ b/src/components/collection-panel-files/collection-panel-files.test.tsx @@ -2,10 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { configure, shallow, mount } from "enzyme"; import { WithStyles } from "@material-ui/core"; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { TreeItem, TreeItemStatus } from '../tree/tree'; import { FileTreeData } from '../file-tree/file-tree-data'; import { CollectionFileType } from "../../models/collection-file"; @@ -14,7 +14,7 @@ import { SearchInput } from '../search-input/search-input'; configure({ adapter: new Adapter() }); -jest.mock('~/components/file-tree/file-tree', () => ({ +jest.mock('components/file-tree/file-tree', () => ({ FileTree: () => 'FileTree', })); @@ -91,7 +91,7 @@ describe('', () => { props.items = items; const wrapper = mount(); wrapper.find(SearchInput).simulate('change', { target: { value: searchPhrase } }); - + // when setTimeout(() => { // we have to use set timeout because of the debounce expect(wrapper.find('FileTree').prop('items')) diff --git a/src/components/collection-panel-files/collection-panel-files.tsx b/src/components/collection-panel-files/collection-panel-files.tsx index 89f43636..4667248c 100644 --- a/src/components/collection-panel-files/collection-panel-files.tsx +++ b/src/components/collection-panel-files/collection-panel-files.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { TreeItem, TreeItemStatus } from 'components/tree/tree'; import { FileTreeData } from 'components/file-tree/file-tree-data'; import { FileTree } from 'components/file-tree/file-tree'; diff --git a/src/components/column-selector/column-selector.test.tsx b/src/components/column-selector/column-selector.test.tsx index 02265fc4..87fa2ca0 100644 --- a/src/components/column-selector/column-selector.test.tsx +++ b/src/components/column-selector/column-selector.test.tsx @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { mount, configure } from "enzyme"; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { ColumnSelector, ColumnSelectorTrigger } from "./column-selector"; import { ListItem, Checkbox } from "@material-ui/core"; import { DataColumns } from "../data-table/data-table"; diff --git a/src/components/column-selector/column-selector.tsx b/src/components/column-selector/column-selector.tsx index 23c73924..317e6bc0 100644 --- a/src/components/column-selector/column-selector.tsx +++ b/src/components/column-selector/column-selector.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WithStyles, StyleRulesCallback, withStyles, IconButton, Paper, List, Checkbox, ListItemText, ListItem, Tooltip } from '@material-ui/core'; import MenuIcon from "@material-ui/icons/Menu"; import { DataColumn } from '../data-table/data-column'; diff --git a/src/components/confirmation-dialog/confirmation-dialog.tsx b/src/components/confirmation-dialog/confirmation-dialog.tsx index baea2a61..28b19bb9 100644 --- a/src/components/confirmation-dialog/confirmation-dialog.tsx +++ b/src/components/confirmation-dialog/confirmation-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, DialogContentText } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { WarningIcon } from 'components/icon/icon'; diff --git a/src/components/context-menu/context-menu.test.tsx b/src/components/context-menu/context-menu.test.tsx index faf05f1f..31e77200 100644 --- a/src/components/context-menu/context-menu.test.tsx +++ b/src/components/context-menu/context-menu.test.tsx @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { mount, configure } from "enzyme"; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { ContextMenu } from "./context-menu"; import { ListItem } from "@material-ui/core"; import { ShareIcon } from "../icon/icon"; diff --git a/src/components/context-menu/context-menu.tsx b/src/components/context-menu/context-menu.tsx index ecade812..36f0903d 100644 --- a/src/components/context-menu/context-menu.tsx +++ b/src/components/context-menu/context-menu.tsx @@ -1,7 +1,7 @@ // Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Popover, List, ListItem, ListItemIcon, ListItemText, Divider } from "@material-ui/core"; import { DefaultTransformOrigin } from "../popover/helpers"; import { IconType } from "../icon/icon"; diff --git a/src/components/data-explorer/data-explorer.test.tsx b/src/components/data-explorer/data-explorer.test.tsx index 1d8738ab..dc7e8725 100644 --- a/src/components/data-explorer/data-explorer.test.tsx +++ b/src/components/data-explorer/data-explorer.test.tsx @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { configure, mount } from "enzyme"; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { DataExplorer } from "./data-explorer"; import { ColumnSelector } from "../column-selector/column-selector"; diff --git a/src/components/data-explorer/data-explorer.tsx b/src/components/data-explorer/data-explorer.tsx index febd71c2..a38d0ed6 100644 --- a/src/components/data-explorer/data-explorer.tsx +++ b/src/components/data-explorer/data-explorer.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Grid, Paper, Toolbar, StyleRulesCallback, withStyles, WithStyles, TablePagination, IconButton, Tooltip, Button } from '@material-ui/core'; import { ColumnSelector } from "components/column-selector/column-selector"; import { DataTable, DataColumns, DataTableFetchMode } from "components/data-table/data-table"; diff --git a/src/components/data-table-default-view/data-table-default-view.tsx b/src/components/data-table-default-view/data-table-default-view.tsx index cba2b81f..2869ab82 100644 --- a/src/components/data-table-default-view/data-table-default-view.tsx +++ b/src/components/data-table-default-view/data-table-default-view.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { DefaultViewDataProps, DefaultView } from 'components/default-view/default-view'; import { ArvadosTheme } from 'common/custom-theme'; diff --git a/src/components/data-table-filters/data-table-filters-popover.test.tsx b/src/components/data-table-filters/data-table-filters-popover.test.tsx index 3db2ef6a..d6d52c86 100644 --- a/src/components/data-table-filters/data-table-filters-popover.test.tsx +++ b/src/components/data-table-filters/data-table-filters-popover.test.tsx @@ -2,10 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { mount, configure } from "enzyme"; import { DataTableFiltersPopover } from "./data-table-filters-popover"; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { Checkbox, IconButton } from "@material-ui/core"; import { getInitialProcessStatusFilters } from "store/resource-type-filters/resource-type-filters" diff --git a/src/components/data-table-filters/data-table-filters-popover.tsx b/src/components/data-table-filters/data-table-filters-popover.tsx index 15136f38..3183157b 100644 --- a/src/components/data-table-filters/data-table-filters-popover.tsx +++ b/src/components/data-table-filters/data-table-filters-popover.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { WithStyles, withStyles, diff --git a/src/components/data-table-filters/data-table-filters-tree.tsx b/src/components/data-table-filters/data-table-filters-tree.tsx index ae2375ea..6514078d 100644 --- a/src/components/data-table-filters/data-table-filters-tree.tsx +++ b/src/components/data-table-filters/data-table-filters-tree.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Tree, toggleNodeSelection, getNode, initTreeNode, getNodeChildrenIds, selectNode, deselectNodes } from 'models/tree'; import { Tree as TreeComponent, TreeItem, TreeItemStatus } from 'components/tree/tree'; import { noop, map } from "lodash/fp"; diff --git a/src/components/data-table/data-column.ts b/src/components/data-table/data-column.ts index 1111638d..f32fea2b 100644 --- a/src/components/data-table/data-column.ts +++ b/src/components/data-table/data-column.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { DataTableFilters } from "../data-table-filters/data-table-filters-tree"; import { createTree } from 'models/tree'; diff --git a/src/components/data-table/data-table.test.tsx b/src/components/data-table/data-table.test.tsx index 5e591ffc..85379e9a 100644 --- a/src/components/data-table/data-table.test.tsx +++ b/src/components/data-table/data-table.test.tsx @@ -2,11 +2,11 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { mount, configure } from "enzyme"; import { pipe } from 'lodash/fp'; import { TableHead, TableCell, Typography, TableBody, Button, TableSortLabel } from "@material-ui/core"; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { DataTable, DataColumns } from "./data-table"; import { SortDirection, createDataColumn } from "./data-column"; import { DataTableFiltersPopover } from 'components/data-table-filters/data-table-filters-popover'; diff --git a/src/components/data-table/data-table.tsx b/src/components/data-table/data-table.tsx index 589dc0d3..0c84f642 100644 --- a/src/components/data-table/data-table.tsx +++ b/src/components/data-table/data-table.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Table, TableBody, TableRow, TableCell, TableHead, TableSortLabel, StyleRulesCallback, Theme, WithStyles, withStyles, IconButton } from '@material-ui/core'; import classnames from 'classnames'; import { DataColumn, SortDirection } from './data-column'; diff --git a/src/components/default-code-snippet/default-code-snippet.tsx b/src/components/default-code-snippet/default-code-snippet.tsx index b7ba25da..7ba97db4 100644 --- a/src/components/default-code-snippet/default-code-snippet.tsx +++ b/src/components/default-code-snippet/default-code-snippet.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles'; import { CodeSnippet, CodeSnippetDataProps } from 'components/code-snippet/code-snippet'; import grey from '@material-ui/core/colors/grey'; diff --git a/src/components/default-view/default-view.tsx b/src/components/default-view/default-view.tsx index 44db79d1..6e89db25 100644 --- a/src/components/default-view/default-view.tsx +++ b/src/components/default-view/default-view.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { ArvadosTheme } from '../../common/custom-theme'; import { Typography } from '@material-ui/core'; diff --git a/src/components/details-attribute/details-attribute.tsx b/src/components/details-attribute/details-attribute.tsx index e98b84d0..7b2b119b 100644 --- a/src/components/details-attribute/details-attribute.tsx +++ b/src/components/details-attribute/details-attribute.tsx @@ -2,15 +2,15 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect, DispatchProp } from 'react-redux'; import Typography from '@material-ui/core/Typography'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { Tooltip } from '@material-ui/core'; import { CopyIcon } from 'components/icon/icon'; -import * as CopyToClipboard from 'react-copy-to-clipboard'; +import CopyToClipboard from 'react-copy-to-clipboard'; import { ArvadosTheme } from 'common/custom-theme'; -import * as classnames from "classnames"; +import classnames from "classnames"; import { Link } from 'react-router-dom'; import { RootState } from "store/store"; import { FederationConfig, getNavUrl } from "routes/routes"; diff --git a/src/components/dropdown-menu/dropdown-menu.test.tsx b/src/components/dropdown-menu/dropdown-menu.test.tsx index 32039939..e5bd1d1f 100644 --- a/src/components/dropdown-menu/dropdown-menu.test.tsx +++ b/src/components/dropdown-menu/dropdown-menu.test.tsx @@ -2,10 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { shallow, configure } from "enzyme"; import { DropdownMenu } from "./dropdown-menu"; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { MenuItem, IconButton, Menu } from "@material-ui/core"; import { PaginationRightArrowIcon } from "../icon/icon"; diff --git a/src/components/dropdown-menu/dropdown-menu.tsx b/src/components/dropdown-menu/dropdown-menu.tsx index cd68d5ba..bb661bc2 100644 --- a/src/components/dropdown-menu/dropdown-menu.tsx +++ b/src/components/dropdown-menu/dropdown-menu.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import Menu from '@material-ui/core/Menu'; import IconButton from '@material-ui/core/IconButton'; import { PopoverOrigin } from '@material-ui/core/Popover'; diff --git a/src/components/file-tree/file-thumbnail.test.tsx b/src/components/file-tree/file-thumbnail.test.tsx index a23bbcf9..29937468 100644 --- a/src/components/file-tree/file-thumbnail.test.tsx +++ b/src/components/file-tree/file-thumbnail.test.tsx @@ -2,11 +2,11 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { configure, mount } from "enzyme"; import { FileThumbnail } from "./file-thumbnail"; import { CollectionFileType } from '../../models/collection-file'; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { Provider } from "react-redux"; import { combineReducers, createStore } from "redux"; diff --git a/src/components/file-tree/file-thumbnail.tsx b/src/components/file-tree/file-thumbnail.tsx index 8775456e..9c651e76 100644 --- a/src/components/file-tree/file-thumbnail.tsx +++ b/src/components/file-tree/file-thumbnail.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import isImage from 'is-image'; import { withStyles, WithStyles } from '@material-ui/core'; import { FileTreeData } from 'components/file-tree/file-tree-data'; diff --git a/src/components/file-tree/file-tree-item.tsx b/src/components/file-tree/file-tree-item.tsx index eaee5cc3..b522637d 100644 --- a/src/components/file-tree/file-tree-item.tsx +++ b/src/components/file-tree/file-tree-item.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { TreeItem } from "../tree/tree"; import { DirectoryIcon, MoreOptionsIcon, DefaultIcon, FileIcon } from "../icon/icon"; import { Typography, IconButton, StyleRulesCallback, withStyles, WithStyles, Tooltip } from '@material-ui/core'; diff --git a/src/components/file-tree/file-tree.tsx b/src/components/file-tree/file-tree.tsx index b5d98c08..e24fbb71 100644 --- a/src/components/file-tree/file-tree.tsx +++ b/src/components/file-tree/file-tree.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { TreeItem, TreeItemStatus } from "../tree/tree"; import { VirtualTree as Tree } from "../tree/virtual-tree"; import { FileTreeData } from "./file-tree-data"; diff --git a/src/components/file-upload/file-upload.tsx b/src/components/file-upload/file-upload.tsx index 73f14210..617529cd 100644 --- a/src/components/file-upload/file-upload.tsx +++ b/src/components/file-upload/file-upload.tsx @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import * as classnames from 'classnames'; +import React from 'react'; +import classnames from 'classnames'; import { Grid, StyleRulesCallback, diff --git a/src/components/float-input/float-input.tsx b/src/components/float-input/float-input.tsx index 16e18cb1..1b909306 100644 --- a/src/components/float-input/float-input.tsx +++ b/src/components/float-input/float-input.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Input } from '@material-ui/core'; import { InputProps } from '@material-ui/core/Input'; diff --git a/src/components/form-dialog/form-dialog.tsx b/src/components/form-dialog/form-dialog.tsx index 2967d751..19145cea 100644 --- a/src/components/form-dialog/form-dialog.tsx +++ b/src/components/form-dialog/form-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { Dialog, DialogActions, DialogContent, DialogTitle } from '@material-ui/core/'; import { Button, StyleRulesCallback, WithStyles, withStyles, CircularProgress } from '@material-ui/core'; diff --git a/src/components/form-field/form-field.tsx b/src/components/form-field/form-field.tsx index 32362ac4..81e08813 100644 --- a/src/components/form-field/form-field.tsx +++ b/src/components/form-field/form-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WrappedFieldProps, WrappedFieldInputProps } from 'redux-form'; import { FormGroup, FormLabel, FormHelperText } from '@material-ui/core'; diff --git a/src/components/icon/icon.tsx b/src/components/icon/icon.tsx index 6bbacaf4..26ce4fea 100644 --- a/src/components/icon/icon.tsx +++ b/src/components/icon/icon.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Badge, Tooltip } from '@material-ui/core'; import Add from '@material-ui/icons/Add'; import ArrowBack from '@material-ui/icons/ArrowBack'; diff --git a/src/components/int-input/int-input.tsx b/src/components/int-input/int-input.tsx index 0527efa3..26277b49 100644 --- a/src/components/int-input/int-input.tsx +++ b/src/components/int-input/int-input.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Input } from '@material-ui/core'; import { InputProps } from '@material-ui/core/Input'; diff --git a/src/components/list-item-text-icon/list-item-text-icon.tsx b/src/components/list-item-text-icon/list-item-text-icon.tsx index ef6f3219..226556aa 100644 --- a/src/components/list-item-text-icon/list-item-text-icon.tsx +++ b/src/components/list-item-text-icon/list-item-text-icon.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { ArvadosTheme } from 'common/custom-theme'; import { ListItemIcon, ListItemText, Typography } from '@material-ui/core'; diff --git a/src/components/panel-default-view/panel-default-view.tsx b/src/components/panel-default-view/panel-default-view.tsx index f9ff7f1a..c364bb75 100644 --- a/src/components/panel-default-view/panel-default-view.tsx +++ b/src/components/panel-default-view/panel-default-view.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { DefaultViewDataProps, DefaultView } from 'components/default-view/default-view'; diff --git a/src/components/popover/popover.test.tsx b/src/components/popover/popover.test.tsx index 4bc2ebd4..c728b49f 100644 --- a/src/components/popover/popover.test.tsx +++ b/src/components/popover/popover.test.tsx @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { mount, configure } from "enzyme"; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { Popover, DefaultTrigger } from "./popover"; import Button, { ButtonProps } from "@material-ui/core/Button"; diff --git a/src/components/popover/popover.tsx b/src/components/popover/popover.tsx index 9f3cd780..ce9f8ce2 100644 --- a/src/components/popover/popover.tsx +++ b/src/components/popover/popover.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Popover as MaterialPopover } from '@material-ui/core'; import { PopoverOrigin } from '@material-ui/core/Popover'; diff --git a/src/components/progress-button/progress-button.tsx b/src/components/progress-button/progress-button.tsx index 14286dd2..751373cc 100644 --- a/src/components/progress-button/progress-button.tsx +++ b/src/components/progress-button/progress-button.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import Button, { ButtonProps } from '@material-ui/core/Button'; import { CircularProgress, withStyles } from '@material-ui/core'; import { CircularProgressProps } from '@material-ui/core/CircularProgress'; diff --git a/src/components/refresh-button/refresh-button.test.tsx b/src/components/refresh-button/refresh-button.test.tsx index fe7b609d..f9fa32d2 100644 --- a/src/components/refresh-button/refresh-button.test.tsx +++ b/src/components/refresh-button/refresh-button.test.tsx @@ -2,10 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Button } from "@material-ui/core"; import { shallow, configure } from "enzyme"; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { RefreshButton } from './refresh-button'; configure({ adapter: new Adapter() }); diff --git a/src/components/refresh-button/refresh-button.tsx b/src/components/refresh-button/refresh-button.tsx index b62add72..f2c41d28 100644 --- a/src/components/refresh-button/refresh-button.tsx +++ b/src/components/refresh-button/refresh-button.tsx @@ -3,8 +3,8 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import * as classNames from 'classnames'; +import React from 'react'; +import classNames from 'classnames'; import { withRouter, RouteComponentProps } from 'react-router'; import { StyleRulesCallback, Button, WithStyles, withStyles } from "@material-ui/core"; import { ReRunProcessIcon } from 'components/icon/icon'; diff --git a/src/components/rich-text-editor-link/rich-text-editor-link.tsx b/src/components/rich-text-editor-link/rich-text-editor-link.tsx index a1dd4059..68a8c035 100644 --- a/src/components/rich-text-editor-link/rich-text-editor-link.tsx +++ b/src/components/rich-text-editor-link/rich-text-editor-link.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Dispatch } from 'redux'; import { connect } from 'react-redux'; import { withStyles, StyleRulesCallback, WithStyles, Typography } from '@material-ui/core'; diff --git a/src/components/search-input/search-input.test.tsx b/src/components/search-input/search-input.test.tsx index a983a409..90c52b76 100644 --- a/src/components/search-input/search-input.test.tsx +++ b/src/components/search-input/search-input.test.tsx @@ -2,11 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { mount, configure } from "enzyme"; import { SearchInput, DEFAULT_SEARCH_DEBOUNCE } from "./search-input"; - -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; configure({ adapter: new Adapter() }); diff --git a/src/components/search-input/search-input.tsx b/src/components/search-input/search-input.tsx index 02c193c2..5d5a9a22 100644 --- a/src/components/search-input/search-input.tsx +++ b/src/components/search-input/search-input.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { IconButton, StyleRulesCallback, withStyles, WithStyles, FormControl, InputLabel, Input, InputAdornment, Tooltip } from '@material-ui/core'; import SearchIcon from '@material-ui/icons/Search'; diff --git a/src/components/select-field/select-field.tsx b/src/components/select-field/select-field.tsx index a183f6f0..e4dcad6c 100644 --- a/src/components/select-field/select-field.tsx +++ b/src/components/select-field/select-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WrappedFieldProps } from 'redux-form'; import { ArvadosTheme } from 'common/custom-theme'; import { StyleRulesCallback, WithStyles, withStyles, FormControl, InputLabel, Select, FormHelperText } from '@material-ui/core'; diff --git a/src/components/subprocess-filter/subprocess-filter.tsx b/src/components/subprocess-filter/subprocess-filter.tsx index 6ab2d6db..1722de8f 100644 --- a/src/components/subprocess-filter/subprocess-filter.tsx +++ b/src/components/subprocess-filter/subprocess-filter.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { ArvadosTheme } from 'common/custom-theme'; import { Typography, Switch } from '@material-ui/core'; diff --git a/src/components/switch-field/switch-field.tsx b/src/components/switch-field/switch-field.tsx index faa2f9c4..0c63a36c 100644 --- a/src/components/switch-field/switch-field.tsx +++ b/src/components/switch-field/switch-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { FormFieldProps, FormField } from 'components/form-field/form-field'; import { Switch } from '@material-ui/core'; import { SwitchProps } from '@material-ui/core/Switch'; diff --git a/src/components/text-field/text-field.tsx b/src/components/text-field/text-field.tsx index cb908fa0..09fa2dd8 100644 --- a/src/components/text-field/text-field.tsx +++ b/src/components/text-field/text-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WrappedFieldProps } from 'redux-form'; import { ArvadosTheme } from 'common/custom-theme'; import { @@ -13,7 +13,7 @@ import { PropTypes } from '@material-ui/core'; import RichTextEditor from 'react-rte'; -import Margin = PropTypes.Margin; +import Margin from 'PropTypes'; type CssRules = 'textField' | 'rte'; diff --git a/src/components/tree/tree.test.tsx b/src/components/tree/tree.test.tsx index a153ec06..8a4854b5 100644 --- a/src/components/tree/tree.test.tsx +++ b/src/components/tree/tree.test.tsx @@ -1,10 +1,10 @@ // Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { mount } from 'enzyme'; import * as Enzyme from 'enzyme'; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import ListItem from "@material-ui/core/ListItem/ListItem"; import { Tree, TreeItem, TreeItemStatus } from './tree'; diff --git a/src/components/tree/tree.tsx b/src/components/tree/tree.tsx index 3b1145fe..1b77b5d9 100644 --- a/src/components/tree/tree.tsx +++ b/src/components/tree/tree.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { List, ListItem, ListItemIcon, Checkbox, Radio, Collapse } from "@material-ui/core"; import { StyleRulesCallback, withStyles, WithStyles } from '@material-ui/core/styles'; import { CollectionIcon, DefaultIcon, DirectoryIcon, FileIcon, ProjectIcon, FilterGroupIcon } from 'components/icon/icon'; diff --git a/src/components/tree/virtual-tree.tsx b/src/components/tree/virtual-tree.tsx index 97be1a1c..f353fd05 100644 --- a/src/components/tree/virtual-tree.tsx +++ b/src/components/tree/virtual-tree.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import classnames from "classnames"; import { StyleRulesCallback, withStyles, WithStyles } from '@material-ui/core/styles'; import { ReactElement } from "react"; diff --git a/src/components/warning-collection/warning-collection.tsx b/src/components/warning-collection/warning-collection.tsx index 570d0e49..deb67100 100644 --- a/src/components/warning-collection/warning-collection.tsx +++ b/src/components/warning-collection/warning-collection.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { WarningIcon } from "components/icon/icon"; import { StyleRulesCallback, DialogContentText, WithStyles, withStyles } from "@material-ui/core"; import { ArvadosTheme } from 'common/custom-theme'; diff --git a/src/components/warning/warning.tsx b/src/components/warning/warning.tsx index 8273cea6..d459a37d 100644 --- a/src/components/warning/warning.tsx +++ b/src/components/warning/warning.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { ErrorIcon } from "components/icon/icon"; import { Tooltip } from "@material-ui/core"; import { disallowSlash } from "validators/valid-name"; diff --git a/src/components/workflow-inputs-form/workflow-input.tsx b/src/components/workflow-inputs-form/workflow-input.tsx index 39194445..d555d3cc 100644 --- a/src/components/workflow-inputs-form/workflow-input.tsx +++ b/src/components/workflow-inputs-form/workflow-input.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { CommandInputParameter } from 'models/workflow'; import { TextField } from '@material-ui/core'; import { required } from 'components/workflow-inputs-form/validators'; diff --git a/src/index.tsx b/src/index.tsx index 10fa1f5b..b1eca99e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import * as ReactDOM from 'react-dom'; +import React from 'react'; +import ReactDOM from 'react-dom'; import { Provider } from "react-redux"; import { MainPanel } from 'views/main-panel/main-panel'; import 'index.css'; diff --git a/src/plugins/blank/index.tsx b/src/plugins/blank/index.tsx index 6b69e340..4de9813b 100644 --- a/src/plugins/blank/index.tsx +++ b/src/plugins/blank/index.tsx @@ -5,7 +5,7 @@ // Example plugin. import { PluginConfig } from 'common/plugintypes'; -import * as React from 'react'; +import React from 'react'; export const register = (pluginConfig: PluginConfig) => { diff --git a/src/plugins/example/exampleComponents.tsx b/src/plugins/example/exampleComponents.tsx index a145f07d..88b8dc03 100644 --- a/src/plugins/example/exampleComponents.tsx +++ b/src/plugins/example/exampleComponents.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { ServiceRepository } from "services/services"; import { Dispatch } from "redux"; diff --git a/src/plugins/example/index.tsx b/src/plugins/example/index.tsx index c15036ca..5c7a1a71 100644 --- a/src/plugins/example/index.tsx +++ b/src/plugins/example/index.tsx @@ -5,7 +5,7 @@ // Example workbench plugin. The entry point is the "register" method. import { PluginConfig } from 'common/plugintypes'; -import * as React from 'react'; +import React from 'react'; import { Dispatch } from 'redux'; import { RootState } from 'store/store'; import { push } from "react-router-redux"; diff --git a/src/services/api/order-builder.ts b/src/services/api/order-builder.ts index 03f2696a..a624605f 100644 --- a/src/services/api/order-builder.ts +++ b/src/services/api/order-builder.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as _ from "lodash"; +import { snakeCase } from "lodash"; import { Resource } from "src/models/resource"; export enum OrderDirection { ASC, DESC } @@ -12,7 +12,7 @@ export class OrderBuilder { constructor(private order: string[] = []) {} addOrder(direction: OrderDirection, attribute: keyof T, prefix?: string) { - this.order.push(`${prefix ? prefix + "." : ""}${_.snakeCase(attribute.toString())} ${direction === OrderDirection.ASC ? "asc" : "desc"}`); + this.order.push(`${prefix ? prefix + "." : ""}${snakeCase(attribute.toString())} ${direction === OrderDirection.ASC ? "asc" : "desc"}`); return this; } diff --git a/src/services/common-service/common-resource-service.ts b/src/services/common-service/common-resource-service.ts index 69c4bac3..f2048c6b 100644 --- a/src/services/common-service/common-resource-service.ts +++ b/src/services/common-service/common-resource-service.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import { AxiosInstance } from "axios"; -import * as _ from "lodash"; +import { snakeCase } from "lodash"; import { Resource } from "src/models/resource"; import { ApiActions } from "services/api/api-actions"; import { CommonService } from "services/common-service/common-service"; @@ -31,7 +31,7 @@ export class CommonResourceService extends CommonService if (data !== undefined) { this.readOnlyFields.forEach( field => delete data[field] ); payload = { - [this.resourceType.slice(0, -1)]: CommonService.mapKeys(_.snakeCase)(data), + [this.resourceType.slice(0, -1)]: CommonService.mapKeys(snakeCase)(data), }; } return super.create(payload); @@ -42,7 +42,7 @@ export class CommonResourceService extends CommonService if (data !== undefined) { this.readOnlyFields.forEach( field => delete data[field] ); payload = { - [this.resourceType.slice(0, -1)]: CommonService.mapKeys(_.snakeCase)(data), + [this.resourceType.slice(0, -1)]: CommonService.mapKeys(snakeCase)(data), }; } return super.update(uuid, payload); diff --git a/src/services/common-service/common-service.ts b/src/services/common-service/common-service.ts index 6c2ba8fb..c19c1978 100644 --- a/src/services/common-service/common-service.ts +++ b/src/services/common-service/common-service.ts @@ -2,11 +2,11 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as _ from "lodash"; +import { camelCase, isPlainObject, isArray, snakeCase } from "lodash"; import { AxiosInstance, AxiosPromise } from "axios"; -import * as uuid from "uuid/v4"; +import uuid from "uuid/v4"; import { ApiActions } from "services/api/api-actions"; -import * as QueryString from "query-string"; +import QueryString from "query-string"; interface Errors { status: number; @@ -48,12 +48,12 @@ export class CommonService { } static mapResponseKeys = (response: { data: any }) => - CommonService.mapKeys(_.camelCase)(response.data) + CommonService.mapKeys(camelCase)(response.data) static mapKeys = (mapFn: (key: string) => string) => (value: any): any => { switch (true) { - case _.isPlainObject(value): + case isPlainObject(value): return Object .keys(value) .map(key => [key, mapFn(key)]) @@ -61,7 +61,7 @@ export class CommonService { ...newValue, [newKey]: (key === 'items') ? CommonService.mapKeys(mapFn)(value[key]) : value[key] }), {}); - case _.isArray(value): + case isArray(value): return value.map(CommonService.mapKeys(mapFn)); default: return value; @@ -97,7 +97,7 @@ export class CommonService { create(data?: Partial, showErrors?: boolean) { return CommonService.defaultResponse( this.serverApi - .post(`/${this.resourceType}`, data && CommonService.mapKeys(_.snakeCase)(data)), + .post(`/${this.resourceType}`, data && CommonService.mapKeys(snakeCase)(data)), this.actions, true, // mapKeys showErrors @@ -127,7 +127,7 @@ export class CommonService { list(args: ListArguments = {}): Promise> { const { filters, order, ...other } = args; const params = { - ...CommonService.mapKeys(_.snakeCase)(other), + ...CommonService.mapKeys(snakeCase)(other), filters: filters ? `[${filters}]` : undefined, order: order ? order : undefined }; @@ -161,7 +161,7 @@ export class CommonService { this.validateUuid(uuid); return CommonService.defaultResponse( this.serverApi - .put(`/${this.resourceType}/${uuid}`, data && CommonService.mapKeys(_.snakeCase)(data)), + .put(`/${this.resourceType}/${uuid}`, data && CommonService.mapKeys(snakeCase)(data)), this.actions ); } diff --git a/src/services/common-service/trashable-resource-service.ts b/src/services/common-service/trashable-resource-service.ts index 8f93bb55..f0555299 100644 --- a/src/services/common-service/trashable-resource-service.ts +++ b/src/services/common-service/trashable-resource-service.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as _ from "lodash"; +import { snakeCase } from "lodash"; import { AxiosInstance } from "axios"; import { TrashableResource } from "src/models/resource"; import { CommonResourceService } from "services/common-service/common-resource-service"; @@ -29,7 +29,7 @@ export class TrashableResourceService extends Commo return CommonResourceService.defaultResponse( this.serverApi .post(this.resourceType + `/${uuid}/untrash`, { - params: CommonResourceService.mapKeys(_.snakeCase)(params) + params: CommonResourceService.mapKeys(snakeCase)(params) }), this.actions ); diff --git a/src/services/groups-service/groups-service.ts b/src/services/groups-service/groups-service.ts index 24c120fc..dc6a798c 100644 --- a/src/services/groups-service/groups-service.ts +++ b/src/services/groups-service/groups-service.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as _ from "lodash"; +import { snakeCase, camelCase } from "lodash"; import { CommonResourceService } from 'services/common-service/common-resource-service'; import { ListResults, ListArguments } from 'services/common-service/common-service'; import { AxiosInstance, AxiosRequestConfig } from "axios"; @@ -50,7 +50,7 @@ export class GroupsService extends Tras }; const pathUrl = uuid ? `/${uuid}/contents` : '/contents'; - const cfg: AxiosRequestConfig = { params: CommonResourceService.mapKeys(_.snakeCase)(params) }; + const cfg: AxiosRequestConfig = { params: CommonResourceService.mapKeys(snakeCase)(params) }; if (session) { cfg.baseURL = session.baseUrl; cfg.headers = { 'Authorization': 'Bearer ' + session.token }; @@ -60,7 +60,7 @@ export class GroupsService extends Tras this.serverApi.get(this.resourceType + pathUrl, cfg), this.actions, false ); - return { ...TrashableResourceService.mapKeys(_.camelCase)(response), clusterId: session && session.clusterId }; + return { ...TrashableResourceService.mapKeys(camelCase)(response), clusterId: session && session.clusterId }; } shared(params: SharedArguments = {}): Promise> { diff --git a/src/store/advanced-tab/advanced-tab.tsx b/src/store/advanced-tab/advanced-tab.tsx index dd318bd5..cf30669d 100644 --- a/src/store/advanced-tab/advanced-tab.tsx +++ b/src/store/advanced-tab/advanced-tab.tsx @@ -23,7 +23,7 @@ import { LinkResource } from 'models/link'; import { KeepServiceResource } from 'models/keep-services'; import { NodeResource } from 'models/node'; import { ApiClientAuthorization } from 'models/api-client-authorization'; -import * as React from 'react'; +import React from 'react'; export const ADVANCED_TAB_DIALOG = 'advancedTabDialog'; diff --git a/src/store/auth/auth-action-session.ts b/src/store/auth/auth-action-session.ts index fcb537c1..2712f136 100644 --- a/src/store/auth/auth-action-session.ts +++ b/src/store/auth/auth-action-session.ts @@ -18,7 +18,7 @@ import { Session, SessionStatus } from "models/session"; import { progressIndicatorActions } from "store/progress-indicator/progress-indicator-actions"; import { AuthService } from "services/auth-service/auth-service"; import { snackbarActions, SnackbarKind } from "store/snackbar/snackbar-actions"; -import * as jsSHA from "jssha"; +import jsSHA from "jssha"; const getClusterConfig = async (origin: string, apiClient: AxiosInstance): Promise => { let configFromDD: Config | undefined; diff --git a/src/store/auth/auth-action.ts b/src/store/auth/auth-action.ts index 31d3d329..1bdb15d1 100644 --- a/src/store/auth/auth-action.ts +++ b/src/store/auth/auth-action.ts @@ -42,8 +42,8 @@ export const initAuth = (config: Config) => async (dispatch: Dispatch, getState: // Cancel any link account ops in progress unless the user has // just logged in or there has been a successful link operation const data = services.linkAccountService.getLinkOpStatus(); - if (!matchTokenRoute(location.pathname) && - (!matchFedTokenRoute(location.pathname)) && data === undefined) { + if (!matchTokenRoute(window.location.pathname) && + (!matchFedTokenRoute(window.location.pathname)) && data === undefined) { await dispatch(cancelLinking()); } return dispatch(init(config)); diff --git a/src/store/collections/collection-partial-copy-actions.ts b/src/store/collections/collection-partial-copy-actions.ts index 6ac6c10f..849716eb 100644 --- a/src/store/collections/collection-partial-copy-actions.ts +++ b/src/store/collections/collection-partial-copy-actions.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import { Dispatch } from 'redux'; -import * as _ from "lodash"; +import { difference } from "lodash"; import { RootState } from 'store/store'; import { FormErrors, initialize, startSubmit, stopSubmit } from 'redux-form'; import { resetPickerProjectTree } from 'store/project-tree-picker/project-tree-picker-actions'; @@ -133,7 +133,7 @@ export const copyCollectionPartialToSelectedCollection = ({ collectionUuid }: Co return; } }); - const diffPathToRemove = _.difference(paths, pathsToRemove); + const diffPathToRemove = difference(paths, pathsToRemove); await services.collectionService.deleteFiles(selectedCollection.uuid, pathsToRemove.map(path => path.replace(currentCollection.uuid, collectionUuid))); const collectionWithDeletedFiles = await services.collectionService.get(collectionUuid); await services.collectionService.update(collectionUuid, { manifestText: `${collectionWithDeletedFiles.manifestText}${(currentCollection.manifestText ? currentCollection.manifestText : currentCollection.unsignedManifestText) || ''}` }); diff --git a/src/store/dialog/with-dialog.ts b/src/store/dialog/with-dialog.ts index 6eaee0d2..78543fc9 100644 --- a/src/store/dialog/with-dialog.ts +++ b/src/store/dialog/with-dialog.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect } from 'react-redux'; import { DialogState } from './dialog-reducer'; import { Dispatch } from 'redux'; diff --git a/src/store/file-uploader/file-uploader-reducer.ts b/src/store/file-uploader/file-uploader-reducer.ts index cadafe01..c1f9c681 100644 --- a/src/store/file-uploader/file-uploader-reducer.ts +++ b/src/store/file-uploader/file-uploader-reducer.ts @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import { UploadFile, fileUploaderActions, FileUploaderAction } from "./file-uploader-actions"; -import * as _ from 'lodash'; +import { uniqBy } from 'lodash'; export type UploaderState = UploadFile[]; @@ -33,7 +33,7 @@ export const fileUploaderReducer = (state: UploaderState = initialState, action: currentTime: 0 })); const updatedState = state.concat(updateFiles); - const uniqUpdatedState = _.uniqBy(updatedState, 'file.name'); + const uniqUpdatedState = uniqBy(updatedState, 'file.name'); return uniqUpdatedState; }, diff --git a/src/store/link-account-panel/link-account-panel-actions.ts b/src/store/link-account-panel/link-account-panel-actions.ts index 5fb6160c..5ca7494f 100644 --- a/src/store/link-account-panel/link-account-panel-actions.ts +++ b/src/store/link-account-panel/link-account-panel-actions.ts @@ -73,16 +73,20 @@ export const checkForLinkStatus = () => let msg: string; let msgKind: SnackbarKind; if (status.valueOf() === LinkAccountStatus.CANCELLED) { - msg = "Account link cancelled!", msgKind = SnackbarKind.INFO; + msg = "Account link cancelled!"; + msgKind = SnackbarKind.INFO; } else if (status.valueOf() === LinkAccountStatus.FAILED) { - msg = "Account link failed!", msgKind = SnackbarKind.ERROR; + msg = "Account link failed!"; + msgKind = SnackbarKind.ERROR; } else if (status.valueOf() === LinkAccountStatus.SUCCESS) { - msg = "Account link success!", msgKind = SnackbarKind.SUCCESS; + msg = "Account link success!"; + msgKind = SnackbarKind.SUCCESS; } else { - msg = "Unknown Error!", msgKind = SnackbarKind.ERROR; + msg = "Unknown Error!"; + msgKind = SnackbarKind.ERROR; } dispatch(snackbarActions.OPEN_SNACKBAR({ message: msg, kind: msgKind, hideDuration: 3000 })); services.linkAccountService.removeLinkOpStatus(); @@ -108,7 +112,7 @@ export const linkFailed = () => } services.linkAccountService.removeAccountToLink(); services.linkAccountService.saveLinkOpStatus(LinkAccountStatus.FAILED); - location.reload(); + window.location.reload(); }; export const loadLinkAccountPanel = () => @@ -242,7 +246,7 @@ export const cancelLinking = (reload: boolean = false) => } finally { if (reload) { - location.reload(); + window.location.reload(); } else { dispatch(progressIndicatorActions.STOP_WORKING(WORKBENCH_LOADING_SCREEN)); @@ -277,7 +281,7 @@ export const linkAccount = () => dispatch(switchUser(linkState.targetUser, linkState.targetUserToken)); services.linkAccountService.removeAccountToLink(); services.linkAccountService.saveLinkOpStatus(LinkAccountStatus.SUCCESS); - location.reload(); + window.location.reload(); } catch (e) { // If the link operation fails, delete the previously made project diff --git a/src/store/progress-indicator/with-progress.ts b/src/store/progress-indicator/with-progress.ts index a0c44a36..2d089fce 100644 --- a/src/store/progress-indicator/with-progress.ts +++ b/src/store/progress-indicator/with-progress.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect } from 'react-redux'; import { RootState } from 'store/store'; diff --git a/src/store/resource-type-filters/resource-type-filters.test.ts b/src/store/resource-type-filters/resource-type-filters.test.ts index 0326e700..71b00b2e 100644 --- a/src/store/resource-type-filters/resource-type-filters.test.ts +++ b/src/store/resource-type-filters/resource-type-filters.test.ts @@ -89,7 +89,7 @@ describe("serializeResourceTypeFilters", () => { it("should serialize filter groups", () => { const filters = pipe( () => getInitialResourceTypeFilters(), - deselectNode(GroupTypeFilter.PROJECT) + deselectNode(GroupTypeFilter.PROJECT), deselectNode(ObjectTypeFilter.PROCESS), deselectNode(ObjectTypeFilter.COLLECTION), )(); @@ -102,7 +102,7 @@ describe("serializeResourceTypeFilters", () => { it("should serialize projects (normal)", () => { const filters = pipe( () => getInitialResourceTypeFilters(), - deselectNode(GroupTypeFilter.FILTER_GROUP) + deselectNode(GroupTypeFilter.FILTER_GROUP), deselectNode(ObjectTypeFilter.PROCESS), deselectNode(ObjectTypeFilter.COLLECTION), )(); diff --git a/src/store/run-process-panel/run-process-panel-actions.test.ts b/src/store/run-process-panel/run-process-panel-actions.test.ts index e9191293..7edc4cff 100644 --- a/src/store/run-process-panel/run-process-panel-actions.test.ts +++ b/src/store/run-process-panel/run-process-panel-actions.test.ts @@ -8,7 +8,7 @@ jest.mock("../navigation/navigation-action", () => ({ navigateTo: (link: any) => link, })); -jest.mock("~/models/process", () => ({ +jest.mock("models/process", () => ({ createWorkflowMounts: jest.fn(), })); diff --git a/src/store/search-bar/search-bar-actions.ts b/src/store/search-bar/search-bar-actions.ts index b4e9ede5..7d76ec69 100644 --- a/src/store/search-bar/search-bar-actions.ts +++ b/src/store/search-bar/search-bar-actions.ts @@ -15,7 +15,7 @@ import { SearchView } from 'store/search-bar/search-bar-reducer'; import { navigateTo, navigateToSearchResults } from 'store/navigation/navigation-action'; import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions'; import { PropertyValue, SearchBarAdvancedFormData } from 'models/search-bar'; -import * as _ from "lodash"; +import { union } from "lodash"; import { getModifiedKeysValues } from "common/objects"; import { activateSearchBarProject } from "store/search-bar/search-bar-tree-actions"; import { Session } from "models/session"; @@ -287,7 +287,7 @@ export const getQueryFromAdvancedData = (data: SearchBarAdvancedFormData, prevDa ['from', 'dateFrom'], ['to', 'dateTo'] ]; - _.union(data.properties, prevData ? prevData.properties : []) + union(data.properties, prevData ? prevData.properties : []) .forEach(p => keyMap.push( [`has:"${p.keyID || p.key}"`, `prop-"${p.keyID || p.key}":"${p.valueID || p.value}"`] )); diff --git a/src/store/tree-picker/picker-id.tsx b/src/store/tree-picker/picker-id.tsx index 3907ba8e..b0d5e353 100644 --- a/src/store/tree-picker/picker-id.tsx +++ b/src/store/tree-picker/picker-id.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; export interface PickerIdProp { pickerId: string; diff --git a/src/store/users/users-actions.ts b/src/store/users/users-actions.ts index 4a323be5..cd4d5c73 100644 --- a/src/store/users/users-actions.ts +++ b/src/store/users/users-actions.ts @@ -64,7 +64,7 @@ export const loginAs = (uuid: string) => const client = await services.apiClientAuthorizationService.create({ ownerUuid: uuid }); if (data) { dispatch(authActions.INIT_USER({ user: data, token: getTokenV2(client) })); - location.reload(); + window.location.reload(); dispatch(navigateToRootProject); } }; diff --git a/src/views-components/add-session/add-session.tsx b/src/views-components/add-session/add-session.tsx index 738987f0..bcfb5313 100644 --- a/src/views-components/add-session/add-session.tsx +++ b/src/views-components/add-session/add-session.tsx @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import { RouteProps } from "react-router"; -import * as React from "react"; +import React from "react"; import { connect, DispatchProp } from "react-redux"; import { getUrlParameter } from "common/url"; import { navigateToSiteManager } from "store/navigation/navigation-action"; diff --git a/src/views-components/advanced-tab-dialog/advanced-tab-dialog.tsx b/src/views-components/advanced-tab-dialog/advanced-tab-dialog.tsx index ff2dc504..b631a74c 100644 --- a/src/views-components/advanced-tab-dialog/advanced-tab-dialog.tsx +++ b/src/views-components/advanced-tab-dialog/advanced-tab-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogActions, Button, StyleRulesCallback, WithStyles, withStyles, DialogTitle, DialogContent, Tabs, Tab, DialogContentText } from '@material-ui/core'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { withDialog } from "store/dialog/with-dialog"; diff --git a/src/views-components/advanced-tab-dialog/metadataTab.tsx b/src/views-components/advanced-tab-dialog/metadataTab.tsx index 2780ef81..9f08d1e3 100644 --- a/src/views-components/advanced-tab-dialog/metadataTab.tsx +++ b/src/views-components/advanced-tab-dialog/metadataTab.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Table, TableHead, TableCell, TableRow, TableBody, StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core'; import { UserResource, getUserDisplayName } from "models/user"; diff --git a/src/views-components/api-client-authorizations-dialog/attributes-dialog.tsx b/src/views-components/api-client-authorizations-dialog/attributes-dialog.tsx index 0a6e248a..de31f525 100644 --- a/src/views-components/api-client-authorizations-dialog/attributes-dialog.tsx +++ b/src/views-components/api-client-authorizations-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { compose } from 'redux'; import { withStyles, Dialog, DialogTitle, DialogContent, DialogActions, diff --git a/src/views-components/api-client-authorizations-dialog/help-dialog.tsx b/src/views-components/api-client-authorizations-dialog/help-dialog.tsx index db4148c1..094b01a6 100644 --- a/src/views-components/api-client-authorizations-dialog/help-dialog.tsx +++ b/src/views-components/api-client-authorizations-dialog/help-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { withDialog } from 'store/dialog/with-dialog'; diff --git a/src/views-components/api-token/api-token.tsx b/src/views-components/api-token/api-token.tsx index 98ca16a6..e57ba26a 100644 --- a/src/views-components/api-token/api-token.tsx +++ b/src/views-components/api-token/api-token.tsx @@ -3,7 +3,7 @@ // SPDX-License-Identifier: AGPL-3.0 import { RouteProps } from "react-router"; -import * as React from "react"; +import React from "react"; import { RootState } from "store/store"; import { connect, DispatchProp } from "react-redux"; import { saveApiToken } from "store/auth/auth-action"; diff --git a/src/views-components/auto-logout/auto-logout.test.tsx b/src/views-components/auto-logout/auto-logout.test.tsx index 49496724..c9b9e2b8 100644 --- a/src/views-components/auto-logout/auto-logout.test.tsx +++ b/src/views-components/auto-logout/auto-logout.test.tsx @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { configure, mount } from "enzyme"; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { AutoLogoutComponent, AutoLogoutProps, LAST_ACTIVE_TIMESTAMP } from './auto-logout'; configure({ adapter: new Adapter() }); diff --git a/src/views-components/auto-logout/auto-logout.tsx b/src/views-components/auto-logout/auto-logout.tsx index 65885627..c6c1feee 100644 --- a/src/views-components/auto-logout/auto-logout.tsx +++ b/src/views-components/auto-logout/auto-logout.tsx @@ -10,7 +10,7 @@ import { RootState } from "store/store"; import { SnackbarKind, snackbarActions } from "store/snackbar/snackbar-actions"; import { logout } from "store/auth/auth-action"; import parse from "parse-duration"; -import * as React from "react"; +import React from "react"; import { min } from "lodash"; interface AutoLogoutDataProps { diff --git a/src/views-components/compute-nodes-dialog/attributes-dialog.tsx b/src/views-components/compute-nodes-dialog/attributes-dialog.tsx index 1f866f2b..0c937b19 100644 --- a/src/views-components/compute-nodes-dialog/attributes-dialog.tsx +++ b/src/views-components/compute-nodes-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { compose } from 'redux'; import { withStyles, Dialog, DialogTitle, DialogContent, DialogActions, diff --git a/src/views-components/context-menu/actions/copy-to-clipboard-action.test.tsx b/src/views-components/context-menu/actions/copy-to-clipboard-action.test.tsx index 83cd0328..89828739 100644 --- a/src/views-components/context-menu/actions/copy-to-clipboard-action.test.tsx +++ b/src/views-components/context-menu/actions/copy-to-clipboard-action.test.tsx @@ -2,10 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { shallow, configure } from 'enzyme'; import { ListItem } from "@material-ui/core"; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { CopyToClipboardAction } from './copy-to-clipboard-action'; configure({ adapter: new Adapter() }); diff --git a/src/views-components/context-menu/actions/copy-to-clipboard-action.tsx b/src/views-components/context-menu/actions/copy-to-clipboard-action.tsx index 8de3189a..a1dc5950 100644 --- a/src/views-components/context-menu/actions/copy-to-clipboard-action.tsx +++ b/src/views-components/context-menu/actions/copy-to-clipboard-action.tsx @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; -import * as copy from 'copy-to-clipboard'; +import React from "react"; +import copy from 'copy-to-clipboard'; import { ListItemIcon, ListItemText, ListItem } from "@material-ui/core"; import { Link } from "components/icon/icon"; import { getClipboardUrl } from "./helpers"; diff --git a/src/views-components/context-menu/actions/download-action.test.tsx b/src/views-components/context-menu/actions/download-action.test.tsx index 88791d4b..e3fcfd19 100644 --- a/src/views-components/context-menu/actions/download-action.test.tsx +++ b/src/views-components/context-menu/actions/download-action.test.tsx @@ -2,12 +2,12 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import axios from 'axios'; import { configure, shallow } from "enzyme"; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { ListItem } from '@material-ui/core'; -import * as JSZip from 'jszip'; +import JSZip from 'jszip'; import { DownloadAction } from './download-action'; configure({ adapter: new Adapter() }); diff --git a/src/views-components/context-menu/actions/download-action.tsx b/src/views-components/context-menu/actions/download-action.tsx index 86694c8b..22f0eb01 100644 --- a/src/views-components/context-menu/actions/download-action.tsx +++ b/src/views-components/context-menu/actions/download-action.tsx @@ -2,11 +2,11 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { ListItemIcon, ListItemText, ListItem } from '@material-ui/core'; import { DownloadIcon } from '../../../components/icon/icon'; -import * as JSZip from 'jszip'; -import * as FileSaver from 'file-saver'; +import JSZip from 'jszip'; +import FileSaver from 'file-saver'; import axios from 'axios'; export const DownloadAction = (props: { href?: any, download?: any, onClick?: () => void, kind?: string, currentCollectionUuid?: string; }) => { diff --git a/src/views-components/context-menu/actions/favorite-action.tsx b/src/views-components/context-menu/actions/favorite-action.tsx index 3563bc5d..b7e7dd62 100644 --- a/src/views-components/context-menu/actions/favorite-action.tsx +++ b/src/views-components/context-menu/actions/favorite-action.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { ListItemIcon, ListItemText, ListItem } from "@material-ui/core"; import { AddFavoriteIcon, RemoveFavoriteIcon } from "components/icon/icon"; import { connect } from "react-redux"; diff --git a/src/views-components/context-menu/actions/file-viewer-action.test.tsx b/src/views-components/context-menu/actions/file-viewer-action.test.tsx index 75f90d83..23bc75ff 100644 --- a/src/views-components/context-menu/actions/file-viewer-action.test.tsx +++ b/src/views-components/context-menu/actions/file-viewer-action.test.tsx @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { shallow, configure } from 'enzyme'; -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; import { FileViewerAction } from './file-viewer-action'; configure({ adapter: new Adapter() }); diff --git a/src/views-components/context-menu/actions/file-viewer-action.tsx b/src/views-components/context-menu/actions/file-viewer-action.tsx index e02e4837..bc3d0bd6 100644 --- a/src/views-components/context-menu/actions/file-viewer-action.tsx +++ b/src/views-components/context-menu/actions/file-viewer-action.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { ListItemIcon, ListItemText, ListItem } from "@material-ui/core"; import { OpenIcon } from "components/icon/icon"; diff --git a/src/views-components/context-menu/actions/file-viewer-actions.tsx b/src/views-components/context-menu/actions/file-viewer-actions.tsx index 62d78d48..6d713d55 100644 --- a/src/views-components/context-menu/actions/file-viewer-actions.tsx +++ b/src/views-components/context-menu/actions/file-viewer-actions.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { ListItemText, ListItem, ListItemIcon, Icon } from "@material-ui/core"; import { RootState } from 'store/store'; import { getNodeValue } from 'models/tree'; diff --git a/src/views-components/context-menu/actions/public-favorite-action.tsx b/src/views-components/context-menu/actions/public-favorite-action.tsx index a6d74c77..86089013 100644 --- a/src/views-components/context-menu/actions/public-favorite-action.tsx +++ b/src/views-components/context-menu/actions/public-favorite-action.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { ListItemIcon, ListItemText, ListItem } from "@material-ui/core"; import { PublicFavoriteIcon } from "components/icon/icon"; import { connect } from "react-redux"; diff --git a/src/views-components/context-menu/actions/trash-action.tsx b/src/views-components/context-menu/actions/trash-action.tsx index 83610a41..e52ead8b 100644 --- a/src/views-components/context-menu/actions/trash-action.tsx +++ b/src/views-components/context-menu/actions/trash-action.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { ListItemIcon, ListItemText, ListItem } from "@material-ui/core"; import { RestoreFromTrashIcon, TrashIcon } from "components/icon/icon"; import { connect } from "react-redux"; diff --git a/src/views-components/data-explorer/renderers.test.tsx b/src/views-components/data-explorer/renderers.test.tsx index 5f752b6b..f0efdf74 100644 --- a/src/views-components/data-explorer/renderers.test.tsx +++ b/src/views-components/data-explorer/renderers.test.tsx @@ -2,10 +2,10 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { mount, configure } from 'enzyme'; import { ResourceFileSize } from './renderers'; -import * as Adapter from "enzyme-adapter-react-16"; +import Adapter from "enzyme-adapter-react-16"; import { Provider } from 'react-redux'; import configureMockStore from 'redux-mock-store' import { ResourceKind } from '../../models/resource'; @@ -55,7 +55,7 @@ describe('renderers', () => { // then expect(wrapper.text()).toContain('0 B'); }); - + it('should render empty string for non collection resource', () => { // given const store1 = mockStore({ resources: { diff --git a/src/views-components/data-explorer/renderers.tsx b/src/views-components/data-explorer/renderers.tsx index 22fe6a59..a8f375ae 100644 --- a/src/views-components/data-explorer/renderers.tsx +++ b/src/views-components/data-explorer/renderers.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Grid, Typography, withStyles, Tooltip, IconButton, Checkbox } from '@material-ui/core'; import { FavoriteStar, PublicFavoriteStar } from '../favorite-star/favorite-star'; import { Resource, ResourceKind, TrashableResource } from 'models/resource'; diff --git a/src/views-components/data-explorer/with-resources.tsx b/src/views-components/data-explorer/with-resources.tsx index 54d87d78..deeabe95 100644 --- a/src/views-components/data-explorer/with-resources.tsx +++ b/src/views-components/data-explorer/with-resources.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect } from 'react-redux'; import { RootState } from 'store/store'; import { getResource } from 'store/resources/resources'; diff --git a/src/views-components/details-panel/collection-details.tsx b/src/views-components/details-panel/collection-details.tsx index 1430ae1e..9f03f38a 100644 --- a/src/views-components/details-panel/collection-details.tsx +++ b/src/views-components/details-panel/collection-details.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { CollectionIcon } from 'components/icon/icon'; import { CollectionResource } from 'models/collection'; import { DetailsData } from "./details-data"; diff --git a/src/views-components/details-panel/details-data.tsx b/src/views-components/details-panel/details-data.tsx index b4227e89..0fae2ac4 100644 --- a/src/views-components/details-panel/details-data.tsx +++ b/src/views-components/details-panel/details-data.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { DetailsResource } from "models/details"; export abstract class DetailsData { diff --git a/src/views-components/details-panel/details-panel.tsx b/src/views-components/details-panel/details-panel.tsx index 569ad5dd..38ac163e 100644 --- a/src/views-components/details-panel/details-panel.tsx +++ b/src/views-components/details-panel/details-panel.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { IconButton, Tabs, Tab, Typography, Grid, Tooltip } from '@material-ui/core'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { Transition } from 'react-transition-group'; diff --git a/src/views-components/details-panel/empty-details.tsx b/src/views-components/details-panel/empty-details.tsx index f9502f59..d5430f24 100644 --- a/src/views-components/details-panel/empty-details.tsx +++ b/src/views-components/details-panel/empty-details.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { DefaultIcon, ProjectsIcon } from 'components/icon/icon'; import { EmptyResource } from 'models/empty'; import { DetailsData } from "./details-data"; diff --git a/src/views-components/details-panel/file-details.tsx b/src/views-components/details-panel/file-details.tsx index b20cd4e0..7c11eb8b 100644 --- a/src/views-components/details-panel/file-details.tsx +++ b/src/views-components/details-panel/file-details.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { DetailsData } from "./details-data"; import { CollectionFile, CollectionDirectory, CollectionFileType } from 'models/collection-file'; import { getIcon } from 'components/file-tree/file-tree-item'; diff --git a/src/views-components/details-panel/process-details.tsx b/src/views-components/details-panel/process-details.tsx index ea3c430a..c4b374b9 100644 --- a/src/views-components/details-panel/process-details.tsx +++ b/src/views-components/details-panel/process-details.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { ProcessIcon } from 'components/icon/icon'; import { ProcessResource } from 'models/process'; import { formatDate } from 'common/formatters'; diff --git a/src/views-components/details-panel/project-details.tsx b/src/views-components/details-panel/project-details.tsx index 566c543e..41ba6f00 100644 --- a/src/views-components/details-panel/project-details.tsx +++ b/src/views-components/details-panel/project-details.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect } from 'react-redux'; import { openProjectPropertiesDialog } from 'store/details-panel/details-panel-action'; import { ProjectIcon, RenameIcon, FilterGroupIcon } from 'components/icon/icon'; diff --git a/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx b/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx index 934ad57a..7a3c5fdd 100644 --- a/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx +++ b/src/views-components/dialog-copy/dialog-collection-partial-copy.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { memoize } from "lodash/fp"; import { FormDialog } from 'components/form-dialog/form-dialog'; import { CollectionNameField, CollectionDescriptionField, CollectionProjectPickerField } from 'views-components/form-fields/collection-form-fields'; diff --git a/src/views-components/dialog-copy/dialog-copy.tsx b/src/views-components/dialog-copy/dialog-copy.tsx index c85e4eb2..97fe52bb 100644 --- a/src/views-components/dialog-copy/dialog-copy.tsx +++ b/src/views-components/dialog-copy/dialog-copy.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { memoize } from 'lodash/fp'; import { InjectedFormProps, Field } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; diff --git a/src/views-components/dialog-copy/dialog-partial-copy-to-collection.tsx b/src/views-components/dialog-copy/dialog-partial-copy-to-collection.tsx index 3e9b4b67..a79ed0bc 100644 --- a/src/views-components/dialog-copy/dialog-partial-copy-to-collection.tsx +++ b/src/views-components/dialog-copy/dialog-partial-copy-to-collection.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { memoize } from "lodash/fp"; import { FormDialog } from 'components/form-dialog/form-dialog'; import { WithDialogProps } from 'store/dialog/with-dialog'; diff --git a/src/views-components/dialog-create/dialog-collection-create.tsx b/src/views-components/dialog-create/dialog-collection-create.tsx index 2615721c..fb957d53 100644 --- a/src/views-components/dialog-create/dialog-collection-create.tsx +++ b/src/views-components/dialog-create/dialog-collection-create.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps, Field } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { CollectionCreateFormDialogData } from 'store/collections/collection-create-actions'; diff --git a/src/views-components/dialog-create/dialog-project-create.tsx b/src/views-components/dialog-create/dialog-project-create.tsx index f0234f6d..85a2380e 100644 --- a/src/views-components/dialog-create/dialog-project-create.tsx +++ b/src/views-components/dialog-create/dialog-project-create.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { ProjectCreateFormDialogData } from 'store/projects/project-create-actions'; diff --git a/src/views-components/dialog-create/dialog-repository-create.tsx b/src/views-components/dialog-create/dialog-repository-create.tsx index 744d1891..46a33f44 100644 --- a/src/views-components/dialog-create/dialog-repository-create.tsx +++ b/src/views-components/dialog-create/dialog-repository-create.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { FormDialog } from 'components/form-dialog/form-dialog'; diff --git a/src/views-components/dialog-create/dialog-ssh-key-create.tsx b/src/views-components/dialog-create/dialog-ssh-key-create.tsx index 1da4f287..6337f0a0 100644 --- a/src/views-components/dialog-create/dialog-ssh-key-create.tsx +++ b/src/views-components/dialog-create/dialog-ssh-key-create.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { FormDialog } from 'components/form-dialog/form-dialog'; diff --git a/src/views-components/dialog-create/dialog-user-create.tsx b/src/views-components/dialog-create/dialog-user-create.tsx index 86d0094c..d8d25da4 100644 --- a/src/views-components/dialog-create/dialog-user-create.tsx +++ b/src/views-components/dialog-create/dialog-user-create.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { FormDialog } from 'components/form-dialog/form-dialog'; diff --git a/src/views-components/dialog-forms/add-group-member-dialog.tsx b/src/views-components/dialog-forms/add-group-member-dialog.tsx index 9baebb2e..54fc9cd3 100644 --- a/src/views-components/dialog-forms/add-group-member-dialog.tsx +++ b/src/views-components/dialog-forms/add-group-member-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { compose } from "redux"; import { reduxForm, InjectedFormProps, WrappedFieldArrayProps, FieldArray } from 'redux-form'; import { withDialog, WithDialogProps } from "store/dialog/with-dialog"; diff --git a/src/views-components/dialog-forms/create-group-dialog.tsx b/src/views-components/dialog-forms/create-group-dialog.tsx index 1462475e..601f8004 100644 --- a/src/views-components/dialog-forms/create-group-dialog.tsx +++ b/src/views-components/dialog-forms/create-group-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { compose } from "redux"; import { reduxForm, InjectedFormProps, Field, WrappedFieldArrayProps, FieldArray } from 'redux-form'; import { withDialog, WithDialogProps } from "store/dialog/with-dialog"; diff --git a/src/views-components/dialog-forms/setup-shell-account-dialog.tsx b/src/views-components/dialog-forms/setup-shell-account-dialog.tsx index e01a7389..70d55a4c 100644 --- a/src/views-components/dialog-forms/setup-shell-account-dialog.tsx +++ b/src/views-components/dialog-forms/setup-shell-account-dialog.tsx @@ -1,7 +1,7 @@ // Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { compose } from "redux"; import { reduxForm, InjectedFormProps, Field } from 'redux-form'; import { withDialog, WithDialogProps } from "store/dialog/with-dialog"; diff --git a/src/views-components/dialog-move/dialog-move-to.tsx b/src/views-components/dialog-move/dialog-move-to.tsx index bd097c6f..26ad5691 100644 --- a/src/views-components/dialog-move/dialog-move-to.tsx +++ b/src/views-components/dialog-move/dialog-move-to.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { memoize } from 'lodash/fp'; import { InjectedFormProps, Field } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; diff --git a/src/views-components/dialog-update/dialog-collection-update.tsx b/src/views-components/dialog-update/dialog-collection-update.tsx index 4dd2c18f..c30ceaac 100644 --- a/src/views-components/dialog-update/dialog-collection-update.tsx +++ b/src/views-components/dialog-update/dialog-collection-update.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { CollectionUpdateFormDialogData } from 'store/collections/collection-update-actions'; diff --git a/src/views-components/dialog-update/dialog-process-update.tsx b/src/views-components/dialog-update/dialog-process-update.tsx index 8112edfd..8b8f432c 100644 --- a/src/views-components/dialog-update/dialog-process-update.tsx +++ b/src/views-components/dialog-update/dialog-process-update.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { ProcessUpdateFormDialogData } from 'store/processes/process-update-actions'; diff --git a/src/views-components/dialog-update/dialog-project-update.tsx b/src/views-components/dialog-update/dialog-project-update.tsx index f67279b5..ac14e5dc 100644 --- a/src/views-components/dialog-update/dialog-project-update.tsx +++ b/src/views-components/dialog-update/dialog-project-update.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { ProjectUpdateFormDialogData } from 'store/projects/project-update-actions'; diff --git a/src/views-components/dialog-upload/dialog-collection-files-upload.tsx b/src/views-components/dialog-upload/dialog-collection-files-upload.tsx index 2ea1e2e6..2f662bfa 100644 --- a/src/views-components/dialog-upload/dialog-collection-files-upload.tsx +++ b/src/views-components/dialog-upload/dialog-collection-files-upload.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps, Field } from 'redux-form'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { CollectionCreateFormDialogData } from 'store/collections/collection-create-actions'; diff --git a/src/views-components/favorite-star/favorite-star.tsx b/src/views-components/favorite-star/favorite-star.tsx index 3cfeee6d..f21fcdc4 100644 --- a/src/views-components/favorite-star/favorite-star.tsx +++ b/src/views-components/favorite-star/favorite-star.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { FavoriteIcon, PublicFavoriteIcon } from "components/icon/icon"; import { connect } from "react-redux"; import { RootState } from "store/store"; diff --git a/src/views-components/file-uploader/file-uploader.tsx b/src/views-components/file-uploader/file-uploader.tsx index aed728a0..82e400f7 100644 --- a/src/views-components/file-uploader/file-uploader.tsx +++ b/src/views-components/file-uploader/file-uploader.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { FileUpload } from 'components/file-upload/file-upload'; import { connect } from 'react-redux'; import { RootState } from 'store/store'; diff --git a/src/views-components/form-fields/collection-form-fields.tsx b/src/views-components/form-fields/collection-form-fields.tsx index 2a5bc63e..6c522b67 100644 --- a/src/views-components/form-fields/collection-form-fields.tsx +++ b/src/views-components/form-fields/collection-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Field, Validator } from "redux-form"; import { TextField } from "components/text-field/text-field"; import { diff --git a/src/views-components/form-fields/process-form-fields.tsx b/src/views-components/form-fields/process-form-fields.tsx index a562e7c1..d70413f6 100644 --- a/src/views-components/form-fields/process-form-fields.tsx +++ b/src/views-components/form-fields/process-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Field } from "redux-form"; import { TextField } from "components/text-field/text-field"; import { PROCESS_NAME_VALIDATION, PROCESS_DESCRIPTION_VALIDATION } from "validators/validators"; diff --git a/src/views-components/form-fields/project-form-fields.tsx b/src/views-components/form-fields/project-form-fields.tsx index 3c25d9a1..be762b51 100644 --- a/src/views-components/form-fields/project-form-fields.tsx +++ b/src/views-components/form-fields/project-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Field, Validator } from "redux-form"; import { TextField, RichEditorTextField } from "components/text-field/text-field"; import { PROJECT_NAME_VALIDATION, PROJECT_NAME_VALIDATION_ALLOW_SLASH } from "validators/validators"; diff --git a/src/views-components/form-fields/repository-form-fields.tsx b/src/views-components/form-fields/repository-form-fields.tsx index be0d9ca6..ff35779c 100644 --- a/src/views-components/form-fields/repository-form-fields.tsx +++ b/src/views-components/form-fields/repository-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Field } from "redux-form"; import { TextField } from "components/text-field/text-field"; import { REPOSITORY_NAME_VALIDATION } from "validators/validators"; diff --git a/src/views-components/form-fields/resource-form-fields.tsx b/src/views-components/form-fields/resource-form-fields.tsx index 61019ffc..7945552c 100644 --- a/src/views-components/form-fields/resource-form-fields.tsx +++ b/src/views-components/form-fields/resource-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { connect } from "react-redux"; import { RootState } from "store/store"; import { Field } from "redux-form"; diff --git a/src/views-components/form-fields/search-bar-form-fields.tsx b/src/views-components/form-fields/search-bar-form-fields.tsx index 0198100b..7a926168 100644 --- a/src/views-components/form-fields/search-bar-form-fields.tsx +++ b/src/views-components/form-fields/search-bar-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Field, WrappedFieldProps, FieldArray } from 'redux-form'; import { TextField, DateTextField } from "components/text-field/text-field"; import { CheckboxField } from 'components/checkbox-field/checkbox-field'; diff --git a/src/views-components/form-fields/ssh-key-form-fields.tsx b/src/views-components/form-fields/ssh-key-form-fields.tsx index a2f6790c..b2274000 100644 --- a/src/views-components/form-fields/ssh-key-form-fields.tsx +++ b/src/views-components/form-fields/ssh-key-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Field } from "redux-form"; import { TextField } from "components/text-field/text-field"; import { SSH_KEY_PUBLIC_VALIDATION, SSH_KEY_NAME_VALIDATION } from "validators/validators"; diff --git a/src/views-components/form-fields/user-form-fields.tsx b/src/views-components/form-fields/user-form-fields.tsx index 92edf6a9..54929b3e 100644 --- a/src/views-components/form-fields/user-form-fields.tsx +++ b/src/views-components/form-fields/user-form-fields.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Field } from "redux-form"; import { TextField } from "components/text-field/text-field"; import { USER_EMAIL_VALIDATION, USER_LENGTH_VALIDATION } from "validators/validators"; diff --git a/src/views-components/groups-dialog/attributes-dialog.tsx b/src/views-components/groups-dialog/attributes-dialog.tsx index 39363ef6..6f3490d0 100644 --- a/src/views-components/groups-dialog/attributes-dialog.tsx +++ b/src/views-components/groups-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Grid } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { withDialog } from 'store/dialog/with-dialog'; diff --git a/src/views-components/groups-dialog/member-attributes-dialog.tsx b/src/views-components/groups-dialog/member-attributes-dialog.tsx index d1af16c0..d8bb0c5a 100644 --- a/src/views-components/groups-dialog/member-attributes-dialog.tsx +++ b/src/views-components/groups-dialog/member-attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Grid } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { withDialog } from 'store/dialog/with-dialog'; diff --git a/src/views-components/keep-services-dialog/attributes-dialog.tsx b/src/views-components/keep-services-dialog/attributes-dialog.tsx index 645cad72..d38aa155 100644 --- a/src/views-components/keep-services-dialog/attributes-dialog.tsx +++ b/src/views-components/keep-services-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { compose } from 'redux'; import { withStyles, Dialog, DialogTitle, DialogContent, DialogActions, diff --git a/src/views-components/links-dialog/attributes-dialog.tsx b/src/views-components/links-dialog/attributes-dialog.tsx index c12ce84f..a882aa92 100644 --- a/src/views-components/links-dialog/attributes-dialog.tsx +++ b/src/views-components/links-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { compose } from 'redux'; import { withStyles, Dialog, DialogTitle, DialogContent, DialogActions, Button, StyleRulesCallback, WithStyles, Grid } from '@material-ui/core'; import { WithDialogProps, withDialog } from "store/dialog/with-dialog"; diff --git a/src/views-components/login-form/login-form.tsx b/src/views-components/login-form/login-form.tsx index 9b64883d..e4ede79b 100644 --- a/src/views-components/login-form/login-form.tsx +++ b/src/views-components/login-form/login-form.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { useState, useEffect, useRef } from 'react'; import { withStyles, WithStyles, StyleRulesCallback } from '@material-ui/core/styles'; import CircularProgress from '@material-ui/core/CircularProgress'; diff --git a/src/views-components/main-app-bar/account-menu.test.tsx b/src/views-components/main-app-bar/account-menu.test.tsx index 4436f6a3..f0316e34 100644 --- a/src/views-components/main-app-bar/account-menu.test.tsx +++ b/src/views-components/main-app-bar/account-menu.test.tsx @@ -2,8 +2,8 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import * as Adapter from 'enzyme-adapter-react-16'; +import React from 'react'; +import Adapter from 'enzyme-adapter-react-16'; import {configure, shallow } from 'enzyme'; import { AccountMenuComponent } from './account-menu'; diff --git a/src/views-components/main-app-bar/account-menu.tsx b/src/views-components/main-app-bar/account-menu.tsx index 2acb026b..9356e077 100644 --- a/src/views-components/main-app-bar/account-menu.tsx +++ b/src/views-components/main-app-bar/account-menu.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { MenuItem, Divider } from "@material-ui/core"; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { User, getUserDisplayName } from "models/user"; diff --git a/src/views-components/main-app-bar/admin-menu.tsx b/src/views-components/main-app-bar/admin-menu.tsx index c79b21f5..ab5c2ead 100644 --- a/src/views-components/main-app-bar/admin-menu.tsx +++ b/src/views-components/main-app-bar/admin-menu.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { MenuItem } from "@material-ui/core"; import { User } from "models/user"; import { DropdownMenu } from "components/dropdown-menu/dropdown-menu"; @@ -37,7 +37,7 @@ export const AdminMenu = connect(mapStateToProps)( dispatch(NavigationAction.navigateToSshKeysAdmin)}>Ssh Keys dispatch(NavigationAction.navigateToApiClientAuthorizations)}>Api Tokens dispatch(openUserPanel())}>Users - dispatch(NavigationAction.navigateToGroups)}>Groups} + dispatch(NavigationAction.navigateToGroups)}>Groups dispatch(NavigationAction.navigateToComputeNodes)}>Compute Nodes dispatch(NavigationAction.navigateToKeepServices)}>Keep Services dispatch(NavigationAction.navigateToLinks)}>Links diff --git a/src/views-components/main-app-bar/anonymous-menu.tsx b/src/views-components/main-app-bar/anonymous-menu.tsx index 04240419..c3eb88c1 100644 --- a/src/views-components/main-app-bar/anonymous-menu.tsx +++ b/src/views-components/main-app-bar/anonymous-menu.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Button } from '@material-ui/core'; import { DispatchProp, connect } from 'react-redux'; import { login } from 'store/auth/auth-action'; diff --git a/src/views-components/main-app-bar/help-menu.tsx b/src/views-components/main-app-bar/help-menu.tsx index f39ef5f7..55e0424b 100644 --- a/src/views-components/main-app-bar/help-menu.tsx +++ b/src/views-components/main-app-bar/help-menu.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { MenuItem, Typography } from "@material-ui/core"; import { DropdownMenu } from "components/dropdown-menu/dropdown-menu"; import { ImportContactsIcon, HelpIcon } from "components/icon/icon"; diff --git a/src/views-components/main-app-bar/main-app-bar.tsx b/src/views-components/main-app-bar/main-app-bar.tsx index 3d9a6832..442b9034 100644 --- a/src/views-components/main-app-bar/main-app-bar.tsx +++ b/src/views-components/main-app-bar/main-app-bar.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { AppBar, Toolbar, Typography, Grid } from "@material-ui/core"; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { Link } from "react-router-dom"; diff --git a/src/views-components/main-app-bar/notifications-menu.tsx b/src/views-components/main-app-bar/notifications-menu.tsx index 94a645d6..e27bdad5 100644 --- a/src/views-components/main-app-bar/notifications-menu.tsx +++ b/src/views-components/main-app-bar/notifications-menu.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Badge, MenuItem } from '@material-ui/core'; import { DropdownMenu } from "components/dropdown-menu/dropdown-menu"; import { NotificationIcon } from 'components/icon/icon'; diff --git a/src/views-components/main-content-bar/main-content-bar.tsx b/src/views-components/main-content-bar/main-content-bar.tsx index 305b8c63..6e1368c0 100644 --- a/src/views-components/main-content-bar/main-content-bar.tsx +++ b/src/views-components/main-content-bar/main-content-bar.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Toolbar, StyleRulesCallback, IconButton, Tooltip, Grid, WithStyles, withStyles } from "@material-ui/core"; import { DetailsIcon } from "components/icon/icon"; diff --git a/src/views-components/not-found-dialog/not-found-dialog.tsx b/src/views-components/not-found-dialog/not-found-dialog.tsx index a9fd1c00..eee64b66 100644 --- a/src/views-components/not-found-dialog/not-found-dialog.tsx +++ b/src/views-components/not-found-dialog/not-found-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dispatch } from "redux"; import { connect } from "react-redux"; import { RootState } from 'store/store'; diff --git a/src/views-components/process-command-dialog/process-command-dialog.tsx b/src/views-components/process-command-dialog/process-command-dialog.tsx index bfa99349..7695837e 100644 --- a/src/views-components/process-command-dialog/process-command-dialog.tsx +++ b/src/views-components/process-command-dialog/process-command-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogActions, Button, StyleRulesCallback, WithStyles, withStyles, Tooltip, IconButton, CardHeader } from '@material-ui/core'; import { withDialog } from "store/dialog/with-dialog"; import { PROCESS_COMMAND_DIALOG_NAME } from 'store/processes/process-command-actions'; @@ -10,7 +10,7 @@ import { WithDialogProps } from 'store/dialog/with-dialog'; import { ProcessCommandDialogData } from 'store/processes/process-command-actions'; import { DefaultCodeSnippet } from "components/default-code-snippet/default-code-snippet"; import { compose } from 'redux'; -import * as CopyToClipboard from "react-copy-to-clipboard"; +import CopyToClipboard from "react-copy-to-clipboard"; import { CopyIcon } from 'components/icon/icon'; type CssRules = 'codeSnippet' | 'copyToClipboard'; diff --git a/src/views-components/process-input-dialog/process-input-dialog.tsx b/src/views-components/process-input-dialog/process-input-dialog.tsx index 73a5fece..9a186884 100644 --- a/src/views-components/process-input-dialog/process-input-dialog.tsx +++ b/src/views-components/process-input-dialog/process-input-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogActions, Button, CardHeader, DialogContent } from '@material-ui/core'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { withDialog } from "store/dialog/with-dialog"; diff --git a/src/views-components/project-properties-dialog/project-properties-dialog.tsx b/src/views-components/project-properties-dialog/project-properties-dialog.tsx index 5d38f718..19d3bb56 100644 --- a/src/views-components/project-properties-dialog/project-properties-dialog.tsx +++ b/src/views-components/project-properties-dialog/project-properties-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dispatch } from "redux"; import { connect } from "react-redux"; import { RootState } from 'store/store'; diff --git a/src/views-components/project-properties/create-project-properties-form.tsx b/src/views-components/project-properties/create-project-properties-form.tsx index 64854773..c49d738a 100644 --- a/src/views-components/project-properties/create-project-properties-form.tsx +++ b/src/views-components/project-properties/create-project-properties-form.tsx @@ -7,11 +7,11 @@ import { withStyles } from '@material-ui/core'; import { PROJECT_CREATE_PROPERTIES_FORM_NAME, addPropertyToCreateProjectForm -} from '~/store/projects/project-create-actions'; +} from 'store/projects/project-create-actions'; import { ResourcePropertiesForm, ResourcePropertiesFormData -} from '~/views-components/resource-properties-form/resource-properties-form'; +} from 'views-components/resource-properties-form/resource-properties-form'; const Form = withStyles( ({ spacing }) => ( diff --git a/src/views-components/project-properties/create-project-properties-list.tsx b/src/views-components/project-properties/create-project-properties-list.tsx index f4d7197b..8a61dcf7 100644 --- a/src/views-components/project-properties/create-project-properties-list.tsx +++ b/src/views-components/project-properties/create-project-properties-list.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect } from 'react-redux'; import { Dispatch } from 'redux'; import { diff --git a/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx b/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx index e5b7cde6..aa9fb60b 100644 --- a/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx +++ b/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dispatch } from "redux"; import { connect } from "react-redux"; import { isEqual } from 'lodash/fp'; diff --git a/src/views-components/projects-tree-picker/projects-tree-picker.tsx b/src/views-components/projects-tree-picker/projects-tree-picker.tsx index c1f7adec..2f3ea611 100644 --- a/src/views-components/projects-tree-picker/projects-tree-picker.tsx +++ b/src/views-components/projects-tree-picker/projects-tree-picker.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { values, memoize, pipe } from 'lodash/fp'; import { HomeTreePicker } from 'views-components/projects-tree-picker/home-tree-picker'; import { SharedTreePicker } from 'views-components/projects-tree-picker/shared-tree-picker'; diff --git a/src/views-components/projects-tree-picker/tree-picker-field.tsx b/src/views-components/projects-tree-picker/tree-picker-field.tsx index 0a5697ea..e5fecf97 100644 --- a/src/views-components/projects-tree-picker/tree-picker-field.tsx +++ b/src/views-components/projects-tree-picker/tree-picker-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Typography } from "@material-ui/core"; import { TreeItem } from "components/tree/tree"; import { WrappedFieldProps } from 'redux-form'; diff --git a/src/views-components/remove-dialog/remove-dialog.tsx b/src/views-components/remove-dialog/remove-dialog.tsx index c9c1d879..544cbf61 100644 --- a/src/views-components/remove-dialog/remove-dialog.tsx +++ b/src/views-components/remove-dialog/remove-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from "@material-ui/core"; import { withDialog } from "store/dialog/with-dialog"; import { dialogActions } from "store/dialog/dialog-actions"; diff --git a/src/views-components/rename-file-dialog/rename-file-dialog.tsx b/src/views-components/rename-file-dialog/rename-file-dialog.tsx index 3721b303..6cd7e0b8 100644 --- a/src/views-components/rename-file-dialog/rename-file-dialog.tsx +++ b/src/views-components/rename-file-dialog/rename-file-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { compose } from 'redux'; import { reduxForm, InjectedFormProps, Field } from 'redux-form'; import { withDialog, WithDialogProps } from 'store/dialog/with-dialog'; diff --git a/src/views-components/repositories-sample-git-dialog/repositories-sample-git-dialog.tsx b/src/views-components/repositories-sample-git-dialog/repositories-sample-git-dialog.tsx index ad8f3f0f..704f13f2 100644 --- a/src/views-components/repositories-sample-git-dialog/repositories-sample-git-dialog.tsx +++ b/src/views-components/repositories-sample-git-dialog/repositories-sample-git-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { withDialog } from 'store/dialog/with-dialog'; diff --git a/src/views-components/repository-attributes-dialog/repository-attributes-dialog.tsx b/src/views-components/repository-attributes-dialog/repository-attributes-dialog.tsx index adf7837c..1771e3c2 100644 --- a/src/views-components/repository-attributes-dialog/repository-attributes-dialog.tsx +++ b/src/views-components/repository-attributes-dialog/repository-attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Grid } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { withDialog } from 'store/dialog/with-dialog'; diff --git a/src/views-components/resource-properties-form/property-chip.tsx b/src/views-components/resource-properties-form/property-chip.tsx index 576ed5a5..01164882 100644 --- a/src/views-components/resource-properties-form/property-chip.tsx +++ b/src/views-components/resource-properties-form/property-chip.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Chip } from '@material-ui/core'; import { connect } from 'react-redux'; import { RootState } from 'store/store'; diff --git a/src/views-components/resource-properties-form/property-key-field.tsx b/src/views-components/resource-properties-form/property-key-field.tsx index eb3494b5..2c047e58 100644 --- a/src/views-components/resource-properties-form/property-key-field.tsx +++ b/src/views-components/resource-properties-form/property-key-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WrappedFieldProps, Field, FormName, reset, change, WrappedFieldInputProps, WrappedFieldMetaProps } from 'redux-form'; import { memoize } from 'lodash'; import { Autocomplete } from 'components/autocomplete/autocomplete'; diff --git a/src/views-components/resource-properties-form/property-value-field.tsx b/src/views-components/resource-properties-form/property-value-field.tsx index b71b950f..5b09e148 100644 --- a/src/views-components/resource-properties-form/property-value-field.tsx +++ b/src/views-components/resource-properties-form/property-value-field.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { WrappedFieldProps, Field, formValues, FormName, WrappedFieldInputProps, WrappedFieldMetaProps, change } from 'redux-form'; import { compose } from 'redux'; import { Autocomplete } from 'components/autocomplete/autocomplete'; diff --git a/src/views-components/resource-properties-form/resource-properties-form.tsx b/src/views-components/resource-properties-form/resource-properties-form.tsx index 73334a36..38d76e46 100644 --- a/src/views-components/resource-properties-form/resource-properties-form.tsx +++ b/src/views-components/resource-properties-form/resource-properties-form.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { InjectedFormProps } from 'redux-form'; import { Grid, withStyles, WithStyles } from '@material-ui/core'; import { PropertyKeyField, PROPERTY_KEY_FIELD_NAME, PROPERTY_KEY_FIELD_ID } from './property-key-field'; diff --git a/src/views-components/rich-text-editor-dialog/rich-text-editor-dialog.tsx b/src/views-components/rich-text-editor-dialog/rich-text-editor-dialog.tsx index 69a6bf87..95ae6d45 100644 --- a/src/views-components/rich-text-editor-dialog/rich-text-editor-dialog.tsx +++ b/src/views-components/rich-text-editor-dialog/rich-text-editor-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, diff --git a/src/views-components/search-bar/search-bar-advanced-properties-view.tsx b/src/views-components/search-bar/search-bar-advanced-properties-view.tsx index 11ed14cb..6ebef156 100644 --- a/src/views-components/search-bar/search-bar-advanced-properties-view.tsx +++ b/src/views-components/search-bar/search-bar-advanced-properties-view.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Dispatch, compose } from 'redux'; import { connect } from 'react-redux'; import { InjectedFormProps, formValueSelector } from 'redux-form'; @@ -20,7 +20,7 @@ import { Chips } from 'components/chips/chips'; import { formatPropertyValue } from "common/formatters"; import { Vocabulary } from 'models/vocabulary'; import { connectVocabulary } from '../resource-properties-form/property-field-common'; -import * as _ from 'lodash'; +import { isEqual } from 'lodash'; type CssRules = 'label' | 'button'; @@ -67,7 +67,7 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ }, addProp: (propertyValue: PropertyValue, properties: PropertyValue[]) => { // Remove potential duplicates - properties = properties.filter(x => ! _.isEqual( + properties = properties.filter(x => ! isEqual( { key: x.keyID || x.key, value: x.valueID || x.value diff --git a/src/views-components/search-bar/search-bar-advanced-view.tsx b/src/views-components/search-bar/search-bar-advanced-view.tsx index 9395fa7f..323f07b2 100644 --- a/src/views-components/search-bar/search-bar-advanced-view.tsx +++ b/src/views-components/search-bar/search-bar-advanced-view.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { reduxForm, InjectedFormProps, reset } from 'redux-form'; import { compose, Dispatch } from 'redux'; import { Paper, StyleRulesCallback, withStyles, WithStyles, Button, Grid, IconButton, CircularProgress } from '@material-ui/core'; diff --git a/src/views-components/search-bar/search-bar-autocomplete-view.tsx b/src/views-components/search-bar/search-bar-autocomplete-view.tsx index ef2b5a90..885f7fdd 100644 --- a/src/views-components/search-bar/search-bar-autocomplete-view.tsx +++ b/src/views-components/search-bar/search-bar-autocomplete-view.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Paper, StyleRulesCallback, withStyles, WithStyles, List, ListItem, ListItemText } from '@material-ui/core'; import { GroupContentsResource } from 'services/groups-service/groups-service'; import Highlighter from "react-highlight-words"; diff --git a/src/views-components/search-bar/search-bar-basic-view.tsx b/src/views-components/search-bar/search-bar-basic-view.tsx index dd6028a6..e880c437 100644 --- a/src/views-components/search-bar/search-bar-basic-view.tsx +++ b/src/views-components/search-bar/search-bar-basic-view.tsx @@ -2,17 +2,17 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Paper, StyleRulesCallback, withStyles, WithStyles } from '@material-ui/core'; import { SearchBarRecentQueries, SearchBarRecentQueriesActionProps -} from '~/views-components/search-bar/search-bar-recent-queries'; +} from 'views-components/search-bar/search-bar-recent-queries'; import { SearchBarSavedQueries, SearchBarSavedQueriesDataProps, SearchBarSavedQueriesActionProps -} from '~/views-components/search-bar/search-bar-save-queries'; +} from 'views-components/search-bar/search-bar-save-queries'; type CssRules = 'advanced' | 'label' | 'root'; diff --git a/src/views-components/search-bar/search-bar-recent-queries.tsx b/src/views-components/search-bar/search-bar-recent-queries.tsx index 97ef482a..1d5c46c8 100644 --- a/src/views-components/search-bar/search-bar-recent-queries.tsx +++ b/src/views-components/search-bar/search-bar-recent-queries.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { withStyles, WithStyles, StyleRulesCallback, List, ListItem, ListItemText } from '@material-ui/core'; import { ArvadosTheme } from 'common/custom-theme'; import { SearchBarSelectedItem } from "store/search-bar/search-bar-reducer"; diff --git a/src/views-components/search-bar/search-bar-save-queries.tsx b/src/views-components/search-bar/search-bar-save-queries.tsx index 735a933a..1b765b94 100644 --- a/src/views-components/search-bar/search-bar-save-queries.tsx +++ b/src/views-components/search-bar/search-bar-save-queries.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { withStyles, WithStyles, StyleRulesCallback, List, ListItem, ListItemText, ListItemSecondaryAction, Tooltip, IconButton } from '@material-ui/core'; import { ArvadosTheme } from 'common/custom-theme'; import { RemoveIcon, EditSavedQueryIcon } from 'components/icon/icon'; diff --git a/src/views-components/search-bar/search-bar-view.test.tsx b/src/views-components/search-bar/search-bar-view.test.tsx index 3f162613..2f7ed656 100644 --- a/src/views-components/search-bar/search-bar-view.test.tsx +++ b/src/views-components/search-bar/search-bar-view.test.tsx @@ -2,11 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { mount, configure } from "enzyme"; -// import { SearchBarView, DEFAULT_SEARCH_DEBOUNCE } from "./search-bar-view"; - -import * as Adapter from 'enzyme-adapter-react-16'; +import Adapter from 'enzyme-adapter-react-16'; configure({ adapter: new Adapter() }); diff --git a/src/views-components/search-bar/search-bar-view.tsx b/src/views-components/search-bar/search-bar-view.tsx index 61efbcfe..cab53403 100644 --- a/src/views-components/search-bar/search-bar-view.tsx +++ b/src/views-components/search-bar/search-bar-view.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { compose } from 'redux'; import { IconButton, diff --git a/src/views-components/sharing-dialog/advanced-view-switch.tsx b/src/views-components/sharing-dialog/advanced-view-switch.tsx index 0d9e1436..969128be 100644 --- a/src/views-components/sharing-dialog/advanced-view-switch.tsx +++ b/src/views-components/sharing-dialog/advanced-view-switch.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; export interface AdvancedViewSwitchInjectedProps { toggleAdvancedView: () => void; diff --git a/src/views-components/sharing-dialog/participant-select.tsx b/src/views-components/sharing-dialog/participant-select.tsx index e7b83060..d34a8125 100644 --- a/src/views-components/sharing-dialog/participant-select.tsx +++ b/src/views-components/sharing-dialog/participant-select.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Autocomplete } from 'components/autocomplete/autocomplete'; import { connect, DispatchProp } from 'react-redux'; import { ServiceRepository } from 'services/services'; diff --git a/src/views-components/sharing-dialog/permission-select.tsx b/src/views-components/sharing-dialog/permission-select.tsx index 90b4f83d..3c4471f6 100644 --- a/src/views-components/sharing-dialog/permission-select.tsx +++ b/src/views-components/sharing-dialog/permission-select.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { MenuItem, Select } from '@material-ui/core'; import RemoveRedEye from '@material-ui/icons/RemoveRedEye'; import Edit from '@material-ui/icons/Edit'; diff --git a/src/views-components/sharing-dialog/select-item.tsx b/src/views-components/sharing-dialog/select-item.tsx index 9dcfd71e..74b0c4d2 100644 --- a/src/views-components/sharing-dialog/select-item.tsx +++ b/src/views-components/sharing-dialog/select-item.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Grid, withStyles, StyleRulesCallback } from '@material-ui/core'; import { WithStyles } from '@material-ui/core/styles'; import { SvgIconProps } from '@material-ui/core/SvgIcon'; diff --git a/src/views-components/sharing-dialog/sharing-dialog-component.tsx b/src/views-components/sharing-dialog/sharing-dialog-component.tsx index 9344deae..be15cce6 100644 --- a/src/views-components/sharing-dialog/sharing-dialog-component.tsx +++ b/src/views-components/sharing-dialog/sharing-dialog-component.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Dialog, DialogTitle, Button, Grid, DialogContent, CircularProgress, Paper } from '@material-ui/core'; import { DialogActions } from 'components/dialog-actions/dialog-actions'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; diff --git a/src/views-components/sharing-dialog/sharing-dialog-content.tsx b/src/views-components/sharing-dialog/sharing-dialog-content.tsx index 2c9bb01d..15df2245 100644 --- a/src/views-components/sharing-dialog/sharing-dialog-content.tsx +++ b/src/views-components/sharing-dialog/sharing-dialog-content.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Grid, Typography } from '@material-ui/core'; import { SharingInvitationForm } from './sharing-invitation-form'; diff --git a/src/views-components/sharing-dialog/sharing-dialog.tsx b/src/views-components/sharing-dialog/sharing-dialog.tsx index 539ddbe9..fe3b8396 100644 --- a/src/views-components/sharing-dialog/sharing-dialog.tsx +++ b/src/views-components/sharing-dialog/sharing-dialog.tsx @@ -5,7 +5,7 @@ import { compose, Dispatch } from 'redux'; import { connect } from 'react-redux'; -import * as React from 'react'; +import React from 'react'; import { connectSharingDialog, saveSharingDialogChanges, connectSharingDialogProgress, sendSharingInvitations } from 'store/sharing-dialog/sharing-dialog-actions'; import { WithDialogProps } from 'store/dialog/with-dialog'; import { RootState } from 'store/store'; diff --git a/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx b/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx index b23ee6b6..be875f51 100644 --- a/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx +++ b/src/views-components/sharing-dialog/sharing-invitation-form-component.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Field, WrappedFieldProps, FieldArray, WrappedFieldArrayProps } from 'redux-form'; import { Grid, FormControl, InputLabel } from '@material-ui/core'; import { PermissionSelect, parsePermissionLevel, formatPermissionLevel } from './permission-select'; diff --git a/src/views-components/sharing-dialog/sharing-management-form-component.tsx b/src/views-components/sharing-dialog/sharing-management-form-component.tsx index 6ba2da56..40f49a95 100644 --- a/src/views-components/sharing-dialog/sharing-management-form-component.tsx +++ b/src/views-components/sharing-dialog/sharing-management-form-component.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Grid, StyleRulesCallback, Divider, IconButton, Typography } from '@material-ui/core'; import { Field, diff --git a/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx b/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx index 30e07360..8fb427af 100644 --- a/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx +++ b/src/views-components/sharing-dialog/sharing-public-access-form-component.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Grid, StyleRulesCallback, Divider, Typography } from '@material-ui/core'; import { Field, WrappedFieldProps } from 'redux-form'; import { WithStyles } from '@material-ui/core/styles'; diff --git a/src/views-components/sharing-dialog/visibility-level-select.tsx b/src/views-components/sharing-dialog/visibility-level-select.tsx index aacf3d8d..5746de1f 100644 --- a/src/views-components/sharing-dialog/visibility-level-select.tsx +++ b/src/views-components/sharing-dialog/visibility-level-select.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { MenuItem, Select, withStyles, StyleRulesCallback } from '@material-ui/core'; import Lock from '@material-ui/icons/Lock'; import People from '@material-ui/icons/People'; diff --git a/src/views-components/side-panel-button/side-panel-button.tsx b/src/views-components/side-panel-button/side-panel-button.tsx index ed41371a..a219e55a 100644 --- a/src/views-components/side-panel-button/side-panel-button.tsx +++ b/src/views-components/side-panel-button/side-panel-button.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { connect, DispatchProp } from 'react-redux'; import { RootState } from 'store/store'; import { ArvadosTheme } from 'common/custom-theme'; diff --git a/src/views-components/side-panel-tree/side-panel-tree.tsx b/src/views-components/side-panel-tree/side-panel-tree.tsx index 6e2a34f0..95efee8c 100644 --- a/src/views-components/side-panel-tree/side-panel-tree.tsx +++ b/src/views-components/side-panel-tree/side-panel-tree.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dispatch } from "redux"; import { connect } from "react-redux"; import { TreePicker, TreePickerProps } from "../tree-picker/tree-picker"; diff --git a/src/views-components/side-panel/side-panel.tsx b/src/views-components/side-panel/side-panel.tsx index 19fc0e09..218b624c 100644 --- a/src/views-components/side-panel/side-panel.tsx +++ b/src/views-components/side-panel/side-panel.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core/styles'; import { ArvadosTheme } from 'common/custom-theme'; import { SidePanelTree, SidePanelTreeProps } from 'views-components/side-panel-tree/side-panel-tree'; diff --git a/src/views-components/snackbar/snackbar.tsx b/src/views-components/snackbar/snackbar.tsx index bea70a8e..2a63a31a 100644 --- a/src/views-components/snackbar/snackbar.tsx +++ b/src/views-components/snackbar/snackbar.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dispatch } from "redux"; import { connect } from "react-redux"; import { RootState } from "store/store"; @@ -17,7 +17,7 @@ import InfoIcon from '@material-ui/icons/Info'; import CloseIcon from '@material-ui/icons/Close'; import { ArvadosTheme } from "common/custom-theme"; import { amber, green } from "@material-ui/core/colors"; -import * as classNames from 'classnames'; +import classNames from 'classnames'; interface SnackbarDataProps { anchorOrigin?: SnackbarOrigin; diff --git a/src/views-components/ssh-keys-dialog/attributes-dialog.tsx b/src/views-components/ssh-keys-dialog/attributes-dialog.tsx index 8b80c75a..abed6654 100644 --- a/src/views-components/ssh-keys-dialog/attributes-dialog.tsx +++ b/src/views-components/ssh-keys-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { compose } from 'redux'; import { withStyles, Dialog, DialogTitle, DialogContent, DialogActions, Button, StyleRulesCallback, WithStyles, Grid } from '@material-ui/core'; import { WithDialogProps, withDialog } from "store/dialog/with-dialog"; diff --git a/src/views-components/ssh-keys-dialog/public-key-dialog.tsx b/src/views-components/ssh-keys-dialog/public-key-dialog.tsx index ae88c212..dfcade66 100644 --- a/src/views-components/ssh-keys-dialog/public-key-dialog.tsx +++ b/src/views-components/ssh-keys-dialog/public-key-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { compose } from 'redux'; import { withStyles, Dialog, DialogTitle, DialogContent, DialogActions, Button, StyleRulesCallback, WithStyles } from '@material-ui/core'; import { WithDialogProps, withDialog } from "store/dialog/with-dialog"; diff --git a/src/views-components/token-dialog/token-dialog.test.tsx b/src/views-components/token-dialog/token-dialog.test.tsx index d9548612..4d1412d8 100644 --- a/src/views-components/token-dialog/token-dialog.test.tsx +++ b/src/views-components/token-dialog/token-dialog.test.tsx @@ -2,11 +2,11 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Button } from '@material-ui/core'; import { mount, configure } from 'enzyme'; -import * as Adapter from 'enzyme-adapter-react-16'; -import * as CopyToClipboard from 'react-copy-to-clipboard'; +import Adapter from 'enzyme-adapter-react-16'; +import CopyToClipboard from 'react-copy-to-clipboard'; import { TokenDialogComponent } from './token-dialog'; configure({ adapter: new Adapter() }); diff --git a/src/views-components/token-dialog/token-dialog.tsx b/src/views-components/token-dialog/token-dialog.tsx index 61fb3687..b9d195f5 100644 --- a/src/views-components/token-dialog/token-dialog.tsx +++ b/src/views-components/token-dialog/token-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { Dialog, DialogActions, @@ -14,7 +14,7 @@ import { Button, Typography } from '@material-ui/core'; -import * as CopyToClipboard from 'react-copy-to-clipboard'; +import CopyToClipboard from 'react-copy-to-clipboard'; import { ArvadosTheme } from 'common/custom-theme'; import { withDialog } from 'store/dialog/with-dialog'; import { WithDialogProps } from 'store/dialog/with-dialog'; @@ -28,7 +28,7 @@ import { DefaultCodeSnippet } from 'components/default-code-snippet/default-code import { snackbarActions, SnackbarKind } from 'store/snackbar/snackbar-actions'; import { getNewExtraToken } from 'store/auth/auth-action'; import { DetailsAttributeComponent } from 'components/details-attribute/details-attribute'; -import * as moment from 'moment'; +import moment from 'moment'; type CssRules = 'link' | 'paper' | 'button' | 'actionButton' | 'codeBlock'; diff --git a/src/views-components/user-dialog/attributes-dialog.tsx b/src/views-components/user-dialog/attributes-dialog.tsx index 1cb09426..5686688d 100644 --- a/src/views-components/user-dialog/attributes-dialog.tsx +++ b/src/views-components/user-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Grid } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { withDialog } from 'store/dialog/with-dialog'; diff --git a/src/views-components/user-dialog/manage-dialog.tsx b/src/views-components/user-dialog/manage-dialog.tsx index 05bfa209..b812f5cb 100644 --- a/src/views-components/user-dialog/manage-dialog.tsx +++ b/src/views-components/user-dialog/manage-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { compose, Dispatch } from "redux"; import { connect } from "react-redux"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography } from "@material-ui/core"; diff --git a/src/views-components/virtual-machines-dialog/attributes-dialog.tsx b/src/views-components/virtual-machines-dialog/attributes-dialog.tsx index 6f0d057a..4960c1b0 100644 --- a/src/views-components/virtual-machines-dialog/attributes-dialog.tsx +++ b/src/views-components/virtual-machines-dialog/attributes-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Grid } from "@material-ui/core"; import { WithDialogProps } from "store/dialog/with-dialog"; import { withDialog } from 'store/dialog/with-dialog'; diff --git a/src/views-components/webdav-s3-dialog/webdav-s3-dialog.test.tsx b/src/views-components/webdav-s3-dialog/webdav-s3-dialog.test.tsx index 29d22796..67d5aa2e 100644 --- a/src/views-components/webdav-s3-dialog/webdav-s3-dialog.test.tsx +++ b/src/views-components/webdav-s3-dialog/webdav-s3-dialog.test.tsx @@ -2,9 +2,9 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; -import { mount, configure, shallow } from 'enzyme'; -import * as Adapter from "enzyme-adapter-react-16"; +import React from 'react'; +import { mount, configure } from 'enzyme'; +import Adapter from "enzyme-adapter-react-16"; import { MuiThemeProvider, WithStyles } from '@material-ui/core'; import { CustomTheme } from 'common/custom-theme'; import { WebDavS3InfoDialog, CssRules } from './webdav-s3-dialog'; @@ -12,9 +12,9 @@ import { WithDialogProps } from 'store/dialog/with-dialog'; import { WebDavS3InfoDialogData, COLLECTION_WEBDAV_S3_DIALOG_NAME } from 'store/collections/collection-info-actions'; import { Provider } from "react-redux"; import { createStore, combineReducers } from 'redux'; -import { configureStore, RootStore } from 'store/store'; -import { createBrowserHistory } from "history"; -import { createServices } from "services/services"; +// import { configureStore, RootStore } from 'store/store'; +// import { createBrowserHistory } from "history"; +// import { createServices } from "services/services"; configure({ adapter: new Adapter() }); diff --git a/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx b/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx index 52b3ef94..181e6e28 100644 --- a/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx +++ b/src/views-components/webdav-s3-dialog/webdav-s3-dialog.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dialog, DialogActions, Button, StyleRulesCallback, WithStyles, withStyles, CardHeader, Tab, Tabs } from '@material-ui/core'; import { withDialog } from "store/dialog/with-dialog"; import { COLLECTION_WEBDAV_S3_DIALOG_NAME, WebDavS3InfoDialogData } from 'store/collections/collection-info-actions'; @@ -53,12 +53,12 @@ const isValidIpAddress = (ipAddress: string): Boolean => { }; const mountainduckTemplate = ({ - uuid, + uuid, username, cyberDavStr, collectionsUrl }: any) => { - + return ` @@ -74,7 +74,7 @@ const mountainduckTemplate = ({ Port ${(cyberDavStr.split(':')[2] || '443').split('/')[0]} Username - ${username}${isValidIpAddress(collectionsUrl.replace('https://', ``).split(':')[0])? + ${username}${isValidIpAddress(collectionsUrl.replace('https://', ``).split(':')[0])? ` Path /c=${uuid}` : ''} @@ -89,12 +89,12 @@ const downloadMountainduckFileHandler = (filename: string, text: string) => { const element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); - + element.style.display = 'none'; document.body.appendChild(element); - + element.click(); - + document.body.removeChild(element); }; diff --git a/src/views/all-processes-panel/all-processes-panel.tsx b/src/views/all-processes-panel/all-processes-panel.tsx index fa0ddecf..f9fab44d 100644 --- a/src/views/all-processes-panel/all-processes-panel.tsx +++ b/src/views/all-processes-panel/all-processes-panel.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles } from '@material-ui/core'; import { DataExplorer } from "views-components/data-explorer/data-explorer"; import { connect, DispatchProp } from 'react-redux'; diff --git a/src/views/api-client-authorization-panel/api-client-authorization-panel-root.tsx b/src/views/api-client-authorization-panel/api-client-authorization-panel-root.tsx index 9545f873..703bbec5 100644 --- a/src/views/api-client-authorization-panel/api-client-authorization-panel-root.tsx +++ b/src/views/api-client-authorization-panel/api-client-authorization-panel-root.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, withStyles, Card, CardContent, Grid, Tooltip, IconButton } from '@material-ui/core'; diff --git a/src/views/collection-content-address-panel/collection-content-address-panel.tsx b/src/views/collection-content-address-panel/collection-content-address-panel.tsx index 9fe4a564..13e131b0 100644 --- a/src/views/collection-content-address-panel/collection-content-address-panel.tsx +++ b/src/views/collection-content-address-panel/collection-content-address-panel.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from 'react'; +import React from 'react'; import { StyleRulesCallback, WithStyles, @@ -150,7 +150,7 @@ export const CollectionsContentAddressPanel = withStyles(styles)( render() { return