Ahmad Kholid преди 1 година
родител
ревизия
f934f3225e

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "automa",
-  "version": "1.28.18",
+  "version": "1.28.19",
   "description": "An extension for automating your browser by connecting blocks",
   "repository": {
     "type": "git",

+ 1 - 1
src/components/newtab/workflow/edit/EditJavascriptCode.vue

@@ -61,7 +61,7 @@
         Run before page loaded
       </ui-checkbox>
     </template>
-    <ui-modal v-model="state.showCodeModal" content-class="w-11\/12">
+    <ui-modal v-model="state.showCodeModal" content-class="max-w-4xl">
       <template #header>
         <ui-tabs v-model="state.activeTab" class="border-none">
           <ui-tab value="code">

+ 9 - 0
src/components/newtab/workflow/edit/EditWorkflowParameters.vue

@@ -145,6 +145,7 @@ import Draggable from 'vuedraggable';
 import ParameterInputValue from './Parameter/ParameterInputValue.vue';
 import ParameterJsonValue from './Parameter/ParameterJsonValue.vue';
 import ParameterInputOptions from './Parameter/ParameterInputOptions.vue';
+import ParameterCheckboxValue from './Parameter/ParameterCheckboxValue.vue';
 
 const props = defineProps({
   data: {
@@ -186,6 +187,14 @@ const paramTypes = {
       required: false,
     },
   },
+  checkbox: {
+    id: 'checkbox',
+    name: 'Checkbox',
+    valueComp: ParameterCheckboxValue,
+    data: {
+      required: false,
+    },
+  },
   ...customParameters,
 };
 const paramTypesArr = Object.values(paramTypes)

+ 25 - 0
src/components/newtab/workflow/edit/Parameter/ParameterCheckboxValue.vue

@@ -0,0 +1,25 @@
+<template>
+  <ui-checkbox
+    :model-value="Boolean(modelValue)"
+    type="text"
+    class="w-full"
+    :placeholder="paramData.placeholder"
+    @change="$emit('update:modelValue', $event)"
+  >
+    {{ paramData.placeholder || paramData.name }}
+  </ui-checkbox>
+</template>
+<script setup>
+defineProps({
+  modelValue: {
+    type: Boolean,
+    default: false,
+  },
+  paramData: {
+    type: Object,
+    default: () => ({}),
+  },
+  editor: Boolean,
+});
+defineEmits(['update:modelValue']);
+</script>

+ 9 - 0
src/params/App.vue

@@ -127,6 +127,7 @@ import dayjs from '@/lib/dayjs';
 import { parseJSON } from '@/utils/helper';
 import ParameterInputValue from '@/components/newtab/workflow/edit/Parameter/ParameterInputValue.vue';
 import ParameterJsonValue from '@/components/newtab/workflow/edit/Parameter/ParameterJsonValue.vue';
+import ParameterCheckboxValue from '@/components/newtab/workflow/edit/Parameter/ParameterCheckboxValue.vue';
 
 const paramsList = {
   string: {
@@ -139,6 +140,14 @@ const paramsList = {
     name: 'Input (JSON)',
     valueComp: ParameterJsonValue,
   },
+  checkbox: {
+    id: 'checkbox',
+    name: 'Checkbox',
+    valueComp: ParameterCheckboxValue,
+    data: {
+      required: false,
+    },
+  },
 };
 
 const theme = useTheme();

+ 11 - 4
src/workflowEngine/blocksHandler/handlerGoogleDrive.js

@@ -58,13 +58,20 @@ export async function googleDrive({ id, data }, { refData }) {
     );
     const locationUri = sessionResponse.headers.get('location');
 
-    const formData = new FormData();
-
-    formData.append('file', blob);
+    const buffer = await new Promise((resolve) => {
+      const reader = new FileReader();
+      reader.onload = () => {
+        resolve(reader.result);
+      };
+      reader.readAsArrayBuffer(blob);
+    });
 
     const result = await fetchGapi(locationUri, {
       method: 'PUT',
-      body: formData,
+      headers: {
+        'Content-Length': blob.size,
+      },
+      body: buffer,
     });
 
     return result;