feat(sdk): broaden goView iframe/video import support
This commit is contained in:
parent
3d9154baf7
commit
9ac5bbaa09
@ -14,6 +14,10 @@ export interface GoViewIframeOption {
|
|||||||
iframeUrl?: unknown;
|
iframeUrl?: unknown;
|
||||||
iframeSrc?: unknown;
|
iframeSrc?: unknown;
|
||||||
embedUrl?: unknown;
|
embedUrl?: unknown;
|
||||||
|
frameUrl?: unknown;
|
||||||
|
frameSrc?: unknown;
|
||||||
|
webUrl?: unknown;
|
||||||
|
webpageUrl?: unknown;
|
||||||
|
|
||||||
// list-ish shapes (some low-code editors model embeds as a list even for a single item)
|
// list-ish shapes (some low-code editors model embeds as a list even for a single item)
|
||||||
sources?: unknown;
|
sources?: unknown;
|
||||||
@ -133,7 +137,15 @@ function pickFirstUrlFromList(input: unknown): string {
|
|||||||
function pickSrc(option: GoViewIframeOption): string {
|
function pickSrc(option: GoViewIframeOption): string {
|
||||||
// 1) Prefer explicit iframe-ish URL fields.
|
// 1) Prefer explicit iframe-ish URL fields.
|
||||||
const url =
|
const url =
|
||||||
pickUrlLike({ iframeUrl: option.iframeUrl, iframeSrc: option.iframeSrc, embedUrl: option.embedUrl }) ||
|
pickUrlLike({
|
||||||
|
iframeUrl: option.iframeUrl,
|
||||||
|
iframeSrc: option.iframeSrc,
|
||||||
|
embedUrl: option.embedUrl,
|
||||||
|
frameUrl: option.frameUrl,
|
||||||
|
frameSrc: option.frameSrc,
|
||||||
|
webUrl: option.webUrl,
|
||||||
|
webpageUrl: option.webpageUrl,
|
||||||
|
}) ||
|
||||||
pickUrlLike(option) ||
|
pickUrlLike(option) ||
|
||||||
pickUrlLike(option.dataset) ||
|
pickUrlLike(option.dataset) ||
|
||||||
pickUrlLike(option.src) ||
|
pickUrlLike(option.src) ||
|
||||||
|
|||||||
@ -10,6 +10,10 @@ export interface GoViewVideoOption {
|
|||||||
src?: unknown;
|
src?: unknown;
|
||||||
url?: unknown;
|
url?: unknown;
|
||||||
|
|
||||||
|
// seen in some forks
|
||||||
|
srcUrl?: unknown;
|
||||||
|
sourceUrl?: unknown;
|
||||||
|
|
||||||
// common alternative shapes
|
// common alternative shapes
|
||||||
sources?: unknown;
|
sources?: unknown;
|
||||||
sourceList?: unknown;
|
sourceList?: unknown;
|
||||||
@ -208,6 +212,8 @@ function pickSrc(option: GoViewVideoOption): string {
|
|||||||
// generic fallbacks
|
// generic fallbacks
|
||||||
'src',
|
'src',
|
||||||
'url',
|
'url',
|
||||||
|
'srcUrl',
|
||||||
|
'sourceUrl',
|
||||||
'value',
|
'value',
|
||||||
// sometimes low-code exports store <video> HTML under these fields
|
// sometimes low-code exports store <video> HTML under these fields
|
||||||
'html',
|
'html',
|
||||||
@ -239,7 +245,12 @@ function pickSrc(option: GoViewVideoOption): string {
|
|||||||
if (fromList) return normalizeSrcMaybeFromHtml(fromList);
|
if (fromList) return normalizeSrcMaybeFromHtml(fromList);
|
||||||
|
|
||||||
// Last resort: permissive URL-like picking across option/dataset/src/url.
|
// Last resort: permissive URL-like picking across option/dataset/src/url.
|
||||||
const raw = pickUrlLike(option) || pickUrlLike(option.dataset) || pickUrlLike(option.src) || pickUrlLike(option.url);
|
const raw =
|
||||||
|
pickUrlLike({ srcUrl: option.srcUrl, sourceUrl: option.sourceUrl }) ||
|
||||||
|
pickUrlLike(option) ||
|
||||||
|
pickUrlLike(option.dataset) ||
|
||||||
|
pickUrlLike(option.src) ||
|
||||||
|
pickUrlLike(option.url);
|
||||||
return normalizeSrcMaybeFromHtml(raw);
|
return normalizeSrcMaybeFromHtml(raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user