From cd884bb62837a7fc4a8e9d80a213b8e7c046d0b3 Mon Sep 17 00:00:00 2001 From: Weitian Li Date: Tue, 24 Dec 2019 13:53:15 +0800 Subject: [PATCH 1/6] do not preset name when creating a dialog --- .../CreationFlow/DefineConversation/index.tsx | 18 +++++++++++++++--- .../packages/client/src/CreationFlow/index.js | 1 + .../src/pages/design/new-dialog-modal.tsx | 1 + 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx b/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx index 2ca8ec2d0e..565ee7b335 100644 --- a/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx +++ b/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx @@ -42,6 +42,7 @@ interface DefineConversationProps { focusedStorageFolder?: StorageFolder; currentPath?: string; bots?: Bots[]; + shouldPresetName: boolean; } const initialFormDataError: FormDataError = {}; @@ -55,11 +56,15 @@ export const DefineConversation: React.FC = props => { focusedStorageFolder, currentPath, bots, + shouldPresetName, } = props; const { state } = useContext(StoreContext); const { templateId } = state; const getDefaultName = () => { + if (!shouldPresetName) { + return ''; + } let i = -1; const bot = templateId; let defaultName = ''; @@ -92,7 +97,7 @@ export const DefineConversation: React.FC = props => { const errors: FormDataError = {}; const { name } = data; - if (!name || !nameRegex.test(name)) { + if (name && !nameRegex.test(name)) { errors.name = formatMessage( 'Spaces and special characters are not allowed. Use letters, numbers, -, or _., numbers, -, and _' ); @@ -113,6 +118,13 @@ export const DefineConversation: React.FC = props => { return errors; }; + const isEmptyName = (name: string) => { + if (!name) { + return { name: 'Please input a name' }; + } + return {}; + }; + useEffect(() => { updateForm('location')(null, currentPath); }, [currentPath]); @@ -129,8 +141,8 @@ export const DefineConversation: React.FC = props => { const handleSubmit = e => { e.preventDefault(); - const errors = validateForm(formData); - + let errors = validateForm(formData); + errors = isEmptyName(formData.name); if (Object.keys(errors).length) { setFormDataErrors(errors); return; diff --git a/Composer/packages/client/src/CreationFlow/index.js b/Composer/packages/client/src/CreationFlow/index.js index 48bc2c7eda..756ad0bfb1 100644 --- a/Composer/packages/client/src/CreationFlow/index.js +++ b/Composer/packages/client/src/CreationFlow/index.js @@ -169,6 +169,7 @@ export function CreationFlow(props) { focusedStorageFolder={focusedStorageFolder} currentPath={currentPath} bots={bots} + shouldPresetName={true} /> ), }, diff --git a/Composer/packages/client/src/pages/design/new-dialog-modal.tsx b/Composer/packages/client/src/pages/design/new-dialog-modal.tsx index ab24736c16..d86f062152 100644 --- a/Composer/packages/client/src/pages/design/new-dialog-modal.tsx +++ b/Composer/packages/client/src/pages/design/new-dialog-modal.tsx @@ -24,6 +24,7 @@ const NewDialogModal: React.FC = props => { onDismiss={onDismiss} onGetErrorMessage={onGetErrorMessage} enableLocationBrowse={false} + shouldPresetName={false} /> ); From 95c88d1c4406c1bd647009d7c26f50eef112f842 Mon Sep 17 00:00:00 2001 From: Weitian Li Date: Mon, 30 Dec 2019 15:12:37 +0800 Subject: [PATCH 2/6] do not share define conversation form between creating a bot and creating a dialog --- .../CreationFlow/DefineConversation/index.tsx | 20 +-- .../packages/client/src/CreationFlow/index.js | 2 - .../client/src/pages/design/defineDialog.tsx | 125 ++++++++++++++++++ .../src/pages/design/new-dialog-modal.tsx | 11 +- .../client/src/pages/design/styles.js | 53 ++++++++ 5 files changed, 184 insertions(+), 27 deletions(-) create mode 100644 Composer/packages/client/src/pages/design/defineDialog.tsx diff --git a/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx b/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx index 565ee7b335..5aed182603 100644 --- a/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx +++ b/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx @@ -38,33 +38,19 @@ interface DefineConversationProps { onDismiss: () => void; onCurrentPathUpdate?: (newPath?: string, storageId?: string) => void; onGetErrorMessage?: (text: string) => void; - enableLocationBrowse: boolean; focusedStorageFolder?: StorageFolder; currentPath?: string; bots?: Bots[]; - shouldPresetName: boolean; } const initialFormDataError: FormDataError = {}; export const DefineConversation: React.FC = props => { - const { - onSubmit, - onDismiss, - onCurrentPathUpdate, - enableLocationBrowse, - focusedStorageFolder, - currentPath, - bots, - shouldPresetName, - } = props; + const { onSubmit, onDismiss, onCurrentPathUpdate, focusedStorageFolder, currentPath, bots } = props; const { state } = useContext(StoreContext); const { templateId } = state; const getDefaultName = () => { - if (!shouldPresetName) { - return ''; - } let i = -1; const bot = templateId; let defaultName = ''; @@ -157,7 +143,7 @@ export const DefineConversation: React.FC = props => {
- + = props => { /> - {enableLocationBrowse && focusedStorageFolder && onCurrentPathUpdate && currentPath && ( + {focusedStorageFolder && onCurrentPathUpdate && currentPath && ( ), }, diff --git a/Composer/packages/client/src/pages/design/defineDialog.tsx b/Composer/packages/client/src/pages/design/defineDialog.tsx new file mode 100644 index 0000000000..f9114fa45a --- /dev/null +++ b/Composer/packages/client/src/pages/design/defineDialog.tsx @@ -0,0 +1,125 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. +import React, { useState, useContext, Fragment } from 'react'; +import formatMessage from 'format-message'; +import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; +import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; +import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; +import { TextField } from 'office-ui-fabric-react/lib/TextField'; + +import { StorageFolder } from '../../store/types'; +import { StoreContext } from '../../store'; + +import { name, description, styles as wizardStyles } from './styles'; + +interface FormData { + name: string; + description: string; + location: string; +} + +interface FormDataError { + name?: string; +} + +interface Bots { + name: ''; + path: ''; +} + +interface DefineDialogProps { + onSubmit: (formData: FormData) => void; + onDismiss: () => void; + onCurrentPathUpdate?: (newPath?: string, storageId?: string) => void; + onGetErrorMessage?: (text: string) => void; + focusedStorageFolder?: StorageFolder; + currentPath?: string; + bots?: Bots[]; +} + +const initialFormDataError: FormDataError = {}; + +export const DefineDialog: React.FC = props => { + const { state } = useContext(StoreContext); + const { dialogs } = state; + const { onSubmit, onDismiss } = props; + + const initalFormData: FormData = { name: '', description: '', location: '' }; + const [formData, setFormData] = useState(initalFormData); + const [formDataErrors, setFormDataErrors] = useState(initialFormDataError); + + const updateForm = field => (e, newValue) => { + setFormData({ + ...formData, + [field]: newValue, + }); + }; + + const nameRegex = /^[a-zA-Z0-9-_.]+$/; + const validateForm = (data: FormData) => { + const errors: FormDataError = {}; + const { name } = data; + + if (name) { + if (!nameRegex.test(name)) { + errors.name = formatMessage( + 'Spaces and special characters are not allowed. Use letters, numbers, -, or _., numbers, -, and _' + ); + } + if (dialogs.findIndex(dialog => dialog.id === name) > -1) { + errors.name = formatMessage('Duplicaton of dialog name'); + } + } else { + errors.name = formatMessage('Please input a name'); + } + return errors; + }; + + const handleSubmit = e => { + e.preventDefault(); + const errors = validateForm(formData); + if (Object.keys(errors).length) { + setFormDataErrors(errors); + return; + } + + onSubmit({ + ...formData, + }); + }; + + return ( + + + + + + + + + + + + + + + + + + + ); +}; diff --git a/Composer/packages/client/src/pages/design/new-dialog-modal.tsx b/Composer/packages/client/src/pages/design/new-dialog-modal.tsx index d86f062152..8e9d0673ec 100644 --- a/Composer/packages/client/src/pages/design/new-dialog-modal.tsx +++ b/Composer/packages/client/src/pages/design/new-dialog-modal.tsx @@ -4,9 +4,10 @@ import React from 'react'; import { DialogCreationCopy } from '../../constants'; -import { DefineConversation } from '../../CreationFlow/DefineConversation/index'; import { DialogWrapper } from '../../components/DialogWrapper/index'; +import { DefineDialog } from './defineDialog'; + interface NewDialogModalProps { isOpen: boolean; onDismiss: () => void; @@ -19,13 +20,7 @@ const NewDialogModal: React.FC = props => { return ( - + ); }; diff --git a/Composer/packages/client/src/pages/design/styles.js b/Composer/packages/client/src/pages/design/styles.js index d957313784..6c689cbebb 100644 --- a/Composer/packages/client/src/pages/design/styles.js +++ b/Composer/packages/client/src/pages/design/styles.js @@ -128,3 +128,56 @@ export const triggerButton = css` font-size: 12px; color: #0078d4; `; + +export const styles = { + dialog: { + title: { + fontWeight: FontWeights.bold, + fontSize: FontSizes.size20, + paddingTop: '14px', + paddingBottom: '11px', + }, + subText: { + fontSize: FontSizes.size14, + }, + }, + modal: { + main: { + // maxWidth: '416px !important', + maxWidth: '80% !important', + width: '960px !important', + }, + }, + halfstack: { + root: [ + { + flexBasis: '50%', + }, + ], + }, + stackinput: { + root: [ + { + marginBottom: '1rem', + }, + ], + }, +}; + +export const textFieldlabel = { + label: { + root: [ + { + fontWeight: FontWeights.semibold, + }, + ], + }, +}; + +export const name = { + subComponentStyles: textFieldlabel, +}; + +export const description = { + subComponentStyles: textFieldlabel, +}; From 4d458ed1e40d4d59edacf4467827bbbf545fd2ec Mon Sep 17 00:00:00 2001 From: Weitian Li Date: Mon, 30 Dec 2019 15:15:25 +0800 Subject: [PATCH 3/6] remove comment --- Composer/packages/client/src/pages/design/styles.js | 1 - 1 file changed, 1 deletion(-) diff --git a/Composer/packages/client/src/pages/design/styles.js b/Composer/packages/client/src/pages/design/styles.js index 6c689cbebb..eada79f3ce 100644 --- a/Composer/packages/client/src/pages/design/styles.js +++ b/Composer/packages/client/src/pages/design/styles.js @@ -143,7 +143,6 @@ export const styles = { }, modal: { main: { - // maxWidth: '416px !important', maxWidth: '80% !important', width: '960px !important', }, From 76738b380d41231c4c2b1ec372888f31e829f27f Mon Sep 17 00:00:00 2001 From: Weitian Li Date: Fri, 3 Jan 2020 16:03:30 +0800 Subject: [PATCH 4/6] handle comments --- .../CreationFlow/DefineConversation/index.tsx | 12 +----- .../{defineDialog.tsx => createDialog.tsx} | 42 +++++++------------ .../client/src/pages/design/index.tsx | 27 ++++-------- .../src/pages/design/new-dialog-modal.tsx | 28 ------------- 4 files changed, 26 insertions(+), 83 deletions(-) rename Composer/packages/client/src/pages/design/{defineDialog.tsx => createDialog.tsx} (77%) delete mode 100644 Composer/packages/client/src/pages/design/new-dialog-modal.tsx diff --git a/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx b/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx index 5aed182603..4f2dba132e 100644 --- a/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx +++ b/Composer/packages/client/src/CreationFlow/DefineConversation/index.tsx @@ -83,7 +83,7 @@ export const DefineConversation: React.FC = props => { const errors: FormDataError = {}; const { name } = data; - if (name && !nameRegex.test(name)) { + if (!name || !nameRegex.test(name)) { errors.name = formatMessage( 'Spaces and special characters are not allowed. Use letters, numbers, -, or _., numbers, -, and _' ); @@ -104,13 +104,6 @@ export const DefineConversation: React.FC = props => { return errors; }; - const isEmptyName = (name: string) => { - if (!name) { - return { name: 'Please input a name' }; - } - return {}; - }; - useEffect(() => { updateForm('location')(null, currentPath); }, [currentPath]); @@ -127,8 +120,7 @@ export const DefineConversation: React.FC = props => { const handleSubmit = e => { e.preventDefault(); - let errors = validateForm(formData); - errors = isEmptyName(formData.name); + const errors = validateForm(formData); if (Object.keys(errors).length) { setFormDataErrors(errors); return; diff --git a/Composer/packages/client/src/pages/design/defineDialog.tsx b/Composer/packages/client/src/pages/design/createDialog.tsx similarity index 77% rename from Composer/packages/client/src/pages/design/defineDialog.tsx rename to Composer/packages/client/src/pages/design/createDialog.tsx index f9114fa45a..4016510c02 100644 --- a/Composer/packages/client/src/pages/design/defineDialog.tsx +++ b/Composer/packages/client/src/pages/design/createDialog.tsx @@ -1,52 +1,42 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -import React, { useState, useContext, Fragment } from 'react'; +import React, { useState, useContext } from 'react'; import formatMessage from 'format-message'; import { PrimaryButton, DefaultButton } from 'office-ui-fabric-react/lib/Button'; import { DialogFooter } from 'office-ui-fabric-react/lib/Dialog'; import { Stack, StackItem } from 'office-ui-fabric-react/lib/Stack'; import { TextField } from 'office-ui-fabric-react/lib/TextField'; +import { DialogCreationCopy } from '../../constants'; +import { DialogWrapper } from '../../components/DialogWrapper/index'; import { StorageFolder } from '../../store/types'; import { StoreContext } from '../../store'; import { name, description, styles as wizardStyles } from './styles'; -interface FormData { +interface CreateDialogParams { name: string; description: string; - location: string; } -interface FormDataError { - name?: string; -} - -interface Bots { - name: ''; - path: ''; -} - -interface DefineDialogProps { - onSubmit: (formData: FormData) => void; +interface CreateDialogProps { + onSubmit: (createDialogParams: CreateDialogParams) => void; onDismiss: () => void; onCurrentPathUpdate?: (newPath?: string, storageId?: string) => void; - onGetErrorMessage?: (text: string) => void; focusedStorageFolder?: StorageFolder; currentPath?: string; - bots?: Bots[]; + isOpen: boolean; } -const initialFormDataError: FormDataError = {}; +const initialFormDataError = {}; -export const DefineDialog: React.FC = props => { +export const CreateDialog: React.FC = props => { const { state } = useContext(StoreContext); const { dialogs } = state; - const { onSubmit, onDismiss } = props; - - const initalFormData: FormData = { name: '', description: '', location: '' }; + const { onSubmit, onDismiss, isOpen } = props; + const initalFormData: CreateDialogParams = { name: '', description: '' }; const [formData, setFormData] = useState(initalFormData); - const [formDataErrors, setFormDataErrors] = useState(initialFormDataError); + const [formDataErrors, setFormDataErrors] = useState<{ name?: string }>(initialFormDataError); const updateForm = field => (e, newValue) => { setFormData({ @@ -56,8 +46,8 @@ export const DefineDialog: React.FC = props => { }; const nameRegex = /^[a-zA-Z0-9-_.]+$/; - const validateForm = (data: FormData) => { - const errors: FormDataError = {}; + const validateForm = (data: CreateDialogParams) => { + const errors: { name?: string } = {}; const { name } = data; if (name) { @@ -89,7 +79,7 @@ export const DefineDialog: React.FC = props => { }; return ( - +
@@ -120,6 +110,6 @@ export const DefineDialog: React.FC = props => { -
+ ); }; diff --git a/Composer/packages/client/src/pages/design/index.tsx b/Composer/packages/client/src/pages/design/index.tsx index 21be3dc835..ff7fcbbc94 100644 --- a/Composer/packages/client/src/pages/design/index.tsx +++ b/Composer/packages/client/src/pages/design/index.tsx @@ -9,7 +9,6 @@ import { Breadcrumb, IBreadcrumbItem } from 'office-ui-fabric-react/lib/Breadcru import { Icon } from 'office-ui-fabric-react/lib/Icon'; import formatMessage from 'format-message'; import { globalHistory } from '@reach/router'; -import toLower from 'lodash/toLower'; import get from 'lodash/get'; import { PromptTab } from '@bfc/shared'; import { getNewDesigner, seedNewDialog } from '@bfc/shared'; @@ -29,7 +28,7 @@ import { clearBreadcrumb } from '../../utils/navigation'; import undoHistory from '../../store/middlewares/undo/history'; import grayComposerIcon from '../../images/grayComposerIcon.svg'; -import NewDialogModal from './new-dialog-modal'; +import { CreateDialog } from './createDialog'; import { breadcrumbClass, contentWrapper, @@ -190,17 +189,6 @@ function DesignPage(props) { } } - const getErrorMessage = text => { - if ( - dialogs.findIndex(dialog => { - return toLower(dialog.id) === toLower(text); - }) >= 0 - ) { - return `${text} has been used, please choose another name`; - } - return ''; - }; - const onCreateDialogComplete = newDialog => { if (newDialog) { navTo(newDialog); @@ -410,12 +398,13 @@ function DesignPage(props) { - actions.createDialogCancel()} - onSubmit={onSubmit} - onGetErrorMessage={getErrorMessage} - /> + {state.showCreateDialogModal && ( + actions.createDialogCancel()} + onSubmit={onSubmit} + /> + )} {triggerModalVisible && ( void; - onSubmit: (data: { name: string; description: string }) => void; - onGetErrorMessage: (text: string) => string; -} - -const NewDialogModal: React.FC = props => { - const { isOpen, onDismiss, onSubmit, onGetErrorMessage } = props; - - return ( - - - - ); -}; - -export default NewDialogModal; From 1e9d0dbb55c2aa17a9f506598a3b3c548d7ba875 Mon Sep 17 00:00:00 2001 From: Weitian Li Date: Mon, 6 Jan 2020 15:04:28 +0800 Subject: [PATCH 5/6] fix unit test --- .../packages/client/__tests__/components/design.test.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Composer/packages/client/__tests__/components/design.test.js b/Composer/packages/client/__tests__/components/design.test.js index e54ee79d87..b7336db9a1 100644 --- a/Composer/packages/client/__tests__/components/design.test.js +++ b/Composer/packages/client/__tests__/components/design.test.js @@ -9,7 +9,7 @@ import { dialogs } from '../constants.json'; import { TriggerCreationModal } from './../../src/components/ProjectTree/TriggerCreationModal'; import { ProjectTree } from './../../src/components/ProjectTree'; -import NewDialogModal from './../../src/pages/design/new-dialog-modal'; +import { CreateDialog } from './../../src/pages/design/createDialog'; describe('', () => { it('should render the ProjectTree', async () => { const dialogId = 'Main'; @@ -36,15 +36,13 @@ describe('', () => { expect(handleSelect).toHaveBeenCalledTimes(1); }); - it('should open NewDialogModal, close after clicking cancel', async () => { + it('should open CreateDialog Modal, close after clicking cancel', async () => { let isOpen = true; const handleDismiss = jest.fn(() => { isOpen = false; }); const handleSubmit = jest.fn(() => {}); - const { getByText } = render( - {}} /> - ); + const { getByText } = render(); const cancelButton = getByText('Cancel'); fireEvent.click(cancelButton); expect(isOpen).toBe(false); From 1e292add26d2f50e58177809c81a977c281f5048 Mon Sep 17 00:00:00 2001 From: liweitian Date: Tue, 7 Jan 2020 16:00:47 +0800 Subject: [PATCH 6/6] handle comments --- .../__tests__/components/design.test.js | 6 ++++-- ...createDialog.tsx => createDialogModal.tsx} | 20 +++++++++---------- .../client/src/pages/design/index.tsx | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) rename Composer/packages/client/src/pages/design/{createDialog.tsx => createDialogModal.tsx} (86%) diff --git a/Composer/packages/client/__tests__/components/design.test.js b/Composer/packages/client/__tests__/components/design.test.js index b7336db9a1..ead441d63f 100644 --- a/Composer/packages/client/__tests__/components/design.test.js +++ b/Composer/packages/client/__tests__/components/design.test.js @@ -9,7 +9,7 @@ import { dialogs } from '../constants.json'; import { TriggerCreationModal } from './../../src/components/ProjectTree/TriggerCreationModal'; import { ProjectTree } from './../../src/components/ProjectTree'; -import { CreateDialog } from './../../src/pages/design/createDialog'; +import { CreateDialogModal } from './../../src/pages/design/createDialogModal'; describe('', () => { it('should render the ProjectTree', async () => { const dialogId = 'Main'; @@ -42,7 +42,9 @@ describe('', () => { isOpen = false; }); const handleSubmit = jest.fn(() => {}); - const { getByText } = render(); + const { getByText } = render( + + ); const cancelButton = getByText('Cancel'); fireEvent.click(cancelButton); expect(isOpen).toBe(false); diff --git a/Composer/packages/client/src/pages/design/createDialog.tsx b/Composer/packages/client/src/pages/design/createDialogModal.tsx similarity index 86% rename from Composer/packages/client/src/pages/design/createDialog.tsx rename to Composer/packages/client/src/pages/design/createDialogModal.tsx index 4016510c02..65a15f6173 100644 --- a/Composer/packages/client/src/pages/design/createDialog.tsx +++ b/Composer/packages/client/src/pages/design/createDialogModal.tsx @@ -14,13 +14,13 @@ import { StoreContext } from '../../store'; import { name, description, styles as wizardStyles } from './styles'; -interface CreateDialogParams { +interface DialogFormData { name: string; description: string; } -interface CreateDialogProps { - onSubmit: (createDialogParams: CreateDialogParams) => void; +interface CreateDialogModalProps { + onSubmit: (dialogFormData: DialogFormData) => void; onDismiss: () => void; onCurrentPathUpdate?: (newPath?: string, storageId?: string) => void; focusedStorageFolder?: StorageFolder; @@ -28,15 +28,13 @@ interface CreateDialogProps { isOpen: boolean; } -const initialFormDataError = {}; - -export const CreateDialog: React.FC = props => { +export const CreateDialogModal: React.FC = props => { const { state } = useContext(StoreContext); const { dialogs } = state; const { onSubmit, onDismiss, isOpen } = props; - const initalFormData: CreateDialogParams = { name: '', description: '' }; - const [formData, setFormData] = useState(initalFormData); - const [formDataErrors, setFormDataErrors] = useState<{ name?: string }>(initialFormDataError); + const initialFormData: DialogFormData = { name: '', description: '' }; + const [formData, setFormData] = useState(initialFormData); + const [formDataErrors, setFormDataErrors] = useState<{ name?: string }>({}); const updateForm = field => (e, newValue) => { setFormData({ @@ -46,7 +44,7 @@ export const CreateDialog: React.FC = props => { }; const nameRegex = /^[a-zA-Z0-9-_.]+$/; - const validateForm = (data: CreateDialogParams) => { + const validateForm = (data: DialogFormData) => { const errors: { name?: string } = {}; const { name } = data; @@ -56,7 +54,7 @@ export const CreateDialog: React.FC = props => { 'Spaces and special characters are not allowed. Use letters, numbers, -, or _., numbers, -, and _' ); } - if (dialogs.findIndex(dialog => dialog.id === name) > -1) { + if (dialogs.some(dialog => dialog.id === name)) { errors.name = formatMessage('Duplicaton of dialog name'); } } else { diff --git a/Composer/packages/client/src/pages/design/index.tsx b/Composer/packages/client/src/pages/design/index.tsx index ff7fcbbc94..1d38faceb3 100644 --- a/Composer/packages/client/src/pages/design/index.tsx +++ b/Composer/packages/client/src/pages/design/index.tsx @@ -28,7 +28,7 @@ import { clearBreadcrumb } from '../../utils/navigation'; import undoHistory from '../../store/middlewares/undo/history'; import grayComposerIcon from '../../images/grayComposerIcon.svg'; -import { CreateDialog } from './createDialog'; +import { CreateDialogModal } from './createDialogModal'; import { breadcrumbClass, contentWrapper, @@ -399,7 +399,7 @@ function DesignPage(props) { {state.showCreateDialogModal && ( - actions.createDialogCancel()} onSubmit={onSubmit}