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,109 +511,34 @@ export default {
this.replaceSelectedText("***"); this.replaceSelectedText("***");
break; break;
case "heading": case "heading":
this.getSelectedRange(true); //special forces
{ {
this.getSelectedRange(true); //special forces
let prepend = "#".repeat(ex) + " "; let prepend = "#".repeat(ex) + " ";
let s = this.getSelectedBlock(); let s = this.getSelectedBlock();
s = s.replace(/\n/gi, "\n" + prepend); s = s.replace(/\n/gi, "\n" + prepend);
if (s.length > 0 && s[0] != "\n") { if (s.length > 0 && s[0] != "\n") {
s = prepend + s; s = prepend + s;
} }
}
this.replaceSelectedBlock(s); this.replaceSelectedBlock(s);
}
break; break;
case "code": case "code":
throw "NOT IMPLEMENTED"; this.replaceSelectedText("`" + this.getSelectedText() + "`");
break; break;
case "codeblock": case "codeblock":
throw "NOT IMPLEMENTED";
break;
case "quote":
throw "NOT IMPLEMENTED";
break;
case "ul":
throw "NOT IMPLEMENTED";
break;
case "ol":
throw "NOT IMPLEMENTED";
break;
case "task":
throw "NOT IMPLEMENTED";
break;
case "table":
throw "NOT IMPLEMENTED";
break;
case "link":
throw "NOT IMPLEMENTED";
break;
case "image":
throw "NOT IMPLEMENTED";
break;
default:
throw "NOT IMPLEMENTED";
break;
}
//emit input event to parent form for dirty tracking
this.handleInput(this.localVal);
},
// clickBold() {
// this.getSelectedRange();
// this.replaceSelectedText("**" + this.getSelectedText() + "**");
// this.handleInput(this.localVal);
// },
// clickItalic() {
// this.getSelectedRange();
// this.replaceSelectedText("*" + this.getSelectedText() + "*");
// // },
// clickStrike() {
// this.getSelectedRange();
// this.replaceSelectedText("~~" + this.getSelectedText() + "~~");
// },
// clickHeading(h) {
// this.getSelectedRange(true);
// let prepend = "#".repeat(h) + " ";
// // if (this.selection.hasSelection) {
// let s = this.getSelectedBlock();
// s = s.replace(/\n/gi, "\n" + prepend);
// if (s.length > 0 && s[0] != "\n") {
// s = prepend + s;
// }
// this.replaceSelectedBlock(s);
// // } else {
// // this.replaceSelectedText("\n" + prepend);
// // }
// },
// clickLine() {
// this.getSelectedRange();
// this.replaceSelectedText("***");
// },
clickCode() {
this.getSelectedRange();
this.replaceSelectedText("`" + this.getSelectedText() + "`");
},
clickCodeBlock() {
this.getSelectedRange();
this.replaceSelectedBlock( this.replaceSelectedBlock(
"\n```\n" + this.getSelectedBlock() + "\n```\n" "\n```\n" + this.getSelectedBlock() + "\n```\n"
); );
}, break;
case "quote":
clickQuote() {
this.getSelectedRange();
if (this.selection.hasSelection) { if (this.selection.hasSelection) {
this.replaceSelectedBlock("\n>" + this.getSelectedBlock() + "\n"); this.replaceSelectedBlock("\n>" + this.getSelectedBlock() + "\n");
} else { } else {
this.replaceSelectedText("\n>"); this.replaceSelectedText("\n>");
} }
}, break;
clickUl() { case "ul":
//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) { if (this.selection.hasSelection) {
let s = this.getSelectedBlock(); let s = this.getSelectedBlock();
s = s.replace(/\n/gi, "\n* "); s = s.replace(/\n/gi, "\n* ");
@@ -625,11 +550,10 @@ export default {
} else { } else {
this.replaceSelectedText("\n* "); this.replaceSelectedText("\n* ");
} }
}, }
clickOl() { break;
//if a selected block with several lines then prepend each line case "ol":
//if a selected block with one line only then prepend start of first line after last linefeed {
this.getSelectedRange();
if (this.selection.hasSelection) { if (this.selection.hasSelection) {
let s = this.getSelectedBlock(); let s = this.getSelectedBlock();
// console.log("Selected block:[" + s + "]"); // console.log("Selected block:[" + s + "]");
@@ -649,9 +573,10 @@ export default {
} else { } else {
this.replaceSelectedText("\n1. "); this.replaceSelectedText("\n1. ");
} }
}, }
clickTask() { break;
this.getSelectedRange(); case "task":
{
if (this.selection.hasSelection) { if (this.selection.hasSelection) {
let s = this.getSelectedBlock(); let s = this.getSelectedBlock();
s = s.replace(/\n/gi, "\n* [ ] "); s = s.replace(/\n/gi, "\n* [ ] ");
@@ -663,8 +588,10 @@ export default {
} else { } else {
this.replaceSelectedText("\n* [ ] "); this.replaceSelectedText("\n* [ ] ");
} }
}, }
clickTable() { break;
case "table":
{
this.tableMenu = false; this.tableMenu = false;
//| Column 1 | Column 2 | Column 3 | //| Column 1 | Column 2 | Column 3 |
//| -------- | -------- | -------- | //| -------- | -------- | -------- |
@@ -698,6 +625,31 @@ export default {
} }
this.replaceSelectedText(t); this.replaceSelectedText(t);
}
break;
case "link":
{
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";
break;
default:
throw "NOT IMPLEMENTED";
break;
}
//emit input event to parent form for dirty tracking
this.handleInput(this.localVal);
}, },
openLinkMenu(e) { openLinkMenu(e) {
e.preventDefault(); e.preventDefault();
@@ -709,23 +661,165 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
this.linkMenu = true; this.linkMenu = true;
}); });
},
clickLink() {
this.linkMenu = false;
this.getSelectedRange();
//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 + ")"; // clickBold() {
// [MY Awesome LINK](www.ayanova.com) // this.getSelectedRange();
// this.replaceSelectedText("**" + this.getSelectedText() + "**");
// this.handleInput(this.localVal);
// },
// clickItalic() {
// this.getSelectedRange();
// this.replaceSelectedText("*" + this.getSelectedText() + "*");
// // },
// clickStrike() {
// this.getSelectedRange();
// this.replaceSelectedText("~~" + this.getSelectedText() + "~~");
// },
// clickHeading(h) {
// this.getSelectedRange(true);
// let prepend = "#".repeat(h) + " ";
// // if (this.selection.hasSelection) {
// let s = this.getSelectedBlock();
this.replaceSelectedText(t); // s = s.replace(/\n/gi, "\n" + prepend);
} // if (s.length > 0 && s[0] != "\n") {
// s = prepend + s;
// }
// this.replaceSelectedBlock(s);
// // } else {
// // this.replaceSelectedText("\n" + prepend);
// // }
// },
// clickLine() {
// this.getSelectedRange();
// this.replaceSelectedText("***");
// },
// 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();
// 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);
// },
// clickLink() {
// this.linkMenu = false;
// this.getSelectedRange();
// //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);
// }
} }
}; };