Browse Source

fix: javascript code block not working

Ahmad Kholid 3 years ago
parent
commit
8e9efe1f2b

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "automa",
-  "version": "1.7.1",
+  "version": "1.7.2",
   "description": "An extension for automating your browser by connecting blocks",
   "license": "MIT",
   "repository": {

+ 17 - 13
src/background/workflow-engine/blocks-handler/handler-javascript-code.js

@@ -23,20 +23,24 @@ export async function javascriptCode({ outputs, data, ...block }, { refData }) {
 
     const result = await this._sendMessageToTab({ ...block, data, refData });
 
-    if (result?.columns.data.$error) {
-      throw new Error(result?.columns.data.message);
-    }
-    if (result?.variables) {
-      Object.keys(result.variables).forEach((varName) => {
-        this.setVariable(varName, result.variables[varName]);
-      });
-    }
-    if (result?.columns.insert) {
-      const params = Array.isArray(result.columns.data)
-        ? result.columns.data
-        : [result.columns.data];
+    if (result) {
+      if (result.columns.data?.$error) {
+        throw new Error(result.columns.data.message);
+      }
 
-      this.addDataToColumn(params);
+      if (result.variables) {
+        Object.keys(result.variables).forEach((varName) => {
+          this.setVariable(varName, result.variables[varName]);
+        });
+      }
+
+      if (result.columns.insert && result.columns.data) {
+        const params = Array.isArray(result.columns.data)
+          ? result.columns.data
+          : [result.columns.data];
+
+        this.addDataToColumn(params);
+      }
     }
 
     return {

+ 1 - 1
src/components/newtab/workflow/WorkflowEditBlock.vue

@@ -28,7 +28,7 @@
     />
     <on-block-error
       v-if="!excludeOnError.includes(data.id)"
-      :key="data.blockId"
+      :key="data.itemId || data.blockId"
       :data="data"
       class="mt-4"
       @change="$emit('update', { ...blockData, onError: $event })"

+ 1 - 0
src/content/element-selector/App.vue

@@ -199,6 +199,7 @@ const getElementSelector = (element, options = {}) =>
           '[src=*]',
           '[data-*]',
           '[href=*]',
+          '[style=*]',
           '[value=*]',
           '[automa-*]',
         ],

+ 3 - 2
src/newtab/App.vue

@@ -134,6 +134,7 @@ async function fetchUserData() {
       getSharedWorkflows(),
       getUserWorkflows(),
     ]);
+
     localStorage.setItem('username', user.username);
 
     if (sharedWorkflows.status === 'fulfilled') {
@@ -148,10 +149,10 @@ async function fetchUserData() {
 
       store.commit('updateState', {
         key: 'hostWorkflows',
-        value: hosted,
+        value: hosted || {},
       });
 
-      if (backup.length > 0) {
+      if (backup?.length > 0) {
         const { lastBackup } = browser.storage.local.get('lastBackup');
         if (!lastBackup) {
           const backupIds = backup.map(({ id }) => id);

+ 1 - 1
src/utils/shared.js

@@ -907,7 +907,7 @@ export const firstWorkflows = [
     id: nanoid(),
     name: 'Google search',
     createdAt: Date.now(),
-    drawflow: `{"drawflow":{"Home":{"data":{"d634ff22-5dfe-44dc-83d2-842412bd9fbf":{"id":"d634ff22-5dfe-44dc-83d2-842412bd9fbf","name":"trigger","data":{"type":"manual","interval":10},"class":"trigger","html":"BlockBasic","typenode":"vue","inputs":{},"outputs":{"output_1":{"connections":[{"node":"b9e7e0d4-e86a-4635-a352-31c63723fef4","output":"input_1"}]}},"pos_x":50,"pos_y":300},"b9e7e0d4-e86a-4635-a352-31c63723fef4":{"id":"b9e7e0d4-e86a-4635-a352-31c63723fef4","name":"new-tab","data":{"url":"https://google.com","active":true},"class":"new-tab","html":"BlockBasic","typenode":"vue","inputs":{"input_1":{"connections":[{"node":"d634ff22-5dfe-44dc-83d2-842412bd9fbf","input":"output_1"}]}},"outputs":{"output_1":{"connections":[{"node":"09f3a14c-0514-4287-93b0-aa92b0064fba","output":"input_1"}]}},"pos_x":278,"pos_y":268},"09f3a14c-0514-4287-93b0-aa92b0064fba":{"id":"09f3a14c-0514-4287-93b0-aa92b0064fba","name":"forms","data":{"description":"Type query","selector":"[name='q']","markEl":false,"multiple":false,"selected":true,"type":"text-field","value":"Automa Chrome Extension","delay":"120","events":[]},"class":"forms","html":"BlockBasic","typenode":"vue","inputs":{"input_1":{"connections":[{"node":"b9e7e0d4-e86a-4635-a352-31c63723fef4","input":"output_1"}]}},"outputs":{"output_1":{"connections":[{"node":"5f76370d-aa3d-4258-8319-230fcfc49a3a","output":"input_1"}]}},"pos_x":551,"pos_y":290},"5f76370d-aa3d-4258-8319-230fcfc49a3a":{"id":"5f76370d-aa3d-4258-8319-230fcfc49a3a","name":"event-click","data":{"description":"Click search","selector":"center:nth-child(1) > .gNO89b","markEl":false,"multiple":false},"class":"event-click","html":"BlockBasic","typenode":"vue","inputs":{"input_1":{"connections":[{"node":"09f3a14c-0514-4287-93b0-aa92b0064fba","input":"output_1"}]}},"outputs":{"output_1":{"connections":[]}},"pos_x":794,"pos_y":308}}}}}`,
+    drawflow: `{"drawflow":{"Home":{"data":{"d634ff22-5dfe-44dc-83d2-842412bd9fbf":{"id":"d634ff22-5dfe-44dc-83d2-842412bd9fbf","name":"trigger","data":{"type":"manual","interval":10},"class":"trigger","html":"BlockBasic","typenode":"vue","inputs":{},"outputs":{"output_1":{"connections":[{"node":"b9e7e0d4-e86a-4635-a352-31c63723fef4","output":"input_1"}]}},"pos_x":50,"pos_y":300},"b9e7e0d4-e86a-4635-a352-31c63723fef4":{"id":"b9e7e0d4-e86a-4635-a352-31c63723fef4","name":"new-tab","data":{"url":"https://google.com","active":true},"class":"new-tab","html":"BlockBasic","typenode":"vue","inputs":{"input_1":{"connections":[{"node":"d634ff22-5dfe-44dc-83d2-842412bd9fbf","input":"output_1"}]}},"outputs":{"output_1":{"connections":[{"node":"09f3a14c-0514-4287-93b0-aa92b0064fba","output":"input_1"}]}},"pos_x":278,"pos_y":268},"09f3a14c-0514-4287-93b0-aa92b0064fba":{"id":"09f3a14c-0514-4287-93b0-aa92b0064fba","name":"forms","data":{"description":"Type query","selector":"[name='q']","markEl":false,"multiple":false,"selected":true,"type":"text-field","value":"Automa Extension","delay":"120","events":[]},"class":"forms","html":"BlockBasic","typenode":"vue","inputs":{"input_1":{"connections":[{"node":"b9e7e0d4-e86a-4635-a352-31c63723fef4","input":"output_1"}]}},"outputs":{"output_1":{"connections":[{"node":"5f76370d-aa3d-4258-8319-230fcfc49a3a","output":"input_1"}]}},"pos_x":551,"pos_y":290},"5f76370d-aa3d-4258-8319-230fcfc49a3a":{"id":"5f76370d-aa3d-4258-8319-230fcfc49a3a","name":"event-click","data":{"description":"Click search","selector":"center:nth-child(1) > .gNO89b","markEl":false,"multiple":false},"class":"event-click","html":"BlockBasic","typenode":"vue","inputs":{"input_1":{"connections":[{"node":"09f3a14c-0514-4287-93b0-aa92b0064fba","input":"output_1"}]}},"outputs":{"output_1":{"connections":[]}},"pos_x":794,"pos_y":308}}}}}`,
   },
   {
     id: nanoid(),