From 4fc5d38798d59ec52bba979d56172d92b93e427a Mon Sep 17 00:00:00 2001 From: Marek Libra Date: Wed, 7 Nov 2018 16:22:22 +0100 Subject: [PATCH 1/2] fix: Fix sub-component references in react-console Follow-up for 1f3411a6e708e833e48921380ae736cf5f79862b. Sub-components (like Grid.Col) are no more exported individually. --- packages/patternfly-3/react-console/package.json | 2 +- .../react-console/src/AccessConsoles/AccessConsoles.js | 5 ++++- .../react-console/src/SerialConsole/SerialConsole.js | 4 +++- .../src/SerialConsole/SerialConsoleActions.js | 4 +++- .../react-console/src/SerialConsole/XTerm.js | 5 ++++- .../react-console/src/VncConsole/VncActions.js | 9 ++++++--- .../react-console/src/VncConsole/VncConsole.js | 4 +++- 7 files changed, 24 insertions(+), 9 deletions(-) diff --git a/packages/patternfly-3/react-console/package.json b/packages/patternfly-3/react-console/package.json index 34437667511..2a733303326 100644 --- a/packages/patternfly-3/react-console/package.json +++ b/packages/patternfly-3/react-console/package.json @@ -50,7 +50,7 @@ }, "peerDependencies": { "patternfly": "^3.58.0", - "patternfly-react": "^2.22.5", + "patternfly-react": "^2.24.0", "prop-types": "^15.6.1", "react": "^16.3.2", "react-bootstrap": "^0.32.1", diff --git a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js index 7351d43de51..4b4d32e82a6 100644 --- a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js +++ b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js @@ -1,10 +1,13 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { Grid, Row, Col, Form, FormGroup, Dropdown, MenuItem, Checkbox } from 'patternfly-react'; +import { Grid, Form, Dropdown, MenuItem } from 'patternfly-react'; import { NONE_TYPE, SERIAL_CONSOLE_TYPE, VNC_CONSOLE_TYPE } from '../common/constants'; +const { Row, Col } = Grid; +const { Checkbox, FormGroup } = Form; + class AccessConsoles extends React.Component { state = { type: NONE_TYPE, diff --git a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js index 29f7a373452..550dd150a1e 100644 --- a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js +++ b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js @@ -2,12 +2,14 @@ import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; -import { EmptyState, Button, noop } from 'patternfly-react'; +import { EmptyState, Button, helpers } from 'patternfly-react'; import { CONNECTED, DISCONNECTED, LOADING } from './constants'; import XTerm from './XTerm'; import SerialConsoleActions from './SerialConsoleActions'; +const { noop } = helpers; + /** * SerialConsole Component for PatternFly React */ diff --git a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsoleActions.js b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsoleActions.js index 51573c9fa80..59d78ea14b5 100644 --- a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsoleActions.js +++ b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsoleActions.js @@ -2,7 +2,9 @@ import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; -import { noop } from 'patternfly-react'; +import { helpers } from 'patternfly-react'; + +const { noop } = helpers; const SerialConsoleActions = ({ idPrefix, diff --git a/packages/patternfly-3/react-console/src/SerialConsole/XTerm.js b/packages/patternfly-3/react-console/src/SerialConsole/XTerm.js index 6a5c98e71a5..8c7e738db6f 100644 --- a/packages/patternfly-3/react-console/src/SerialConsole/XTerm.js +++ b/packages/patternfly-3/react-console/src/SerialConsole/XTerm.js @@ -4,9 +4,12 @@ import PropTypes from 'prop-types'; import { Terminal } from 'xterm'; import { proposeGeometry } from 'xterm/lib/addons/fit/fit'; -import { noop } from 'patternfly-react'; import { debounce } from '../common/helpers'; +import { helpers } from 'patternfly-react'; + +const { noop } = helpers; + /** * Wraps terminal to a React Component. * Based on cockpit-components-terminal.jsx from the Cockpit project (https://github.com/cockpit-project/cockpit) diff --git a/packages/patternfly-3/react-console/src/VncConsole/VncActions.js b/packages/patternfly-3/react-console/src/VncConsole/VncActions.js index cda18e15fa8..f036c2eff5b 100644 --- a/packages/patternfly-3/react-console/src/VncConsole/VncActions.js +++ b/packages/patternfly-3/react-console/src/VncConsole/VncActions.js @@ -1,13 +1,16 @@ import React from 'react'; import PropTypes from 'prop-types'; -import { DropdownButton, MenuItem, noop } from 'patternfly-react'; +import { MenuItem, Button, helpers } from 'patternfly-react'; + +const { Dropdown } = Button; +const { noop } = helpers; const VncActions = ({ textSendShortcut, textCtrlAltDel, onCtrlAltDel }) => ( - + {textCtrlAltDel} - + ); VncActions.propTypes = { diff --git a/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js b/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js index 8352c8c930b..f1c76a1c9ee 100644 --- a/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js +++ b/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js @@ -5,10 +5,12 @@ import * as NovncLog from '@novnc/novnc/core/util/logging'; import RFB from '@novnc/novnc/core/rfb'; import classNames from 'classnames'; -import { Toolbar, noop } from 'patternfly-react'; +import { Toolbar, helpers } from 'patternfly-react'; import VncActions from './VncActions'; +const { noop } = helpers; + const CONNECTING = 'connecting'; const CONNECTED = 'connected'; const DISCONNECTED = 'disconnected'; From 02e636200594efe91482f5274daab7e48ee8bdd0 Mon Sep 17 00:00:00 2001 From: Marek Libra Date: Fri, 16 Nov 2018 12:44:40 +0100 Subject: [PATCH 2/2] fix(react-console constants): Make constants available from AccessConsoles Fix after 1f3411a6e708e833e48921380ae736cf5f79862b. --- .../src/AccessConsoles/AccessConsoles.js | 5 +++- .../AccessConsoles/AccessConsoles.stories.js | 5 ++-- .../src/AccessConsoles/AccessConsoles.test.js | 5 ++-- .../src/DesktopViewer/DesktopViewer.test.js | 4 ++- .../src/DesktopViewer/vvFileGenerator.js | 3 ++- .../src/SerialConsole/SerialConsole.js | 5 ++-- .../SerialConsole/SerialConsole.stories.js | 4 ++- .../src/SerialConsole/SerialConsole.test.js | 4 ++- .../src/SerialConsole/constants.js | 3 --- .../src/VncConsole/VncConsole.js | 6 ++--- .../react-console/src/common/constants.js | 27 ++++++++++++++++--- .../patternfly-3/react-console/src/index.js | 3 --- 12 files changed, 49 insertions(+), 25 deletions(-) delete mode 100644 packages/patternfly-3/react-console/src/SerialConsole/constants.js diff --git a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js index 4b4d32e82a6..15c33ef0810 100644 --- a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js +++ b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.js @@ -3,8 +3,9 @@ import PropTypes from 'prop-types'; import { Grid, Form, Dropdown, MenuItem } from 'patternfly-react'; -import { NONE_TYPE, SERIAL_CONSOLE_TYPE, VNC_CONSOLE_TYPE } from '../common/constants'; +import constants from '../common/constants'; +const { NONE_TYPE, SERIAL_CONSOLE_TYPE, VNC_CONSOLE_TYPE } = constants; const { Row, Col } = Grid; const { Checkbox, FormGroup } = Form; @@ -156,4 +157,6 @@ AccessConsoles.defaultProps = { disconnectByChange: true /** By default, console is unmounted (disconnected) when switching to other type */ }; +AccessConsoles.constants = constants; + export default AccessConsoles; diff --git a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.stories.js b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.stories.js index 1cd730f2172..09e04edec07 100644 --- a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.stories.js +++ b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.stories.js @@ -8,8 +8,9 @@ import { storybookPackageName } from 'storybook/constants/siteConstants'; import { noop } from 'patternfly-react'; import { AccessConsoles, VncConsole } from '../index'; import { SerialConsoleConnector } from '../SerialConsole/SerialConsole.stories'; // contains mock backend -import { DISCONNECTED } from '../SerialConsole/constants'; -import { SERIAL_CONSOLE_TYPE } from '../common/constants'; +import constants from '../common/constants'; + +const { DISCONNECTED, SERIAL_CONSOLE_TYPE } = constants; const stories = storiesOf(`${storybookPackageName(name)}/AccessConsoles`, module); diff --git a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.test.js b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.test.js index cbea0278b28..6913823c914 100644 --- a/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.test.js +++ b/packages/patternfly-3/react-console/src/AccessConsoles/AccessConsoles.test.js @@ -4,9 +4,10 @@ import { noop } from 'patternfly-react'; import { AccessConsoles } from './index'; import { SerialConsole } from '../SerialConsole'; -import { SERIAL_CONSOLE_TYPE, VNC_CONSOLE_TYPE } from '../common/constants'; -import { LOADING } from '../SerialConsole/constants'; import { VncConsole } from '../VncConsole'; +import constants from '../common/constants'; + +const { SERIAL_CONSOLE_TYPE, VNC_CONSOLE_TYPE, LOADING } = constants; const MyVncConsoleTestWrapper = () =>

This can be VncConsole component or a wrapper

; diff --git a/packages/patternfly-3/react-console/src/DesktopViewer/DesktopViewer.test.js b/packages/patternfly-3/react-console/src/DesktopViewer/DesktopViewer.test.js index 9b1a3c2ce0b..83fdb9e133b 100644 --- a/packages/patternfly-3/react-console/src/DesktopViewer/DesktopViewer.test.js +++ b/packages/patternfly-3/react-console/src/DesktopViewer/DesktopViewer.test.js @@ -5,7 +5,9 @@ import { render, mount } from 'enzyme'; import DesktopViewer from './DesktopViewer'; import MoreInformationDefaultContent from './MoreInformationDefaultContent'; import { generateVVFile } from './vvFileGenerator'; -import { SPICE_CONSOLE_TYPE } from '../common/constants'; +import constants from '../common/constants'; + +const { SPICE_CONSOLE_TYPE } = constants; const spice = { address: 'my.host.com', diff --git a/packages/patternfly-3/react-console/src/DesktopViewer/vvFileGenerator.js b/packages/patternfly-3/react-console/src/DesktopViewer/vvFileGenerator.js index b641021c07e..dc3a227fc03 100644 --- a/packages/patternfly-3/react-console/src/DesktopViewer/vvFileGenerator.js +++ b/packages/patternfly-3/react-console/src/DesktopViewer/vvFileGenerator.js @@ -1,7 +1,8 @@ import 'blob-polyfill'; import { saveAs } from 'file-saver'; +import constants from '../common/constants'; -import { VNC_CONSOLE_TYPE, SPICE_CONSOLE_TYPE } from '../common/constants'; +const { VNC_CONSOLE_TYPE, SPICE_CONSOLE_TYPE } = constants; export function downloadFile(fileName, content, mimeType) { const blob = new Blob([content], { type: mimeType }); diff --git a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js index 550dd150a1e..bae6ec6c7bc 100644 --- a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js +++ b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.js @@ -3,8 +3,9 @@ import PropTypes from 'prop-types'; import classNames from 'classnames'; import { EmptyState, Button, helpers } from 'patternfly-react'; -import { CONNECTED, DISCONNECTED, LOADING } from './constants'; +import constants from '../common/constants'; +const { CONNECTED, DISCONNECTED, LOADING } = constants; import XTerm from './XTerm'; import SerialConsoleActions from './SerialConsoleActions'; @@ -139,7 +140,7 @@ SerialConsole.propTypes = { onTitleChanged: PropTypes.func, /** Connection status, a value from [''connected', 'disconnected', 'loading']. Default is 'loading' for a not matching value. */ - status: PropTypes.string.isRequired, + status: PropTypes.oneOf([CONNECTED, DISCONNECTED, LOADING]).isRequired, id: PropTypes.string, /** Size of the terminal component */ diff --git a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.stories.js b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.stories.js index b546305884f..01434d96e10 100644 --- a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.stories.js +++ b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.stories.js @@ -7,7 +7,9 @@ import { defaultTemplate } from 'storybook/decorators/storyTemplates'; import { storybookPackageName } from 'storybook/constants/siteConstants'; import { SerialConsole } from './index'; -import { CONNECTED, DISCONNECTED, LOADING } from './constants'; +import constants from '../common/constants'; + +const { CONNECTED, DISCONNECTED, LOADING } = constants; import { name } from '../../package.json'; diff --git a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.test.js b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.test.js index 9c276d5feb5..e1cabdcc5ed 100644 --- a/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.test.js +++ b/packages/patternfly-3/react-console/src/SerialConsole/SerialConsole.test.js @@ -2,7 +2,9 @@ import React from 'react'; import { shallow, render } from 'enzyme'; import SerialConsole from './SerialConsole'; -import { CONNECTED, DISCONNECTED, LOADING } from './constants'; +import constants from '../common/constants'; + +const { CONNECTED, DISCONNECTED, LOADING } = constants; test('SerialConsole in the LOADING state', () => { const view = shallow( diff --git a/packages/patternfly-3/react-console/src/SerialConsole/constants.js b/packages/patternfly-3/react-console/src/SerialConsole/constants.js deleted file mode 100644 index eebc5142c48..00000000000 --- a/packages/patternfly-3/react-console/src/SerialConsole/constants.js +++ /dev/null @@ -1,3 +0,0 @@ -export const CONNECTED = 'connected'; -export const DISCONNECTED = 'disconnected'; -export const LOADING = 'loading'; diff --git a/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js b/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js index f1c76a1c9ee..caf97d79e03 100644 --- a/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js +++ b/packages/patternfly-3/react-console/src/VncConsole/VncConsole.js @@ -8,13 +8,11 @@ import classNames from 'classnames'; import { Toolbar, helpers } from 'patternfly-react'; import VncActions from './VncActions'; +import constants from '../common/constants'; +const { CONNECTED, CONNECTING, DISCONNECTED } = constants; const { noop } = helpers; -const CONNECTING = 'connecting'; -const CONNECTED = 'connected'; -const DISCONNECTED = 'disconnected'; - /* eslint no-console: ["warn", { allow: ["error"] }] */ class VncConsole extends React.Component { diff --git a/packages/patternfly-3/react-console/src/common/constants.js b/packages/patternfly-3/react-console/src/common/constants.js index 752d3264754..8fb94d18b8f 100644 --- a/packages/patternfly-3/react-console/src/common/constants.js +++ b/packages/patternfly-3/react-console/src/common/constants.js @@ -1,4 +1,23 @@ -export const NONE_TYPE = '_none_'; -export const SERIAL_CONSOLE_TYPE = 'SerialConsole'; -export const SPICE_CONSOLE_TYPE = 'SpiceConsole'; -export const VNC_CONSOLE_TYPE = 'VncConsole'; +const NONE_TYPE = '_none_'; +const SERIAL_CONSOLE_TYPE = 'SerialConsole'; +const SPICE_CONSOLE_TYPE = 'SpiceConsole'; +const VNC_CONSOLE_TYPE = 'VncConsole'; + +const CONNECTING = 'connecting'; +const CONNECTED = 'connected'; +const DISCONNECTED = 'disconnected'; +const LOADING = 'loading'; + +const constants = { + NONE_TYPE, + SERIAL_CONSOLE_TYPE, + SPICE_CONSOLE_TYPE, + VNC_CONSOLE_TYPE, + + CONNECTING, + CONNECTED, + DISCONNECTED, + LOADING +}; + +export default constants; diff --git a/packages/patternfly-3/react-console/src/index.js b/packages/patternfly-3/react-console/src/index.js index 706e4238461..a12d989fcd7 100644 --- a/packages/patternfly-3/react-console/src/index.js +++ b/packages/patternfly-3/react-console/src/index.js @@ -1,6 +1,3 @@ -export * from './common/helpers'; -export * from './common/constants'; - export * from './SerialConsole'; export * from './VncConsole'; export * from './AccessConsoles';