mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-14 21:27:20 +00:00
fix(editor): missing resource files in exported snapshot zip (#9450)
Closes: [BS-2280](https://linear.app/affine-design/issue/BS-2280/导出-zip-snapshot-丢失-blob)
This commit is contained in:
@@ -1,4 +1,9 @@
|
||||
import type { FromSnapshotPayload, SnapshotNode } from '@blocksuite/store';
|
||||
import type {
|
||||
BlockSnapshotLeaf,
|
||||
FromSnapshotPayload,
|
||||
SnapshotNode,
|
||||
ToSnapshotPayload,
|
||||
} from '@blocksuite/store';
|
||||
import { BaseBlockTransformer } from '@blocksuite/store';
|
||||
|
||||
import type { AttachmentBlockProps } from './attachment-model.js';
|
||||
@@ -14,4 +19,16 @@ export class AttachmentBlockTransformer extends BaseBlockTransformer<AttachmentB
|
||||
|
||||
return snapshotRet;
|
||||
}
|
||||
|
||||
override toSnapshot(
|
||||
snapshot: ToSnapshotPayload<AttachmentBlockProps>
|
||||
): BlockSnapshotLeaf {
|
||||
const snapshotRet = super.toSnapshot(snapshot);
|
||||
const sourceId = snapshot.model.sourceId;
|
||||
if (sourceId) {
|
||||
const pathBlobIdMap = snapshot.assets.getPathBlobIdMap();
|
||||
pathBlobIdMap.set(snapshot.model.id, sourceId);
|
||||
}
|
||||
return snapshotRet;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
import type { FromSnapshotPayload, SnapshotNode } from '@blocksuite/store';
|
||||
import type {
|
||||
BlockSnapshotLeaf,
|
||||
FromSnapshotPayload,
|
||||
SnapshotNode,
|
||||
ToSnapshotPayload,
|
||||
} from '@blocksuite/store';
|
||||
import { BaseBlockTransformer } from '@blocksuite/store';
|
||||
|
||||
import type { ImageBlockProps } from './image-model.js';
|
||||
@@ -14,4 +19,16 @@ export class ImageBlockTransformer extends BaseBlockTransformer<ImageBlockProps>
|
||||
|
||||
return snapshotRet;
|
||||
}
|
||||
|
||||
override toSnapshot(
|
||||
snapshot: ToSnapshotPayload<ImageBlockProps>
|
||||
): BlockSnapshotLeaf {
|
||||
const snapshotRet = super.toSnapshot(snapshot);
|
||||
const sourceId = snapshot.model.sourceId;
|
||||
if (sourceId) {
|
||||
const pathBlobIdMap = snapshot.assets.getPathBlobIdMap();
|
||||
pathBlobIdMap.set(snapshot.model.id, sourceId);
|
||||
}
|
||||
return snapshotRet;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user