Browse Source

fix: can't paste blocks on firefox

Ahmad Kholid 3 years ago
parent
commit
9a7a637267

+ 5 - 7
src/background/workflowEngine/blocksHandler/handlerClipboard.js

@@ -7,19 +7,17 @@ function doCommand(command, value) {
   if (command === 'paste') {
     textarea.focus();
     document.execCommand('paste');
-    textarea.remove();
-
-    return textarea.value;
-  }
-  if (command === 'copy') {
+    value = textarea.value;
+  } else if (command === 'copy') {
     textarea.value = value;
     textarea.select();
     document.execCommand('copy');
     textarea.blur();
-    textarea.remove();
   }
 
-  return '';
+  textarea.remove();
+
+  return value;
 }
 
 export default async function ({ data, id, label }) {

+ 3 - 3
src/newtab/pages/workflows/[id].vue

@@ -988,10 +988,10 @@ async function pasteCopiedElements(position) {
   editor.value.removeSelectedNodes(editor.value.getSelectedNodes.value);
   editor.value.removeSelectedEdges(editor.value.getSelectedEdges.value);
 
-  const permission = await navigator.permissions.query({
-    name: 'clipboard-read',
+  const permission = await browser.permissions.request({
+    permissions: ['clipboardRead'],
   });
-  if (permission.state === 'denied') {
+  if (!permission) {
     toast.error('Automa require clipboard permission to paste blocks');
     return;
   }