diff --git a/Composer/packages/client/src/pages/botProject/PublishTargets.tsx b/Composer/packages/client/src/pages/botProject/PublishTargets.tsx index 5407abc160..6695a15edb 100644 --- a/Composer/packages/client/src/pages/botProject/PublishTargets.tsx +++ b/Composer/packages/client/src/pages/botProject/PublishTargets.tsx @@ -10,6 +10,7 @@ import formatMessage from 'format-message'; import { ActionButton } from 'office-ui-fabric-react/lib/Button'; import { FontWeights } from 'office-ui-fabric-react/lib/Styling'; import { SharedColors } from '@uifabric/fluent-theme'; +import { OpenConfirmModal } from '@bfc/ui-shared'; import { dispatcherState, settingsState, publishTypesState } from '../../recoilModel'; import { CollapsableWrapper } from '../../components/CollapsableWrapper'; @@ -83,6 +84,23 @@ export const PublishTargets: React.FC = (props) => { } }, [scrollToSectionId]); + const onDeletePublishTarget = async (publishTarget: PublishTarget) => { + if (publishTargets) { + const targetName = publishTarget.name; + const confirmed = await OpenConfirmModal( + formatMessage('Delete?'), + formatMessage( + 'Are you sure you want to remove {targetName}? This will remove only the profile and will not delete provisioned resources.', + { targetName } + ) + ); + if (confirmed) { + const newPublishTargets = publishTargets.filter((t) => t.name !== targetName); + setPublishTargets(newPublishTargets, projectId); + } + } + }; + return ( @@ -103,6 +121,7 @@ export const PublishTargets: React.FC = (props) => {
{ setCurrent({ item: p, index: index }); @@ -116,6 +135,15 @@ export const PublishTargets: React.FC = (props) => { {formatMessage('Edit')}
+
+ onDeletePublishTarget(p)} + > + {formatMessage('Delete')} + +
); })} diff --git a/Composer/packages/server/src/locales/en-US.json b/Composer/packages/server/src/locales/en-US.json index 6efa3509b1..6bf443ffd3 100644 --- a/Composer/packages/server/src/locales/en-US.json +++ b/Composer/packages/server/src/locales/en-US.json @@ -308,6 +308,9 @@ "are_you_sure_you_want_to_remove_propertyname_8a793e4f": { "message": "Are you sure you want to remove \"{ propertyName }\"?" }, + "are_you_sure_you_want_to_remove_targetname_this_wi_b3ddce54": { + "message": "Are you sure you want to remove { targetName }? This will remove only the profile and will not delete provisioned resources." + }, "are_you_sure_you_want_to_remove_this_property_5bfb9cb5": { "message": "Are you sure you want to remove this property?" }, @@ -977,6 +980,9 @@ "delete_bot_73586104": { "message": "Delete Bot" }, + "delete_fd07d6ad": { + "message": "Delete?" + }, "delete_form_dialog_schema_c8e28229": { "message": "Delete form dialog schema?" },