mirror of
https://github.com/Tencent/tmagic-editor.git
synced 2025-04-06 03:57:56 +08:00
fix(stage): canSelect增加event参数
This commit is contained in:
parent
9b849cc906
commit
29a9912820
@ -138,10 +138,10 @@ export default defineComponent({
|
||||
render: props.render,
|
||||
runtimeUrl: props.runtimeUrl,
|
||||
zoom: zoom.value,
|
||||
canSelect: (el, stop) => {
|
||||
canSelect: (el, event, stop) => {
|
||||
const elCanSelect = props.canSelect(el);
|
||||
// 在组件联动过程中不能再往下选择,返回并触发 ui-select
|
||||
if (uiSelectMode.value && elCanSelect) {
|
||||
if (uiSelectMode.value && elCanSelect && event.type === 'mousedown') {
|
||||
document.dispatchEvent(new CustomEvent('ui-select', { detail: el }));
|
||||
return stop();
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ export default class StageCore extends EventEmitter {
|
||||
let stopped = false;
|
||||
const stop = () => (stopped = true);
|
||||
for (const el of els) {
|
||||
if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && (await this.canSelect(el, stop))) {
|
||||
if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && (await this.canSelect(el, event, stop))) {
|
||||
if (stopped) break;
|
||||
if (event.type === 'mousemove') {
|
||||
this.highlight(el);
|
||||
|
@ -23,7 +23,7 @@ import { Id, MApp, MNode } from '@tmagic/schema';
|
||||
import { GuidesType } from './const';
|
||||
import StageCore from './StageCore';
|
||||
|
||||
export type CanSelect = (el: HTMLElement, stop: () => boolean) => boolean | Promise<boolean>;
|
||||
export type CanSelect = (el: HTMLElement, event: MouseEvent, stop: () => boolean) => boolean | Promise<boolean>;
|
||||
|
||||
export type StageCoreConfig = {
|
||||
/** 需要对齐的dom节点的CSS选择器字符串 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user