refactor: split sidebar filetree open runtime
This commit is contained in:
@@ -201,6 +201,8 @@ mod tests {
|
||||
const SIDEBAR_TREE_RUNTIME_JS: &str = include_str!("../../../browser/sidebar-tree-runtime.js");
|
||||
const SIDEBAR_TREE_LIVE_APPLY_RUNTIME_JS: &str =
|
||||
include_str!("../../../browser/sidebar-tree-live-apply-runtime.js");
|
||||
const SIDEBAR_FILETREE_OPEN_RUNTIME_JS: &str =
|
||||
include_str!("../../../browser/sidebar-filetree-open-runtime.js");
|
||||
const SIDEBAR_SHELL_RUNTIME_JS: &str =
|
||||
include_str!("../../../browser/sidebar-shell-runtime.js");
|
||||
const SIDEBAR_WORKSPACE_RUNTIME_JS: &str =
|
||||
@@ -279,29 +281,33 @@ mod tests {
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("openConvexAssetFromFileTree"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("buildMindmapOpenPath"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("isMindmapAssetDetail"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("^思维导图"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("^思维导图"));
|
||||
assert!(!SIDEBAR_TREE_RUNTIME_JS.contains("openMindmapAssetInDocumentShell"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("data-mnote-last-mindmap-asset-open-mode"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("mindmap-object-shell"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("navigateToMindmapObject(documentId, assetId"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("__mnoteDocumentPaneRuntime?.openPrimaryMindmap"));
|
||||
assert!(
|
||||
SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("data-mnote-last-mindmap-asset-open-mode")
|
||||
);
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("mindmap-object-shell"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS
|
||||
.contains("navigateToMindmapObject(documentId, assetId"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS
|
||||
.contains("__mnoteDocumentPaneRuntime?.openPrimaryMindmap"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("shortMindmapFileName"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("assetType: assetType || null"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("data-object-identity"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("readFileTreeObjectIdentity"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("objectIdentity: objectIdentity"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("workspaceId: resolveWorkspaceId(fileRow)"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("/api/media/sign?assetId="));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("function localFilePathFromAssetId"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("/api/local-folder/files/open"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("local-file:"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("/api/media/sign?assetId="));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("function localFilePathFromAssetId"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("/api/local-folder/files/open"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("local-file:"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS
|
||||
.contains("value.indexOf('local:asset:') === 0 ? value.slice('local:asset:'.length)"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("fetchCurrentOnlyOfficeUserId"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("/api/auth/whoami"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("/api/auth/whoami"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("buildOnlyOfficeOpenUrl"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("target.searchParams.set('userId'"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("window.open(officeUrl,"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("target.searchParams.set('userId'"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("window.open(officeUrl,"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("tree.filetree.internal-drop"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("tree.filetree.external-drop"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("beginFileTreeInlineRename"));
|
||||
@@ -805,7 +811,7 @@ mod tests {
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("url.searchParams.set('rootUri', rootUri)"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("if (!parentRow && currentSourceKind() === 'local_folder' && objectKind === 'mindmap') return false;"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("if (!appended && currentSourceKind() === 'local_folder') void refreshLocalFolderSidebarSnapshot();"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS
|
||||
.contains("data-mnote-last-mindmap-asset-open-mode', 'local-mindmap-object-shell'"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("buildLocalOnlyOfficeOpenUrl"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("isLocalAsset ? onlyOfficeUrl"));
|
||||
@@ -858,8 +864,8 @@ mod tests {
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS
|
||||
.contains("function shouldOpenLocalResourceInNewWindow(fileName)"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("return false;"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("var shouldOpenInNewWindow = forceNewWindow || shouldOpenLocalResourceInNewWindow(localFileName);"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("var shouldOpenInNewWindow = forceNewWindow || shouldOpenLocalResourceInNewWindow(localFileName);"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS
|
||||
.contains("if (!shouldOpenInNewWindow && await openLocalResourceInActiveTab({"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains(
|
||||
"openTarget: e.shiftKey || e.ctrlKey || e.metaKey ? 'new-window' : 'active-tab'"
|
||||
@@ -1099,10 +1105,10 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn sidebar_tree_runtime_keeps_pdf_and_code_assets_out_of_onlyoffice() {
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("function inferOnlyOfficeFileType"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("isNonOfficeAttachmentName(name, ext)"));
|
||||
assert!(!SIDEBAR_TREE_RUNTIME_JS.contains("if (ext === 'pdf') return ext;"));
|
||||
assert!(!SIDEBAR_TREE_RUNTIME_JS.contains("mt.indexOf('pdf') >= 0"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("function inferOnlyOfficeFileType"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("isNonOfficeAttachmentName(name, ext)"));
|
||||
assert!(!SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("if (ext === 'pdf') return ext;"));
|
||||
assert!(!SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("mt.indexOf('pdf') >= 0"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("mnote-uploaded-attachment-pdf"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("mnote-uploaded-attachment-code"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("'toml'"));
|
||||
@@ -1118,14 +1124,18 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn sidebar_tree_runtime_opens_office_assets_through_resource_shell() {
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("function buildOnlyOfficeOpenPath"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains(
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("function buildOnlyOfficeOpenPath"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains(
|
||||
"return '/office/' + encodeURIComponent(input.documentId) + '/' + encodeURIComponent(input.assetId)"
|
||||
));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("return '/onlyoffice?' + params.toString();"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS
|
||||
assert!(
|
||||
SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("return '/onlyoffice?' + params.toString();")
|
||||
);
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS
|
||||
.contains("target.searchParams.set('mode', input.mode || 'view');"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("params.set('mode', input.mode || 'view');"));
|
||||
assert!(
|
||||
SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("params.set('mode', input.mode || 'view');")
|
||||
);
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains(
|
||||
"{ action: 'open-edit-mode', icon: 'edit_note', label: '使用编辑模式打开' }"
|
||||
));
|
||||
@@ -1139,7 +1149,7 @@ mod tests {
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("void openEditorAttachmentEditTab(detail);"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("openLocalOfficeFileInActiveTab(detail, 'edit')"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("openEditorAttachmentNewWindow(detail, 'edit')"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("forceEditMode ? 'edit' : 'view'"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("forceEditMode ? 'edit' : 'view'"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("url.searchParams.set('mode', requestedMode);"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("mode: requestedMode"));
|
||||
}
|
||||
@@ -1158,9 +1168,9 @@ mod tests {
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("inferCodeAttachmentLanguage"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("if (isPdfAttachmentFileName(detail.fileName))"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("if (isCodeAttachmentFileName(detail.fileName))"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS
|
||||
.contains("if (isCodeAttachmentFileName(fileName) && String(asset.document_id"));
|
||||
assert!(SIDEBAR_TREE_RUNTIME_JS.contains("await openCodeEditorAttachment({"));
|
||||
assert!(SIDEBAR_FILETREE_OPEN_RUNTIME_JS.contains("await openCodeEditorAttachment({"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user