refactor: delegate uploaded asset insertion runtime

This commit is contained in:
lix-2026
2026-05-25 01:28:15 +08:00
parent a4e50c1d19
commit a0115ecd77
3 changed files with 124 additions and 0 deletions
@@ -3905,6 +3905,25 @@ const SIDEBAR_TREE_JS: &str = r##"
}
async function insertUploadedAssetIntoEditor(asset, targetRoot) {
var runtimeFn = localUploadRuntimeFunction('insertUploadedAssetIntoEditor');
if (runtimeFn) {
return await runtimeFn(asset, targetRoot, {
uploadedAssetTitle: uploadedAssetTitle,
localAssetOpenUrl: localAssetOpenUrl,
uploadedAssetUrl: uploadedAssetUrl,
uploadedAssetType: uploadedAssetType,
isLocalUploadedAsset: isLocalUploadedAsset,
buildOnlyOfficeAssetOpenUrl: buildOnlyOfficeAssetOpenUrl,
fetchCurrentOnlyOfficeUserId: fetchCurrentOnlyOfficeUserId,
buildOnlyOfficeOpenPath: buildOnlyOfficeOpenPath,
inferOnlyOfficeFileType: inferOnlyOfficeFileType,
currentDocumentId: currentDocumentId,
uploadedAttachmentClass: uploadedAttachmentClass,
uploadedFileSize: uploadedFileSize,
cssEscape: cssEscape,
enhanceEditorAttachmentLinks: enhanceEditorAttachmentLinks
});
}
var editorRoot = targetRoot instanceof HTMLElement
? targetRoot.querySelector('.editor-surface .ProseMirror')
: document.querySelector('.editor-surface .ProseMirror');
@@ -10932,6 +10951,9 @@ mod tests {
assert!(
SIDEBAR_TREE_JS.contains("localUploadRuntimeFunction('openEditorUploadFilePicker')")
);
assert!(
SIDEBAR_TREE_JS.contains("localUploadRuntimeFunction('insertUploadedAssetIntoEditor')")
);
assert!(SIDEBAR_TREE_JS.contains("__mnoteLastEditorUploadRoot"));
assert!(SIDEBAR_TREE_JS.contains("data-pane-role=\"primary\""));
assert!(SIDEBAR_TREE_JS.contains("insertUploadedAssetIntoEditor(localPayload.asset, editorRootFromUploadOptions(options))"));
@@ -10947,6 +10969,8 @@ mod tests {
assert!(LOCAL_UPLOAD_RUNTIME_JS.contains("function openEditorUploadFilePicker"));
assert!(LOCAL_UPLOAD_RUNTIME_JS.contains("function fetchWithTimeout"));
assert!(LOCAL_UPLOAD_RUNTIME_JS.contains("function uploadLocalFolderAsset"));
assert!(LOCAL_UPLOAD_RUNTIME_JS.contains("function insertUploadedAssetIntoEditor"));
assert!(LOCAL_UPLOAD_RUNTIME_JS.contains("data-mnote-last-upload-inserted"));
assert!(LOCAL_UPLOAD_RUNTIME_JS.contains("uploadFilesWithResolvedTarget"));
assert!(LOCAL_UPLOAD_RUNTIME_JS.contains("__mnoteLastEditorUploadRoot"));
}