浏览代码

feat: reverse loop order in loop data block

Ahmad Kholid 2 年之前
父节点
当前提交
cb86b4db28

+ 4 - 0
src/background/workflowEngine/blocksHandler/handlerLoopData.js

@@ -80,6 +80,10 @@ async function loopData({ data, id }, { refData }) {
         } else if (data.startIndex > 0) {
           index = data.startIndex;
         }
+
+        if (data.reverseLoop) {
+          currLoopData.reverse();
+        }
       }
 
       const maxToLoop =

+ 7 - 0
src/components/newtab/workflow/edit/EditLoopData.vue

@@ -125,6 +125,13 @@
       >
         {{ t('workflow.blocks.loop-data.resumeLastWorkflow') }}
       </ui-checkbox>
+      <ui-checkbox
+        :model-value="data.reverseLoop"
+        class="mt-1"
+        @change="updateData({ reverseLoop: $event })"
+      >
+        {{ t('workflow.blocks.loop-data.reverse') }}
+      </ui-checkbox>
     </template>
     <ui-modal
       v-model="state.showDataModal"

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

@@ -658,6 +658,7 @@
         "refKey": "Reference key",
         "startIndex": "Start from index",
         "resumeLastWorkflow": "Resume last workflow",
+        "reverse": "Reverse loop order",
         "modal": {
           "fileTooLarge": "File too large to edit",
           "maxFile": "Max file size is 1MB",

+ 1 - 0
src/utils/shared.js

@@ -715,6 +715,7 @@ export const tasks = {
       description: '',
       variableName: '',
       referenceKey: '',
+      reverseLoop: false,
       elementSelector: '',
       waitForSelector: false,
       waitSelectorTimeout: 5000,