kopia lustrzana https://github.com/wagtail/wagtail
Populate embed data fields in contentstate
rodzic
14a23af0d0
commit
e5de74d24b
|
@ -8,16 +8,14 @@ class EmbedSource extends ModalSource {
|
|||
this.parseData = this.parseData.bind(this);
|
||||
}
|
||||
|
||||
parseData(html) {
|
||||
const embed = $.parseHTML(html)[0];
|
||||
|
||||
parseData(html, embed) {
|
||||
this.onConfirmAtomicBlock({
|
||||
embedType: embed.getAttribute('data-embedtype'),
|
||||
url: embed.getAttribute('data-url'),
|
||||
providerName: embed.getAttribute('data-provider-name'),
|
||||
authorName: embed.getAttribute('data-author-name'),
|
||||
thumbnail: embed.getAttribute('data-thumbnail-url'),
|
||||
title: embed.getAttribute('data-title'),
|
||||
embedType: embed.embedType,
|
||||
url: embed.url,
|
||||
providerName: embed.providerName,
|
||||
authorName: embed.authorName,
|
||||
thumbnail: embed.thumbnail,
|
||||
title: embed.title,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ from draftjs_exporter.dom import DOM
|
|||
from wagtail.admin.rich_text.converters import editor_html
|
||||
from wagtail.admin.rich_text.converters.contentstate_models import Entity
|
||||
from wagtail.admin.rich_text.converters.html_to_contentstate import AtomicBlockEntityElementHandler
|
||||
from wagtail.embeds import format
|
||||
from wagtail.embeds import embeds, format
|
||||
from wagtail.embeds.exceptions import EmbedException
|
||||
|
||||
|
||||
|
@ -76,7 +76,19 @@ class MediaEmbedElementHandler(AtomicBlockEntityElementHandler):
|
|||
to contentstate
|
||||
"""
|
||||
def create_entity(self, name, attrs, state, contentstate):
|
||||
return Entity('EMBED', 'IMMUTABLE', {'url': attrs['url']})
|
||||
try:
|
||||
embed_obj = embeds.get_embed(attrs['url'])
|
||||
embed_data = {
|
||||
'embedType': embed_obj.type,
|
||||
'url': embed_obj.url,
|
||||
'providerName': embed_obj.provider_name,
|
||||
'authorName': embed_obj.author_name,
|
||||
'thumbnail': embed_obj.thumbnail_url,
|
||||
'title': embed_obj.title,
|
||||
}
|
||||
except EmbedException:
|
||||
embed_data = {'url': attrs['url']}
|
||||
return Entity('EMBED', 'IMMUTABLE', embed_data)
|
||||
|
||||
|
||||
ContentstateMediaConversionRule = {
|
||||
|
|
Ładowanie…
Reference in New Issue