UNPKG

tav-ui

Version:
1 lines 7.73 kB
{"version":3,"file":"index2.mjs","sources":["../../../../../../../../packages/components/editor/src/utils/index.ts"],"sourcesContent":["import { type FileUploadImagePropResponse } from '../typings'\n\nexport * from './i18n'\n\n/**\n * 将文件 url 中的占位符转为具体的值\n * @param content\n * @param vars\n * @returns\n */\nexport function replaceFileUrlVarsToValue(content: string, vars?: FileUploadImagePropResponse) {\n if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {\n return (\n content\n //@ts-ignore\n .replaceAll(`\\${${vars.keyProp}}`, vars.key)\n //@ts-ignore\n .replaceAll(`\\${${vars.urlPrefixProp}}`, vars.urlPrefix)\n )\n }\n\n return content\n}\n\n/**\n * 将文件 url 中的具体的值转为占位符\n * @param content\n * @param vars\n * @returns\n */\nexport function replaceFileUrlValueToVars(content: string, vars?: FileUploadImagePropResponse) {\n if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {\n return (\n content\n //@ts-ignore\n .replaceAll(vars.key, `\\${${vars.keyProp}}`)\n //@ts-ignore\n .replaceAll(vars.urlPrefix, `\\${${vars.urlPrefixProp}}`)\n )\n }\n\n return content\n}\n\n/**\n * 更新文件 url 中的具体的值\n * @param content\n * @param vars\n * @returns\n */\nexport function refreshUploadVars(\n content: string,\n curvars: FileUploadImagePropResponse,\n prevars: FileUploadImagePropResponse\n) {\n if (\n curvars.key &&\n curvars.keyProp &&\n curvars.urlPrefix &&\n curvars.urlPrefixProp &&\n prevars.key &&\n prevars.keyProp &&\n prevars.urlPrefix &&\n prevars.urlPrefixProp\n ) {\n return (\n content\n //@ts-ignore\n .replaceAll(prevars.key, curvars.key)\n //@ts-ignore\n .replaceAll(prevars.urlPrefix, curvars.urlPrefix)\n )\n }\n\n return content\n}\n\n/**\n * 更新富文本内容区的媒体资源 dom data-* 信息,并将文件 url 中的占位符转为具体的值\n * 一般用于需要回显富文本内容的操作如:编辑\n * @param content\n * @param vars\n * @returns\n */\nexport function replaceEditorMediaFileUrlVarsToValue(\n content: string,\n vars?: FileUploadImagePropResponse\n) {\n if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {\n let _content = ''\n let el: HTMLDivElement | null = document.createElement('div')\n el.innerHTML = content\n const contentEl = el.querySelector('.ta-editor-content')\n if (contentEl) {\n el.innerHTML = contentEl.innerHTML\n }\n const medias = [\n ...Array.from(el.querySelectorAll('.file.file-image')),\n ...Array.from(el.querySelectorAll('.file.file-office')),\n ]\n medias.forEach((media: any) => {\n const uploadVars = JSON.parse(media.dataset.uploadvarsjson)\n media.outerHTML = refreshUploadVars(\n replaceFileUrlVarsToValue(media.outerHTML, uploadVars).replace(\n media.dataset.uploadvarsjson,\n JSON.stringify(vars)\n ),\n vars,\n uploadVars\n )\n })\n _content = el.innerHTML\n el = null\n\n return _content ?? content\n }\n return content\n}\n\n/**\n * 更新富文本内容区的媒体资源 dom data-* 信息,并将文件 url 中的具体的值转为占位符\n * 一般用于需要需要向后台提交的操作如:新增\n * @param content\n * @param vars\n * @returns\n */\nexport function replaceEditorMediaFileUrlValueToVars(\n content: string,\n vars?: FileUploadImagePropResponse\n) {\n if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {\n let _content = ''\n let el: HTMLDivElement | null = document.createElement('div')\n el.classList.add('ta-editor-content')\n el.innerHTML = content\n const medias = [\n ...Array.from(el.querySelectorAll('.file.file-image')),\n ...Array.from(el.querySelectorAll('.file.file-office')),\n ]\n medias.forEach((media: any) => {\n const uploadVars = JSON.parse(media.dataset.uploadvarsjson)\n media.outerHTML = replaceFileUrlValueToVars(media.outerHTML, uploadVars).replace(\n media.dataset.uploadvarsjson,\n JSON.stringify(vars)\n )\n })\n _content = el.outerHTML\n el = null\n\n return _content ?? content\n }\n return content\n}\n"],"names":[],"mappings":"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"}