Browse Source

feat: add insert parameter in automaNextBlock function

Ahmad Kholid 3 years ago
parent
commit
1d4171e303

+ 6 - 4
src/background/workflow-engine/blocks-handler/handler-interaction-block.js

@@ -91,10 +91,12 @@ async function interactionHandler(block, { refData }) {
         this.referenceData.variables[varName] = data.variables[varName];
         this.referenceData.variables[varName] = data.variables[varName];
       });
       });
 
 
-      const arrData = Array.isArray(data.columns)
-        ? data.columns
-        : [data.columns];
-      this.addDataToColumn(arrData);
+      if (data.columns.insert) {
+        const arrData = Array.isArray(data.columns.data)
+          ? data.columns.data
+          : [data.columns.data];
+        this.addDataToColumn(arrData);
+      }
     }
     }
 
 
     return {
     return {

+ 12 - 6
src/components/newtab/workflow/edit/EditJavascriptCode.vue

@@ -47,10 +47,12 @@
             class="overflow-auto"
             class="overflow-auto"
             style="height: 87%"
             style="height: 87%"
           />
           />
-          <p class="mt-1">
+          <p class="mt-1 text-sm">
             {{ t('workflow.blocks.javascript-code.availabeFuncs') }}
             {{ t('workflow.blocks.javascript-code.availabeFuncs') }}
           </p>
           </p>
-          <p class="space-x-1">
+          <p
+            class="space-x-1 whitespace-nowrap overflow-x-auto overflow-y-hidden pb-1 scroll"
+          >
             <a
             <a
               v-for="func in availableFuncs"
               v-for="func in availableFuncs"
               :key="func.id"
               :key="func.id"
@@ -114,9 +116,13 @@ const emit = defineEmits(['update:data']);
 const { t } = useI18n();
 const { t } = useI18n();
 
 
 const availableFuncs = [
 const availableFuncs = [
-  { name: 'automaNextBlock(data)', id: 'automanextblock-data' },
-  { name: 'automaRefData(keyword, path)', id: 'automarefdata-keyword-path' },
-  { name: 'automaResetTimeout', id: 'automaresettimeout' },
+  { name: 'automaNextBlock(data, insert?)', id: 'automanextblock-data' },
+  { name: 'automaRefData(keyword, path?)', id: 'automarefdata-keyword-path' },
+  {
+    name: 'automaSetVariable(name, value)',
+    id: 'automasetvariable-name-value',
+  },
+  { name: 'automaResetTimeout()', id: 'automaresettimeout' },
 ];
 ];
 
 
 const state = reactive({
 const state = reactive({
@@ -162,7 +168,7 @@ function automaFuncsCompletion(context) {
           const container = document.createElement('div');
           const container = document.createElement('div');
 
 
           container.innerHTML = `
           container.innerHTML = `
-            <code>automaNextBlock(<i>data</i>)</code>
+            <code>automaNextBlock(<i>data</i>, <i>insert?</i>)</code>
             <p class="mt-2">
             <p class="mt-2">
               Execute the next block
               Execute the next block
               <a href="https://docs.automa.site/blocks/javascript-code.html#automanextblock-data" target="_blank" class="underline">
               <a href="https://docs.automa.site/blocks/javascript-code.html#automanextblock-data" target="_blank" class="underline">

+ 2 - 2
src/content/blocks-handler/handler-javascript-code.js

@@ -18,8 +18,8 @@ function automaSetVariable(name, value) {
   data.variables[name] = value;
   data.variables[name] = value;
   sessionStorage.setItem('automa--${blockId}', JSON.stringify(data));
   sessionStorage.setItem('automa--${blockId}', JSON.stringify(data));
 }
 }
-function automaNextBlock(data) {
-  window.dispatchEvent(new CustomEvent('__automa-next-block__', { detail: data }));
+function automaNextBlock(data, insert = true) {
+  window.dispatchEvent(new CustomEvent('__automa-next-block__', { detail: { data, insert } }));
 }
 }
 function automaResetTimeout() {
 function automaResetTimeout() {
  window.dispatchEvent(new CustomEvent('__automa-reset-timeout__'));
  window.dispatchEvent(new CustomEvent('__automa-reset-timeout__'));

+ 1 - 0
src/newtab/pages/workflows/Host.vue

@@ -171,6 +171,7 @@ const logs = computed(() =>
         item.workflowId === workflowId &&
         item.workflowId === workflowId &&
         (!item.isInCollection || !item.isChildLog || !item.parentLog)
         (!item.isInCollection || !item.isChildLog || !item.parentLog)
     )
     )
+    .limit(15)
     .orderBy('startedAt', 'desc')
     .orderBy('startedAt', 'desc')
     .get()
     .get()
 );
 );

+ 1 - 0
src/newtab/pages/workflows/[id].vue

@@ -389,6 +389,7 @@ const logs = computed(() =>
         item.workflowId === workflowId &&
         item.workflowId === workflowId &&
         (!item.isInCollection || !item.isChildLog || !item.parentLog)
         (!item.isInCollection || !item.isChildLog || !item.parentLog)
     )
     )
+    .limit(15)
     .orderBy('startedAt', 'desc')
     .orderBy('startedAt', 'desc')
     .get()
     .get()
 );
 );