tav-ui
Version:
67 lines (64 loc) • 2.84 kB
JavaScript
export { handleI18n } from './i18n2.mjs';
function replaceFileUrlVarsToValue(content, vars) {
if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {
return content.replaceAll(`\${${vars.keyProp}}`, vars.key).replaceAll(`\${${vars.urlPrefixProp}}`, vars.urlPrefix);
}
return content;
}
function replaceFileUrlValueToVars(content, vars) {
if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {
return content.replaceAll(vars.key, `\${${vars.keyProp}}`).replaceAll(vars.urlPrefix, `\${${vars.urlPrefixProp}}`);
}
return content;
}
function refreshUploadVars(content, curvars, prevars) {
if (curvars.key && curvars.keyProp && curvars.urlPrefix && curvars.urlPrefixProp && prevars.key && prevars.keyProp && prevars.urlPrefix && prevars.urlPrefixProp) {
return content.replaceAll(prevars.key, curvars.key).replaceAll(prevars.urlPrefix, curvars.urlPrefix);
}
return content;
}
function replaceEditorMediaFileUrlVarsToValue(content, vars) {
if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {
let _content = "";
let el = document.createElement("div");
el.innerHTML = content;
const contentEl = el.querySelector(".ta-editor-content");
if (contentEl) {
el.innerHTML = contentEl.innerHTML;
}
const medias = [
...Array.from(el.querySelectorAll(".file.file-image")),
...Array.from(el.querySelectorAll(".file.file-office"))
];
medias.forEach((media) => {
const uploadVars = JSON.parse(media.dataset.uploadvarsjson);
media.outerHTML = refreshUploadVars(replaceFileUrlVarsToValue(media.outerHTML, uploadVars).replace(media.dataset.uploadvarsjson, JSON.stringify(vars)), vars, uploadVars);
});
_content = el.innerHTML;
el = null;
return _content ?? content;
}
return content;
}
function replaceEditorMediaFileUrlValueToVars(content, vars) {
if (vars && vars.key && vars.keyProp && vars.urlPrefix && vars.urlPrefixProp) {
let _content = "";
let el = document.createElement("div");
el.classList.add("ta-editor-content");
el.innerHTML = content;
const medias = [
...Array.from(el.querySelectorAll(".file.file-image")),
...Array.from(el.querySelectorAll(".file.file-office"))
];
medias.forEach((media) => {
const uploadVars = JSON.parse(media.dataset.uploadvarsjson);
media.outerHTML = replaceFileUrlValueToVars(media.outerHTML, uploadVars).replace(media.dataset.uploadvarsjson, JSON.stringify(vars));
});
_content = el.outerHTML;
el = null;
return _content ?? content;
}
return content;
}
export { refreshUploadVars, replaceEditorMediaFileUrlValueToVars, replaceEditorMediaFileUrlVarsToValue, replaceFileUrlValueToVars, replaceFileUrlVarsToValue };
//# sourceMappingURL=index2.mjs.map