Просмотр исходного кода

feat: enable block settings for some blocks

Ahmad Kholid 2 лет назад
Родитель
Сommit
e248ae8c41

+ 0 - 2
src/components/newtab/workflow/WorkflowEditBlock.vue

@@ -45,7 +45,6 @@
       }"
     />
     <edit-block-settings
-      v-if="!excludeOnError.includes(data.id)"
       :key="data.itemId || data.blockId"
       :data="data"
       class="mt-4"
@@ -56,7 +55,6 @@
 <script setup>
 import { computed } from 'vue';
 import { useI18n } from 'vue-i18n';
-import { excludeOnError } from '@/utils/shared';
 import customEditComponents from '@business/blocks/editComponents';
 import EditBlockSettings from './edit/EditBlockSettings.vue';
 

+ 10 - 3
src/components/newtab/workflow/edit/EditBlockSettings.vue

@@ -55,6 +55,7 @@
 import { reactive, onMounted } from 'vue';
 import { useI18n } from 'vue-i18n';
 import defu from 'defu';
+import { excludeOnError } from '@/utils/shared';
 import BlockSettingLines from './BlockSetting/BlockSettingLines.vue';
 import BlockSettingOnError from './BlockSetting/BlockSettingOnError.vue';
 import BlockSettingGeneral from './BlockSetting/BlockSettingGeneral.vue';
@@ -73,6 +74,7 @@ const emit = defineEmits(['change']);
 
 const { t } = useI18n();
 
+let currActiveTab = 'on-error';
 const browserType = BROWSER_TYPE;
 const supportedBlocks = ['forms', 'event-click', 'trigger-event', 'press-key'];
 const tabs = [
@@ -82,11 +84,16 @@ const tabs = [
   },
   { id: 'lines', name: t('workflow.blocks.base.settings.line.title') },
 ];
-const isSupported =
+const isOnErrorSupported = !excludeOnError.includes(props.data.id);
+const isDebugSupported =
   browserType !== 'firefox' && supportedBlocks.includes(props.data.id);
 
-if (isSupported) {
+if (isDebugSupported) {
+  currActiveTab = 'general';
   tabs.unshift({ id: 'general', name: t('settings.menu.general') });
+} else if (!isOnErrorSupported) {
+  currActiveTab = 'lines';
+  tabs.shift();
 }
 
 const defaultSettings = {
@@ -107,9 +114,9 @@ const defaultSettings = {
 const state = reactive({
   showModal: false,
   retrieved: false,
+  activeTab: currActiveTab,
   onError: defaultSettings.onError,
   settings: defaultSettings.general,
-  activeTab: !isSupported ? 'on-error' : 'general',
 });
 
 function onDataChange(key, data) {