优化组合的事件内容

main
刘妍 2025-02-25 17:07:16 +08:00
parent ffc54635e8
commit c72d4aefb9
2 changed files with 41 additions and 51 deletions

View File

@ -9,7 +9,7 @@ const ceshiFunction = mapFun();
// 交互事件 // 交互事件
export const eventHandlerHook = ( export const eventHandlerHook = (
comonentList: any, componentList: any,
interactConfigEvents: any, interactConfigEvents: any,
type: string, type: string,
params: any = null, params: any = null,
@ -24,7 +24,7 @@ export const eventHandlerHook = (
} }
} }
} }
for (let i = 0; i < comonentList.length; i++) { for (let i = 0; i < componentList.length; i++) {
for (let j = 0; j < elementList.length; j++) { for (let j = 0; j < elementList.length; j++) {
if (elementList[j].movement == 'newaddress') { if (elementList[j].movement == 'newaddress') {
// 打开新页面 // 打开新页面
@ -63,8 +63,8 @@ export const eventHandlerHook = (
} else if (elementList[j].movement == 'reveal') { } else if (elementList[j].movement == 'reveal') {
// 显示 // 显示
for (let k = 0; k < elementList[j].elementId.length; k++) { for (let k = 0; k < elementList[j].elementId.length; k++) {
if (comonentList[i].id == elementList[j].elementId[k]) { if (componentList[i].id == elementList[j].elementId[k]) {
obj = comonentList[i]; obj = componentList[i];
index = i; index = i;
obj.status.hide = false; obj.status.hide = false;
chartEditStore.updateComponentList(index, obj); chartEditStore.updateComponentList(index, obj);
@ -73,8 +73,8 @@ export const eventHandlerHook = (
} else if (elementList[j].movement == 'hidden') { } else if (elementList[j].movement == 'hidden') {
// 隐藏 // 隐藏
for (let k = 0; k < elementList[j].elementId.length; k++) { for (let k = 0; k < elementList[j].elementId.length; k++) {
if (comonentList[i].id == elementList[j].elementId[k]) { if (componentList[i].id == elementList[j].elementId[k]) {
obj = comonentList[i]; obj = componentList[i];
index = i; index = i;
obj.status.hide = true; obj.status.hide = true;
chartEditStore.updateComponentList(index, obj); chartEditStore.updateComponentList(index, obj);
@ -83,7 +83,7 @@ export const eventHandlerHook = (
} else if (elementList[j].movement == 'map') { } else if (elementList[j].movement == 'map') {
// 地图事件联动 // 地图事件联动
for (let k = 0; k < elementList[j].elementId.length; k++) { for (let k = 0; k < elementList[j].elementId.length; k++) {
if (comonentList[i].id == elementList[j].elementId[k]) { if (componentList[i].id == elementList[j].elementId[k]) {
if (params) { if (params) {
ceshiFunction[elementList[j].funName](params); ceshiFunction[elementList[j].funName](params);
} else { } else {
@ -94,7 +94,7 @@ export const eventHandlerHook = (
} else if (elementList[j].movement == 'communication') { } else if (elementList[j].movement == 'communication') {
// 组件通信 // 组件通信
for (let k = 0; k < elementList[j].elementId.length; k++) { for (let k = 0; k < elementList[j].elementId.length; k++) {
if (comonentList[i].id == elementList[j].elementId[k]) { if (componentList[i].id == elementList[j].elementId[k]) {
EventBus.emit(elementList[j].elementId[k] + type, params); EventBus.emit(elementList[j].elementId[k] + type, params);
} }
} }

View File

@ -73,56 +73,46 @@
required: true, required: true,
}, },
}); });
//
const clickElementItem = ref([]);
//
const dbclickElementItem = ref([]);
//
const rightclickElementItem = ref([]);
//
const mouseenterElementItem = ref([]);
//
const mouseleaveElementItem = ref([]);
const list = props.groupData.events.interactConfigEvents; const clickBtn = (val) => {
for (let i = 0; i < list.length; i++) { eventHandlerHook(
if (list[i].type == 'click') { chartEditStore.getComponentList,
for (let j = 0; j < list[i].movementList.length; j++) { props.groupData.events.interactConfigEvents,
clickElementItem.value.push(list[i].movementList[j]); 'click',
} val,
} else if (list[i].type == 'dblclick') { );
for (let j = 0; j < list[i].movementList.length; j++) {
dbclickElementItem.value.push(list[i].movementList[j]);
}
} else if (list[i].type == 'rightclick') {
for (let j = 0; j < list[i].movementList.length; j++) {
rightclickElementItem.value.push(list[i].movementList[j]);
}
} else if (list[i].type == 'mousein') {
for (let j = 0; j < list[i].movementList.length; j++) {
mouseenterElementItem.value.push(list[i].movementList[j]);
}
} else if (list[i].type == 'mouseout') {
for (let j = 0; j < list[i].movementList.length; j++) {
mouseleaveElementItem.value.push(list[i].movementList[j]);
}
}
}
const clickBtn = () => {
eventHandlerHook(chartEditStore.getComponentList, clickElementItem.value);
}; };
const dblclickBtn = () => { const dblclickBtn = (val) => {
eventHandlerHook(chartEditStore.getComponentList, dbclickElementItem.value); eventHandlerHook(
chartEditStore.getComponentList,
props.groupData.events.interactConfigEvents,
'dblclick',
val,
);
}; };
const rightclickBtn = (event) => { const rightclickBtn = (event) => {
event.preventDefault(); // event.preventDefault(); //
eventHandlerHook(chartEditStore.getComponentList, rightclickElementItem.value); eventHandlerHook(
chartEditStore.getComponentList,
props.groupData.events.interactConfigEvents,
'rightclick',
);
}; };
const mouseenterBtn = () => { const mouseenterBtn = (val) => {
eventHandlerHook(chartEditStore.getComponentList, mouseenterElementItem.value); eventHandlerHook(
chartEditStore.getComponentList,
props.groupData.events.interactConfigEvents,
'mousein',
val,
);
}; };
const mouseleaveBtn = () => { const mouseleaveBtn = (val) => {
eventHandlerHook(chartEditStore.getComponentList, mouseleaveElementItem.value); eventHandlerHook(
chartEditStore.getComponentList,
props.groupData.events.interactConfigEvents,
'mouseout',
val,
);
}; };
</script> </script>