From 12416dcff0ac9794e3b3628ed37704a45f5f0e7e Mon Sep 17 00:00:00 2001 From: Ping Yip Date: Thu, 14 Nov 2019 01:57:14 -0800 Subject: [PATCH 1/3] Fix #1835 to verical stacking for SuggestedActions --- ...ctions-are-displayed-as-stacked-1-snap.png | Bin 0 -> 38316 bytes ...s-with-larger-images-as-stacked-1-snap.png | Bin 0 -> 12647 bytes .../setup/conditions/suggestedActionsShown.js | 2 +- __tests__/suggestedActions.js | 35 +++++++++ .../component/src/SendBox/SuggestedAction.js | 6 +- .../component/src/SendBox/SuggestedActions.js | 69 ++++++++++++------ .../src/Styles/StyleSet/SuggestedAction.js | 10 ++- .../src/Styles/StyleSet/SuggestedActions.js | 16 +++- .../src/Styles/defaultStyleOptions.js | 7 +- 9 files changed, 113 insertions(+), 32 deletions(-) create mode 100644 __tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-show-correctly-formatted-buttons-when-suggested-actions-are-displayed-as-stacked-1-snap.png create mode 100644 __tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-show-suggested-actions-with-larger-images-as-stacked-1-snap.png diff --git a/__tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-show-correctly-formatted-buttons-when-suggested-actions-are-displayed-as-stacked-1-snap.png b/__tests__/__image_snapshots__/chrome-docker/suggested-actions-js-suggested-actions-command-should-show-correctly-formatted-buttons-when-suggested-actions-are-displayed-as-stacked-1-snap.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f7ed476f38d38aefe178ba4a399e14ceeffcb7 GIT binary patch literal 38316 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 c>2h!t=RKEr^P2l_HU%bPPxng7g+p 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 :not(.main) button')); } diff --git a/__tests__/suggestedActions.js b/__tests__/suggestedActions.js index 14b1fd5a9e..3b67b9fb89 100644 --- a/__tests__/suggestedActions.js +++ b/__tests__/suggestedActions.js @@ -28,6 +28,22 @@ describe('suggested-actions command', () => { expect(base64PNG).toMatchImageSnapshot(imageSnapshotOptions); }); + test('should show correctly formatted buttons when suggested actions are displayed as stacked', async () => { + const { driver, pageObjects } = await setupWebDriver({ + props: { styleOptions: { suggestedActionLayout: 'stacked' } } + }); + + await driver.wait(uiConnected(), timeouts.directLine); + await pageObjects.sendMessageViaSendBox('suggested-actions', { waitForSend: true }); + + await driver.wait(suggestedActionsShown(), timeouts.directLine); + await driver.wait(allImagesLoaded(), 2000); + + const base64PNG = await driver.takeScreenshot(); + + expect(base64PNG).toMatchImageSnapshot(imageSnapshotOptions); + }); + test('should show response from bot and no text from user on imback', async () => { const { driver, pageObjects } = await setupWebDriver(); @@ -174,4 +190,23 @@ describe('suggested-actions command', () => { expect(base64PNG).toMatchImageSnapshot(imageSnapshotOptions); }); + + test('should show suggested actions with larger images as stacked', async () => { + const styleOptions = { + suggestedActionHeight: 80, + suggestedActionImageHeight: 60, + suggestedActionLayout: 'stacked' + }; + const { driver, pageObjects } = await setupWebDriver({ props: { styleOptions } }); + + await driver.wait(uiConnected(), timeouts.directLine); + await pageObjects.sendMessageViaSendBox('emptycard', { waitForSend: true }); + + await driver.wait(suggestedActionsShown(), timeouts.directLine); + await driver.wait(allImagesLoaded(), 2000); + + const base64PNG = await driver.takeScreenshot(); + + expect(base64PNG).toMatchImageSnapshot(imageSnapshotOptions); + }); }); diff --git a/packages/component/src/SendBox/SuggestedAction.js b/packages/component/src/SendBox/SuggestedAction.js index 779e4a4e52..725cec7a74 100644 --- a/packages/component/src/SendBox/SuggestedAction.js +++ b/packages/component/src/SendBox/SuggestedAction.js @@ -9,11 +9,13 @@ import usePerformCardAction from '../hooks/usePerformCardAction'; import useStyleSet from '../hooks/useStyleSet'; const SUGGESTED_ACTION_CSS = css({ - display: 'inline-block', + display: 'flex', + flexDirection: 'column', whiteSpace: 'initial', '& > button': { - display: 'flex' + display: 'flex', + overflow: 'hidden' } }); diff --git a/packages/component/src/SendBox/SuggestedActions.js b/packages/component/src/SendBox/SuggestedActions.js index 5a2f82c5c4..f9bc0b0482 100644 --- a/packages/component/src/SendBox/SuggestedActions.js +++ b/packages/component/src/SendBox/SuggestedActions.js @@ -1,5 +1,6 @@ /* eslint react/no-array-index-key: "off" */ +import { css } from 'glamor'; import BasicFilm from 'react-film'; import classNames from 'classnames'; import PropTypes from 'prop-types'; @@ -12,6 +13,11 @@ import useLocalize from '../hooks/useLocalize'; import useStyleOptions from '../hooks/useStyleOptions'; import useStyleSet from '../hooks/useStyleSet'; +const SUGGESTED_ACTION_STACKED_CSS = css({ + display: 'flex', + flexDirection: 'column' +}); + function suggestedActionText({ displayText, title, type, value }) { if (type === 'messageBack') { return title || displayText; @@ -35,37 +41,56 @@ const connectSuggestedActions = (...selectors) => const SuggestedActions = ({ className, suggestedActions = [] }) => { const [{ suggestedActions: suggestedActionsStyleSet }] = useStyleSet(); - const [{ suggestedActionsStyleSet: suggestedActionsStyleSetForReactFilm }] = useStyleOptions(); + const [{ suggestedActionLayout, suggestedActionsStyleSet: suggestedActionsStyleSetForReactFilm }] = useStyleOptions(); const suggestedActionsContentText = useLocalize('SuggestedActionsContent'); const suggestedActionsEmptyText = useLocalize('SuggestedActionsEmpty'); const suggestedActionsContainerText = useLocalize('SuggestedActionsContainer') + (suggestedActions.length ? suggestedActionsContentText : suggestedActionsEmptyText); + if (!suggestedActions.length) { + return false; + } + + const children = suggestedActions.map(({ displayText, image, text, title, type, value }, index) => ( + + )); + + if (suggestedActionLayout === 'stacked') { + return ( +
+ +
+ {children} +
+
+ ); + } + return (
- {!!suggestedActions.length && ( - - {suggestedActions.map(({ displayText, image, text, title, type, value }, index) => ( - - ))} - - )} + + {children} +
); }; diff --git a/packages/component/src/Styles/StyleSet/SuggestedAction.js b/packages/component/src/Styles/StyleSet/SuggestedAction.js index 6dc4706381..ad75589c4b 100644 --- a/packages/component/src/Styles/StyleSet/SuggestedAction.js +++ b/packages/component/src/Styles/StyleSet/SuggestedAction.js @@ -21,10 +21,10 @@ export default function createSuggestedActionStyle({ subtle }) { return { - paddingBottom: paddingRegular, + paddingBottom: paddingRegular / 2, paddingLeft: paddingRegular / 2, paddingRight: paddingRegular / 2, - paddingTop: paddingRegular, + paddingTop: paddingRegular / 2, '& > button': { alignItems: 'center', @@ -32,6 +32,7 @@ export default function createSuggestedActionStyle({ fontFamily: primaryFont, fontSize: 'inherit', height: suggestedActionHeight, + justifyContent: 'center', paddingLeft: paddingWide, paddingRight: paddingWide, @@ -54,6 +55,11 @@ export default function createSuggestedActionStyle({ '& > img': { height: suggestedActionImageHeight, paddingRight: paddingRegular + }, + + '& > nobr': { + overflow: 'hidden', + textOverflow: 'ellipsis' } } }; diff --git a/packages/component/src/Styles/StyleSet/SuggestedActions.js b/packages/component/src/Styles/StyleSet/SuggestedActions.js index bb5ad7eef1..31e7e93fd4 100644 --- a/packages/component/src/Styles/StyleSet/SuggestedActions.js +++ b/packages/component/src/Styles/StyleSet/SuggestedActions.js @@ -1,5 +1,17 @@ /* eslint no-empty-pattern: "off" */ -export default function createSuggestedActionsStyle({}) { - return {}; +export default function createSuggestedActionsStyle({ paddingRegular, suggestedActionLayout }) { + if (suggestedActionLayout === 'stacked') { + return { + paddingBottom: paddingRegular / 2, + paddingLeft: paddingRegular / 2, + paddingRight: paddingRegular / 2, + paddingTop: paddingRegular / 2 + }; + } + + return { + paddingBottom: paddingRegular / 2, + paddingTop: paddingRegular / 2 + }; } diff --git a/packages/component/src/Styles/defaultStyleOptions.js b/packages/component/src/Styles/defaultStyleOptions.js index 7cda667d48..1816a911d0 100644 --- a/packages/component/src/Styles/defaultStyleOptions.js +++ b/packages/component/src/Styles/defaultStyleOptions.js @@ -98,11 +98,9 @@ const DEFAULT_OPTIONS = { suggestedActionBackground: 'White', suggestedActionBorder: undefined, // split into 3, null suggestedActionBorderColor: undefined, // defaults to accent + suggestedActionBorderRadius: 0, suggestedActionBorderStyle: 'solid', suggestedActionBorderWidth: 2, - suggestedActionBorderRadius: 0, - suggestedActionImageHeight: 20, - suggestedActionTextColor: null, suggestedActionDisabledBackground: undefined, // defaults to suggestedActionBackground suggestedActionDisabledBorder: null, suggestedActionDisabledBorderColor: '#E6E6E6', @@ -110,6 +108,9 @@ const DEFAULT_OPTIONS = { suggestedActionDisabledBorderWidth: 2, suggestedActionDisabledTextColor: undefined, // defaults to subtle suggestedActionHeight: 40, + suggestedActionImageHeight: 20, + suggestedActionLayout: 'carousel', // either "carousel" or "stacked" + suggestedActionTextColor: null, // Timestamp timestampColor: undefined, // defaults to subtle From ba56e7e18b97291b63561e1b15484254a2128f24 Mon Sep 17 00:00:00 2001 From: Ping Yip Date: Thu, 14 Nov 2019 02:11:16 -0800 Subject: [PATCH 2/3] Update CHANGELOG.cm --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0910d70b5e..f7bcf2b25c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,6 +49,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - PR [#2551](https://github.com/microsoft/BotFramework-WebChat/pull/2551): `useLastTypingAt`, `useSendTypingIndicator`, `useTypingIndicator` - PR [#2552](https://github.com/microsoft/BotFramework-WebChat/pull/2552): `useFocusSendBox`, `useScrollToEnd`, `useSendBoxValue`, `useSubmitSendBox`, `useTextBoxSubmit`, `useTextBoxValue` - Fixes [#2597](https://github.com/microsoft/BotFramework-WebChat/issues/2597). Modify `watch` script to `start` and add `tableflip` script for throwing `node_modules`, by [@corinagum](https://github.com/corinagum) in PR [#2598](https://github.com/microsoft/BotFramework-WebChat/pull/2598) +- Added `suggestedActionLayout` to `defaultStyleOptions`, by [@spyip](https://github.com/spyip), in PR [#2596](https://github.com/microsoft/BotFramework-WebChat/pull/2596) ### Fixed From 183b0ffbab1c87aaa6eda4f73958d9d2a206a0e8 Mon Sep 17 00:00:00 2001 From: Ping Yip Date: Thu, 21 Nov 2019 23:18:04 -0800 Subject: [PATCH 3/3] Fix eslint --- packages/component/src/SendBox/SuggestedActions.js | 6 +----- packages/component/src/Styles/StyleSet/SuggestedActions.js | 1 + 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/component/src/SendBox/SuggestedActions.js b/packages/component/src/SendBox/SuggestedActions.js index f9bc0b0482..3138fcc5b2 100644 --- a/packages/component/src/SendBox/SuggestedActions.js +++ b/packages/component/src/SendBox/SuggestedActions.js @@ -67,11 +67,7 @@ const SuggestedActions = ({ className, suggestedActions = [] }) => { if (suggestedActionLayout === 'stacked') { return ( -
+
{children} diff --git a/packages/component/src/Styles/StyleSet/SuggestedActions.js b/packages/component/src/Styles/StyleSet/SuggestedActions.js index 31e7e93fd4..c963bbf33b 100644 --- a/packages/component/src/Styles/StyleSet/SuggestedActions.js +++ b/packages/component/src/Styles/StyleSet/SuggestedActions.js @@ -1,4 +1,5 @@ /* eslint no-empty-pattern: "off" */ +/* eslint no-magic-numbers: ["error", { "ignore": [2] }] */ export default function createSuggestedActionsStyle({ paddingRegular, suggestedActionLayout }) { if (suggestedActionLayout === 'stacked') {