fix(core): text-renderer should be readonly (#9244)
fix AF-2010, AF-2009
This commit is contained in:
@@ -195,6 +195,7 @@ export class TextRenderer extends WithDisposable(ShadowlessElement) {
|
|||||||
if (latestAnswer && schema) {
|
if (latestAnswer && schema) {
|
||||||
markDownToDoc(schema, latestAnswer, this.options.additionalMiddlewares)
|
markDownToDoc(schema, latestAnswer, this.options.additionalMiddlewares)
|
||||||
.then(doc => {
|
.then(doc => {
|
||||||
|
this.disposeDoc();
|
||||||
this._doc = doc.blockCollection.getDoc({
|
this._doc = doc.blockCollection.getDoc({
|
||||||
query: this._query,
|
query: this._query,
|
||||||
});
|
});
|
||||||
@@ -232,9 +233,15 @@ export class TextRenderer extends WithDisposable(ShadowlessElement) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private disposeDoc() {
|
||||||
|
this._doc?.dispose();
|
||||||
|
this._doc?.collection.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
override disconnectedCallback() {
|
override disconnectedCallback() {
|
||||||
super.disconnectedCallback();
|
super.disconnectedCallback();
|
||||||
this._clearTimer();
|
this._clearTimer();
|
||||||
|
this.disposeDoc();
|
||||||
}
|
}
|
||||||
|
|
||||||
override render() {
|
override render() {
|
||||||
|
|||||||
@@ -194,7 +194,6 @@ export async function markDownToDoc(
|
|||||||
const collection = new DocCollection({
|
const collection = new DocCollection({
|
||||||
schema,
|
schema,
|
||||||
});
|
});
|
||||||
collection.awarenessStore.awareness.destroy();
|
|
||||||
collection.meta.initialize();
|
collection.meta.initialize();
|
||||||
const middlewares = [defaultImageProxyMiddleware];
|
const middlewares = [defaultImageProxyMiddleware];
|
||||||
if (additionalMiddlewares) {
|
if (additionalMiddlewares) {
|
||||||
|
|||||||
@@ -150,5 +150,7 @@ export const copyText = async (host: EditorHost, text: string) => {
|
|||||||
.flatMap(model => model.children);
|
.flatMap(model => model.children);
|
||||||
const slice = Slice.fromModels(previewDoc, models);
|
const slice = Slice.fromModels(previewDoc, models);
|
||||||
await host.std.clipboard.copySlice(slice);
|
await host.std.clipboard.copySlice(slice);
|
||||||
|
previewDoc.dispose();
|
||||||
|
previewDoc.collection.dispose();
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -98,6 +98,7 @@ export const linkPreviewContainer = style({
|
|||||||
});
|
});
|
||||||
|
|
||||||
export const linkPreview = style({
|
export const linkPreview = style({
|
||||||
|
cursor: 'default',
|
||||||
border: `0.5px solid ${cssVarV2('backlinks/blockBorder')}`,
|
border: `0.5px solid ${cssVarV2('backlinks/blockBorder')}`,
|
||||||
borderRadius: '8px',
|
borderRadius: '8px',
|
||||||
padding: '8px',
|
padding: '8px',
|
||||||
@@ -111,6 +112,10 @@ export const linkPreview = style({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
globalStyle(`${linkPreview} *`, {
|
||||||
|
cursor: 'default',
|
||||||
|
});
|
||||||
|
|
||||||
export const linkPreviewRenderer = style({
|
export const linkPreviewRenderer = style({
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user