mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-15 05:37:32 +00:00
feat(editor): affine to blocksuite doc dnd with prefered card view (#11748)
Close [BS-3070](https://linear.app/affine-design/issue/BS-3070/文档拖动进入edgeless,形成引用时,默认形成embeded的引用,但是记录上次选择)
This commit is contained in:
@@ -98,7 +98,9 @@ export class EditPropsStore extends LifeCycleWatcher {
|
||||
);
|
||||
|
||||
this.lastProps$ = computed(() => {
|
||||
const editorSetting$ = this.std.getOptional(EditorSettingProvider);
|
||||
const editorSetting$ = this.std.getOptional(
|
||||
EditorSettingProvider
|
||||
)?.setting$;
|
||||
const nextProps = mergeWith(
|
||||
clonedeep(initProps),
|
||||
editorSetting$?.value,
|
||||
|
||||
@@ -10,21 +10,32 @@ export const GeneralSettingSchema = z
|
||||
.object({
|
||||
edgelessScrollZoom: z.boolean().default(false),
|
||||
edgelessDisableScheduleUpdate: z.boolean().default(false),
|
||||
docDropCanvasPreferView: z
|
||||
.enum(['affine:embed-linked-doc', 'affine:embed-synced-doc'])
|
||||
.default('affine:embed-synced-doc'),
|
||||
})
|
||||
.merge(NodePropsSchema);
|
||||
|
||||
export type EditorSetting = z.infer<typeof GeneralSettingSchema>;
|
||||
|
||||
export const EditorSettingProvider = createIdentifier<
|
||||
Signal<DeepPartial<EditorSetting>>
|
||||
>('AffineEditorSettingProvider');
|
||||
export interface EditorSettingService {
|
||||
setting$: Signal<DeepPartial<EditorSetting>>;
|
||||
set?: (
|
||||
key: keyof EditorSetting,
|
||||
value: EditorSetting[keyof EditorSetting]
|
||||
) => void;
|
||||
}
|
||||
|
||||
export const EditorSettingProvider = createIdentifier<EditorSettingService>(
|
||||
'AffineEditorSettingProvider'
|
||||
);
|
||||
|
||||
export function EditorSettingExtension(
|
||||
signal: Signal<DeepPartial<EditorSetting>>
|
||||
service: EditorSettingService
|
||||
): ExtensionType {
|
||||
return {
|
||||
setup: di => {
|
||||
di.addImpl(EditorSettingProvider, () => signal);
|
||||
di.addImpl(EditorSettingProvider, () => service);
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user