Skip to content

Commit 1d7b5d6

Browse files
committed
fix(pages): allow replacing with empty text
1 parent cbdafbe commit 1d7b5d6

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

apps/client/src/code/pages/page/elems/find-and-replace.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { Editor } from '@tiptap/vue-3';
1+
import type { Editor, Range } from '@tiptap/vue-3';
22
import { scrollIntoView } from 'src/code/utils/scroll-into-view';
33
import type { UnwrapNestedRefs } from 'vue';
44

@@ -251,7 +251,7 @@ export class PageFindAndReplace {
251251
return;
252252
}
253253

254-
editor.commands.insertContentAt(result, replacement);
254+
replaceText(editor, result, replacement);
255255

256256
if (!replacement.includes(this.findTerm)) {
257257
this.resultIndex--;
@@ -268,9 +268,17 @@ export class PageFindAndReplace {
268268
for (const result of (editor.state as any).findAndReplace$.results
269269
.slice()
270270
.reverse()) {
271-
editor.commands.insertContentAt(result, replacement);
271+
replaceText(editor, result, replacement);
272272
}
273273
}
274274
}
275275
}
276276
}
277+
278+
function replaceText(editor: Editor, range: Range, replacement: string) {
279+
if (replacement !== '') {
280+
editor.commands.insertContentAt(range, replacement);
281+
} else {
282+
editor.commands.deleteRange(range);
283+
}
284+
}

0 commit comments

Comments
 (0)