瀏覽代碼

feat: add reload block

Ahmad Kholid 3 年之前
父節點
當前提交
5f702cf1a0

+ 23 - 0
src/background/workflow-engine/blocks-handler/handler-reload-tab.js

@@ -0,0 +1,23 @@
+import browser from 'webextension-polyfill';
+import { getBlockConnection } from '../helper';
+
+export async function reloadTab({ outputs }) {
+  const nextBlockId = getBlockConnection({ outputs });
+
+  try {
+    if (!this.activeTab.id) throw new Error('no-tab');
+
+    await browser.tabs.reload(this.activeTab.id);
+
+    return {
+      data: '',
+      nextBlockId,
+    };
+  } catch (error) {
+    error.nextBlockId = nextBlockId;
+
+    throw error;
+  }
+}
+
+export default reloadTab;

+ 2 - 2
src/components/newtab/workflow/WorkflowBuilder.vue

@@ -1,7 +1,7 @@
 <template>
   <div
+    v-bind="{ arrow: $store.state.settings.editor.arrow }"
     id="drawflow"
-    :class="{ 'with-arrow': $store.state.settings.editor.arrow }"
     class="parent-drawflow relative"
     @drop="dropHandler"
     @dragover.prevent="handleDragOver"
@@ -785,7 +785,7 @@ export default {
 .drawflow .drawflow-node {
   @apply dark:bg-gray-800;
 }
-#drawflow.with-arrow .drawflow-node .input {
+#drawflow[arrow='true'] .drawflow-node .input {
   background-color: transparent !important;
   border-top: 10px solid transparent;
   border-radius: 0;

+ 4 - 0
src/locales/en/blocks.json

@@ -70,6 +70,10 @@
           }
         }
       },
+      "reload-tab": {
+        "name": "Reload tab",
+        "description": "Reload the active tab"
+      },
       "save-assets": {
         "name": "Save assets",
         "description": "Save assets (image, video, audio, or file) from an element or URL",

+ 13 - 12
src/utils/shared.js

@@ -455,18 +455,6 @@ export const tasks = {
       repeatFor: 1,
     },
   },
-  // 'reload-page': {
-  //   name: 'Reload page',
-  //   icon: 'riRestartLine',
-  //   component: 'BlockBasic',
-  //   category: 'interaction',
-  //   inputs: 1,
-  //   outputs: 1,
-  //   allowedInputs: true,
-  //   maxConnection: 1,
-  //   disableEdit: true,
-  //   data: {},
-  // },
   'javascript-code': {
     name: 'JavaScript code',
     description: 'Execute your custom javascript code in a webpage',
@@ -848,6 +836,19 @@ export const tasks = {
       variableName: '',
     },
   },
+  'reload-tab': {
+    name: 'Reload tab',
+    description: 'Reload the active tab',
+    icon: 'riRestartLine',
+    component: 'BlockBasic',
+    category: 'browser',
+    inputs: 1,
+    outputs: 1,
+    allowedInputs: true,
+    maxConnection: 1,
+    disableEdit: true,
+    data: {},
+  },
 };
 
 export const categories = {