Commit 3ca62dac1ec8634f1332ddb3a6f680d03a38d6c2

Authored by ww
1 parent 87e75906

feat: 实现debug按钮功能

@@ -20,6 +20,8 @@ export function useSaveAndRedo() { @@ -20,6 +20,8 @@ export function useSaveAndRedo() {
20 20
21 const route = useRoute(); 21 const route = useRoute();
22 22
  23 + const debugMarker = ref(false);
  24 +
23 const getRuleChainId = computed(() => (route.params as Record<'id', string>).id); 25 const getRuleChainId = computed(() => (route.params as Record<'id', string>).id);
24 26
25 const { mergeData, deconstructionData } = useBasicDataTransform(); 27 const { mergeData, deconstructionData } = useBasicDataTransform();
@@ -175,12 +177,21 @@ export function useSaveAndRedo() { @@ -175,12 +177,21 @@ export function useSaveAndRedo() {
175 return elements; 177 return elements;
176 } 178 }
177 179
  180 + const handleRemoveDebug = (flowActionType: VueFlowStore) => {
  181 + for (const item of unref(flowActionType.getNodes)) {
  182 + (item.data as NodeData)!.data!.debugMode = false;
  183 + }
  184 + triggerChange();
  185 + };
  186 +
178 return { 187 return {
179 loading, 188 loading,
  189 + debugMarker,
180 changeMarker, 190 changeMarker,
181 triggerChange, 191 triggerChange,
182 handleApplyChange, 192 handleApplyChange,
183 handleRedoChange, 193 handleRedoChange,
  194 + handleRemoveDebug,
184 getCurrentPageMetaData, 195 getCurrentPageMetaData,
185 }; 196 };
186 } 197 }
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
22 import { Icon } from '/@/components/Icon'; 22 import { Icon } from '/@/components/Icon';
23 import { UpdateNodeDrawer } from './src/components/UpdateNodeDrawer'; 23 import { UpdateNodeDrawer } from './src/components/UpdateNodeDrawer';
24 import { UpdateEdgeDrawer } from './src/components/UpdateEdgeDrawer'; 24 import { UpdateEdgeDrawer } from './src/components/UpdateEdgeDrawer';
  25 + import { NodeData } from './types/node';
25 26
26 const getId = Number(Math.random().toString().substring(2)).toString(16); 27 const getId = Number(Math.random().toString().substring(2)).toString(16);
27 28
@@ -46,6 +47,7 @@ @@ -46,6 +47,7 @@
46 triggerChange, 47 triggerChange,
47 handleApplyChange, 48 handleApplyChange,
48 handleRedoChange, 49 handleRedoChange,
  50 + handleRemoveDebug,
49 } = useSaveAndRedo(); 51 } = useSaveAndRedo();
50 52
51 const { flowActionType } = useRuleFlow({ 53 const { flowActionType } = useRuleFlow({
@@ -72,6 +74,10 @@ @@ -72,6 +74,10 @@
72 74
73 const getDeleteDisplayState = computed(() => unref(flowActionType.getSelectedElements).length); 75 const getDeleteDisplayState = computed(() => unref(flowActionType.getSelectedElements).length);
74 76
  77 + const getDebugMarker = computed(() =>
  78 + flowActionType.getNodes.value.some((item) => (item.data as NodeData).data?.debugMode)
  79 + );
  80 +
75 const handleDeleteSelectionElements = () => { 81 const handleDeleteSelectionElements = () => {
76 flowActionType.removeEdges(unref(flowActionType.getSelectedEdges)); 82 flowActionType.removeEdges(unref(flowActionType.getSelectedEdges));
77 flowActionType.removeNodes(unref(flowActionType.getSelectedNodes)); 83 flowActionType.removeNodes(unref(flowActionType.getSelectedNodes));
@@ -127,7 +133,9 @@ @@ -127,7 +133,9 @@
127 <Icon class="!text-3xl !text-light-50" icon="mdi:delete" /> 133 <Icon class="!text-3xl !text-light-50" icon="mdi:delete" />
128 </button> 134 </button>
129 <button 135 <button
  136 + :class="getDebugMarker ? '!bg-orange-600 !opacity-100' : 'opacity-50'"
130 class="button-box-shadow w-14 h-14 flex justify-center items-center bg-gray-400 rounded-full opacity-50" 137 class="button-box-shadow w-14 h-14 flex justify-center items-center bg-gray-400 rounded-full opacity-50"
  138 + @click="handleRemoveDebug(flowActionType)"
131 > 139 >
132 <Icon class="!text-3xl !text-light-50" icon="carbon:debug" /> 140 <Icon class="!text-3xl !text-light-50" icon="carbon:debug" />
133 </button> 141 </button>