1
0
Эх сурвалжийг харах

feat: add checkbox in trigger parameters (#1493)

Ahmad Kholid 1 жил өмнө
parent
commit
b9baf51a82

+ 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();