Adding trait makes element uneditable
Question
Hi,
I wanted to add a trait that enables me to edit the heading tag of a component.
I was able to achieve that by following below code
editor.DomComponents.addType('heading', {
isComponent: el => el.tagName == 'H1' || el.tagName == 'H2' || el.tagName == 'H3' || el.tagName == 'H4' || el.tagName == 'H5' || el.tagName == 'H6',
model: {
defaults: {
traits: [
{
type: 'select',
options: [
{ value: 'h1', name: 'Heading 1' },
{ value: 'h2', name: 'Heading 2' },
{ value: 'h3', name: 'Heading 3' },
{ value: 'h4', name: 'Heading 4' },
{ value: 'h5', name: 'Heading 5' },
{ value: 'h6', name: 'Heading 6' },
],
label: 'Size',
name: 'tagName',
changeProp: true,
}
]
}
}
});
};
I found the solution on this issue
But it does not allow the component to be edited when it is double-clicked.
How to enable the editing of the heading component like the text component keeping the tag name feature in place.
-Thanks
Answers (2)
Your component should extend the text one
I want add multiple addType text, but I am facing an issue the last one which i added it will take only.??
Related Questions and Answers
Continue research with similar issue discussions.
Issue #3732
BUG: comment component type do not support adding traits
i am working on a script that add a trait on all the component type , but the comment type do not have the prototype object. code
Issue #987
[BUG/Question] Dropdown indicator not displayed for a custom trait
Hello, the dropdown (select) element arrow indicator icon is not rendered when adding a custom trait to a component: I'm using following co...
Issue #2329
[HELP] Canvas clears component rendering after Traits value change event
I have created custom components and blocks, but when value of traits change, the rendered element gets invisible from the canvas until it...
Issue #3135
[Help Wanted] How to easily override existing component ?
For example, I want to add a double click event handler on the default video component to open the assets manager. My basic idea was to get...
Paid Plugins That Match This Issue
Curated by issue keywords and label relevance to help you ship faster.
Loading paid plugin recommendations...
Browse Plugin Categories
Jump directly to plugin category pages on the marketplace.