@marijn when dragging in ProseMirror is in general stopped? Because I have a mathPanel node like this:
export const MathPanel = Node.create<MathPanelOptions>({
name: 'mathPanel',
content: 'mathPanelName mathPanelBody',
group: 'block',
draggable: true,
selectable: true,
addOptions() {
return {
HTMLAttributes: {},
};
},
parseHTML() {
return [
{
tag: `div[data-type="${this.name}"]`,
contentElement: `div[data-type="${this.name}Content"]`,
},
];
},
addAttributes() {
return {
variant: {
default: 'definition',
renderHTML: (attributes) => ({
'data-variant': attributes.variant,
}),
parseHTML: (element: HTMLImageElement) =>
element.getAttribute('data-variant'),
},
};
},
renderHTML({ HTMLAttributes, node }) {
const variant = node.attrs.variant;
let { label } = MATH_PANELS.find((el) => el.value === variant)!;
label +=
' ' +
getNodeNumber(node, this.editor!, (n) => n.attrs.variant === variant);
const attrs = mergeAttributes(this.options.HTMLAttributes, HTMLAttributes, {
'data-type': this.name,
});
return [
'div',
attrs,
[
'div',
{
'data-type': `${this.name}Label`,
},
label,
],
[
'div',
{
'data-type': `${this.name}Content`,
},
0,
],
];
},
});
When I select it, I can drag it only when I start dragging from its content. When I start dragging in
[
'div',
{
'data-type': `${this.name}Label`,
},
label,
],
then nothing happens and I dont understand why is that a case. Is that something prose mirror specific? Addding pointer-events-none to the div does not help.