From 9e71436ae8dbae7d594c4279b3b69eaf6eb66262 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Sat, 18 Apr 2020 14:38:38 +0000 Subject: [PATCH] --- ayanova/src/components/wiki-control.vue | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/ayanova/src/components/wiki-control.vue b/ayanova/src/components/wiki-control.vue index 18b6388a..b8c5a4bb 100644 --- a/ayanova/src/components/wiki-control.vue +++ b/ayanova/src/components/wiki-control.vue @@ -360,14 +360,37 @@ export default { if (this.selection.hasSelection) { let s = this.getSelectedBlock(); s = s.replace(/\n/gi, "\n* "); + if (s.length > 0 && s[0] != "\n") { + s = "* " + s; + } + s = s + "\n"; this.replaceSelectedBlock(s); } else { this.replaceSelectedText("\n* "); } }, clickOl() { + //if a selected block with several lines then prepend each line + //if a selected block with one line only then prepend start of first line after last linefeed this.getSelectedRange(); - this.replaceSelectedText("* " + this.getSelectedText()); + if (this.selection.hasSelection) { + let s = this.getSelectedBlock(); + + let ret = ""; + let listItem = 0; + for (let i = 0; i < s.length; i++) { + if (s[i] == "\n") { + ++listItem; + ret += "\n" + listItem + ". "; + } else { + ret += s[i]; + } + } + ret += "\n"; + this.replaceSelectedBlock(ret); + } else { + this.replaceSelectedText("\n1. "); + } }, clickTask() { this.getSelectedRange();