all working again after re-org of editing code

This commit is contained in:
2020-04-19 00:35:16 +00:00
parent 0f0a6243b9
commit ecf3b25b5a

View File

@@ -511,40 +511,134 @@ export default {
this.replaceSelectedText("***");
break;
case "heading":
this.getSelectedRange(true); //special forces
{
this.getSelectedRange(true); //special forces
let prepend = "#".repeat(ex) + " ";
let s = this.getSelectedBlock();
s = s.replace(/\n/gi, "\n" + prepend);
if (s.length > 0 && s[0] != "\n") {
s = prepend + s;
}
this.replaceSelectedBlock(s);
}
this.replaceSelectedBlock(s);
break;
case "code":
throw "NOT IMPLEMENTED";
this.replaceSelectedText("`" + this.getSelectedText() + "`");
break;
case "codeblock":
throw "NOT IMPLEMENTED";
this.replaceSelectedBlock(
"\n```\n" + this.getSelectedBlock() + "\n```\n"
);
break;
case "quote":
throw "NOT IMPLEMENTED";
if (this.selection.hasSelection) {
this.replaceSelectedBlock("\n>" + this.getSelectedBlock() + "\n");
} else {
this.replaceSelectedText("\n>");
}
break;
case "ul":
throw "NOT IMPLEMENTED";
{
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* ");
}
}
break;
case "ol":
throw "NOT IMPLEMENTED";
{
if (this.selection.hasSelection) {
let s = this.getSelectedBlock();
// console.log("Selected block:[" + s + "]");
let ret = "\n1. ";
let listItem = 1;
for (let i = 0; i < s.length; i++) {
if (s[i] == "\n") {
++listItem;
ret += "\n" + listItem + ". ";
} else {
ret += s[i];
}
}
ret += "\n\n";
// console.log("RET:[" + ret + "]");
this.replaceSelectedBlock(ret);
} else {
this.replaceSelectedText("\n1. ");
}
}
break;
case "task":
throw "NOT IMPLEMENTED";
{
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* [ ] ");
}
}
break;
case "table":
throw "NOT IMPLEMENTED";
{
this.tableMenu = false;
//| Column 1 | Column 2 | Column 3 |
//| -------- | -------- | -------- |
//| John | Doe | Male |
//| Mary | Smith | Female |
this.getSelectedRange();
let t = "\n";
//Header
//| CCC | CCC | CCC |
for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| CCC ";
}
t += "|\n";
//Divider
//| --- | --- | --- |
for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| --- ";
}
t += "|\n";
//Rows
//| XXX | XXX | XXX |
for (let r = 0; r < this.tableMenuRows; r++) {
for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| XXX ";
}
t += "|\n";
}
this.replaceSelectedText(t);
}
break;
case "link":
throw "NOT IMPLEMENTED";
{
this.linkMenu = false;
let url = this.linkUrl;
//force it to a full url so it doesn't attempt to open it as a SPA window
if (!url.includes(":")) {
url = "https://" + url;
}
let t = "[" + this.linkText + "](" + url + ")";
// [MY Awesome LINK](www.ayanova.com)
this.replaceSelectedText(t);
}
break;
case "image":
throw "NOT IMPLEMENTED";
@@ -557,7 +651,17 @@ export default {
//emit input event to parent form for dirty tracking
this.handleInput(this.localVal);
},
openLinkMenu(e) {
e.preventDefault();
this.linkMenu = false;
this.getSelectedRange();
this.linkText = this.getSelectedText();
this.linkMenuX = e.clientX;
this.linkMenuY = e.clientY;
this.$nextTick(() => {
this.linkMenu = true;
});
}
// clickBold() {
// this.getSelectedRange();
// this.replaceSelectedText("**" + this.getSelectedText() + "**");
@@ -591,141 +695,131 @@ export default {
// this.getSelectedRange();
// this.replaceSelectedText("***");
// },
clickCode() {
this.getSelectedRange();
this.replaceSelectedText("`" + this.getSelectedText() + "`");
},
clickCodeBlock() {
this.getSelectedRange();
this.replaceSelectedBlock(
"\n```\n" + this.getSelectedBlock() + "\n```\n"
);
},
// clickCode() {
// this.getSelectedRange();
// this.replaceSelectedText("`" + this.getSelectedText() + "`");
// },
// clickCodeBlock() {
// this.getSelectedRange();
// this.replaceSelectedBlock(
// "\n```\n" + this.getSelectedBlock() + "\n```\n"
// );
// },
clickQuote() {
this.getSelectedRange();
if (this.selection.hasSelection) {
this.replaceSelectedBlock("\n>" + this.getSelectedBlock() + "\n");
} else {
this.replaceSelectedText("\n>");
}
},
clickUl() {
//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();
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();
if (this.selection.hasSelection) {
let s = this.getSelectedBlock();
// console.log("Selected block:[" + s + "]");
let ret = "\n1. ";
let listItem = 1;
for (let i = 0; i < s.length; i++) {
if (s[i] == "\n") {
++listItem;
ret += "\n" + listItem + ". ";
} else {
ret += s[i];
}
}
ret += "\n\n";
// console.log("RET:[" + ret + "]");
this.replaceSelectedBlock(ret);
} else {
this.replaceSelectedText("\n1. ");
}
},
clickTask() {
this.getSelectedRange();
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* [ ] ");
}
},
clickTable() {
this.tableMenu = false;
//| Column 1 | Column 2 | Column 3 |
//| -------- | -------- | -------- |
//| John | Doe | Male |
//| Mary | Smith | Female |
this.getSelectedRange();
// clickQuote() {
// this.getSelectedRange();
// if (this.selection.hasSelection) {
// this.replaceSelectedBlock("\n>" + this.getSelectedBlock() + "\n");
// } else {
// this.replaceSelectedText("\n>");
// }
// },
// clickUl() {
// //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();
// 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();
// if (this.selection.hasSelection) {
// let s = this.getSelectedBlock();
// // console.log("Selected block:[" + s + "]");
// let ret = "\n1. ";
// let listItem = 1;
// for (let i = 0; i < s.length; i++) {
// if (s[i] == "\n") {
// ++listItem;
// ret += "\n" + listItem + ". ";
// } else {
// ret += s[i];
// }
// }
// ret += "\n\n";
// // console.log("RET:[" + ret + "]");
// this.replaceSelectedBlock(ret);
// } else {
// this.replaceSelectedText("\n1. ");
// }
// },
// clickTask() {
// this.getSelectedRange();
// 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* [ ] ");
// }
// },
// clickTable() {
// this.tableMenu = false;
// //| Column 1 | Column 2 | Column 3 |
// //| -------- | -------- | -------- |
// //| John | Doe | Male |
// //| Mary | Smith | Female |
// this.getSelectedRange();
let t = "\n";
// let t = "\n";
//Header
//| CCC | CCC | CCC |
for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| CCC ";
}
t += "|\n";
// //Header
// //| CCC | CCC | CCC |
// for (let c = 0; c < this.tableMenuColumns; c++) {
// t += "| CCC ";
// }
// t += "|\n";
//Divider
//| --- | --- | --- |
for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| --- ";
}
t += "|\n";
// //Divider
// //| --- | --- | --- |
// for (let c = 0; c < this.tableMenuColumns; c++) {
// t += "| --- ";
// }
// t += "|\n";
//Rows
//| XXX | XXX | XXX |
for (let r = 0; r < this.tableMenuRows; r++) {
for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| XXX ";
}
t += "|\n";
}
// //Rows
// //| XXX | XXX | XXX |
// for (let r = 0; r < this.tableMenuRows; r++) {
// for (let c = 0; c < this.tableMenuColumns; c++) {
// t += "| XXX ";
// }
// t += "|\n";
// }
this.replaceSelectedText(t);
},
openLinkMenu(e) {
e.preventDefault();
this.linkMenu = false;
this.getSelectedRange();
this.linkText = this.getSelectedText();
this.linkMenuX = e.clientX;
this.linkMenuY = e.clientY;
this.$nextTick(() => {
this.linkMenu = true;
});
},
clickLink() {
this.linkMenu = false;
this.getSelectedRange();
// this.replaceSelectedText(t);
// },
//this.linkUrl
//this.linkText
let url = this.linkUrl;
//force it to an external url
if (!url.includes(":")) {
url = "https://" + url;
}
let t = "[" + this.linkText + "](" + url + ")";
// [MY Awesome LINK](www.ayanova.com)
// clickLink() {
// this.linkMenu = false;
// this.getSelectedRange();
this.replaceSelectedText(t);
}
// //this.linkUrl
// //this.linkText
// let url = this.linkUrl;
// //force it to an external url
// if (!url.includes(":")) {
// url = "https://" + url;
// }
// let t = "[" + this.linkText + "](" + url + ")";
// // [MY Awesome LINK](www.ayanova.com)
// this.replaceSelectedText(t);
// }
}
};