Browse Source

feat: add `Assign columns` option in http request block

Ahmad Kholid 3 years ago
parent
commit
4b3b38f746

+ 5 - 1
src/background/workflowEngine/blocksHandler/handlerWebhook.js

@@ -45,7 +45,11 @@ export async function webhook({ data, outputs }) {
       this.setVariable(data.variableName, returnData);
     }
     if (data.saveData) {
-      this.addDataToColumn(data.dataColumn, returnData);
+      if (data.dataColumn === '$assignColumns' && Array.isArray(returnData)) {
+        this.addDataToColumn(returnData);
+      } else {
+        this.addDataToColumn(data.dataColumn, returnData);
+      }
     }
 
     return {

+ 6 - 1
src/components/newtab/workflow/edit/EditWebhook.vue

@@ -119,7 +119,12 @@
           class="w-full mt-2"
           @change="updateData({ dataPath: $event })"
         />
-        <insert-workflow-data :data="data" variables @update="updateData" />
+        <insert-workflow-data
+          :data="data"
+          :columns="[{ name: '[Assign columns]', id: '$assignColumns' }]"
+          variables
+          @update="updateData"
+        />
       </ui-tab-panel>
     </ui-tab-panels>
     <ui-modal

+ 5 - 1
src/components/newtab/workflow/edit/InsertWorkflowData.vue

@@ -33,7 +33,7 @@
     @change="updateData({ dataColumn: $event })"
   >
     <option
-      v-for="column in workflow.data.value.table"
+      v-for="column in [...columns, ...workflow.data.value.table]"
       :key="column.id"
       :value="column.id"
     >
@@ -85,6 +85,10 @@ defineProps({
   },
   extraRow: Boolean,
   variables: Boolean,
+  columns: {
+    type: Array,
+    default: () => [],
+  },
 });
 const emit = defineEmits(['update']);