Ahmad Kholid 3 years ago
parent
commit
751ef88725

+ 1 - 1
package.json

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

+ 5 - 14
src/background/workflow-engine/blocks-handler/handler-interaction-block.js

@@ -45,18 +45,7 @@ async function interactionHandler(block, { refData }) {
       frameId: this.activeTab.frameId || 0,
     });
 
-    if (objectHasKey(block.data, 'dataColumn')) {
-      const dontSaveData =
-        (block.name === 'forms' && !block.data.getValue) ||
-        !block.data.saveData;
-
-      if (dontSaveData) {
-        return {
-          data,
-          nextBlockId,
-        };
-      }
-
+    if (block.data.saveData || block.data.getValue) {
       const currentColumnType =
         this.columns[block.data.dataColumn]?.type || 'any';
       const insertDataToColumn = (value) => {
@@ -82,6 +71,10 @@ async function interactionHandler(block, { refData }) {
       }
     }
 
+    if (block.data.assignVariable) {
+      this.referenceData.variables[block.data.variableName] = data;
+    }
+
     if (block.name === 'javascript-code') {
       if (data?.variables) {
         Object.keys(data.variables).forEach((varName) => {
@@ -95,8 +88,6 @@ async function interactionHandler(block, { refData }) {
           : [data.columns.data];
         this.addDataToColumn(arrData);
       }
-    } else if (block.data.assignVariable) {
-      this.referenceData.variables[block.data.variableName] = data;
     }
 
     return {

+ 2 - 2
src/background/workflow-engine/engine.js

@@ -42,10 +42,10 @@ class WorkflowEngine {
     this.columns = { column: { index: 0, type: 'any' } };
 
     let variables = {};
-    let globalData = {};
+    let { globalData } = workflow;
 
     if (options && options?.data) {
-      globalData = options.data.globalData || workflow.globalData;
+      globalData = options.data.globalData;
       variables = isObject(options.data.variables)
         ? options?.data.variables
         : {};

+ 1 - 0
src/content/blocks-handler/handler-javascript-code.js

@@ -21,6 +21,7 @@ function findData(obj, path) {
   const isWhitespace = paths.length === 1 && !/\\S/.test(paths[0]);
 
   if (paths.length === 0 || isWhitespace) return obj;
+  else if (paths.length === 1) return obj[paths[0]];
 
   let result = obj;