Skip to content

Commit

Permalink
fix(blocks): Do not copy snippet when preview text is selected
Browse files Browse the repository at this point in the history
#18611

This patch introduces skip conditional for the "copy code snippet
by shortcut key" feature.

this condition would not work when the preview is iframe (user sets
`docs: { inlineStories: false }`), but that does not matter as the
event handler won't run in the first place.
  • Loading branch information
pocka committed Nov 9, 2022
1 parent 6e927f3 commit d558261
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions code/ui/blocks/src/components/Preview.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,14 @@ export const Preview: FC<PreviewProps> = ({
}, []);

const onCopyCapture = (e: ClipboardEvent<HTMLInputElement>) => {
// When the selection range is neither empty nor collapsed, we can assume
// user's intention is to copy the selected text, instead of the story's
// code snippet.
const selection: Selection | null = globalWindow.getSelection();
if (selection && selection.type === 'Range') {
return;
}

e.preventDefault();
if (additionalActionItems.filter((item) => item.title === 'Copied').length === 0) {
copyToClipboard(source.props.code).then(() => {
Expand Down

0 comments on commit d558261

Please sign in to comment.