Closed seandearnaley closed 7 years ago
I kinda figured this out, I have to extend the value method with the innerText value, if there is a better of way doing this kind of thing let me know, but this is fine:
class EditModuleBlot extends BlockEmbed {
static create(value) {
let node = super.create();
node.setAttribute('style', value.style);
node.innerText = 'test test test';
return node;
}
static value(node) {
return {
style: node.getAttribute('style'),
text: node.innerText //now text will show up in the delta
};
}
}
I would like to be able to create a custom blot with content that is preset, but which I can change.. I have figured out how to create a block embed blot from the medium clone guide, but I have noticed that the created node is not being captured in the delta contents- I have set some text inside a styled div, and I would like to save those changes... I would also like to use this process for things like dynamic captions... it's important that I can save the delta. node.innerText = 'test test test' sets the initial content fine in the editor, but the innerText is not captured, and changes are not bound to the delta-- I presume there must be some other way to include the content of the div.
Is there some way to either nest blots within blocks or can I bind the blot content with a delta somehow so that the change gets picked up? any helpful example code would be greatly appreciated. Thank you.
and this is my Vue.js method for invoking it:
The delta json does not capture the div innerText, is there a way to have it track the div contents as they are / and when they are edited?:
Using Quill 1.2.4