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("***"); 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"; this.replaceSelectedBlock(
"\n```\n" + this.getSelectedBlock() + "\n```\n"
);
break; break;
case "quote": case "quote":
throw "NOT IMPLEMENTED"; if (this.selection.hasSelection) {
this.replaceSelectedBlock("\n>" + this.getSelectedBlock() + "\n");
} else {
this.replaceSelectedText("\n>");
}
break; break;
case "ul": 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; break;
case "ol": 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; break;
case "task": 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; break;
case "table": 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; break;
case "link": 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; break;
case "image": case "image":
throw "NOT IMPLEMENTED"; throw "NOT IMPLEMENTED";
@@ -557,7 +651,17 @@ export default {
//emit input event to parent form for dirty tracking //emit input event to parent form for dirty tracking
this.handleInput(this.localVal); 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() { // clickBold() {
// this.getSelectedRange(); // this.getSelectedRange();
// this.replaceSelectedText("**" + this.getSelectedText() + "**"); // this.replaceSelectedText("**" + this.getSelectedText() + "**");
@@ -591,141 +695,131 @@ export default {
// this.getSelectedRange(); // this.getSelectedRange();
// this.replaceSelectedText("***"); // this.replaceSelectedText("***");
// }, // },
clickCode() { // clickCode() {
this.getSelectedRange(); // this.getSelectedRange();
this.replaceSelectedText("`" + this.getSelectedText() + "`"); // this.replaceSelectedText("`" + this.getSelectedText() + "`");
}, // },
clickCodeBlock() { // clickCodeBlock() {
this.getSelectedRange(); // this.getSelectedRange();
this.replaceSelectedBlock( // this.replaceSelectedBlock(
"\n```\n" + this.getSelectedBlock() + "\n```\n" // "\n```\n" + this.getSelectedBlock() + "\n```\n"
); // );
}, // },
clickQuote() { // clickQuote() {
this.getSelectedRange(); // 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>");
} // }
}, // },
clickUl() { // clickUl() {
//if a selected block with several lines then prepend each line // //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 // //if a selected block with one line only then prepend start of first line after last linefeed
this.getSelectedRange(); // 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* ");
if (s.length > 0 && s[0] != "\n") { // if (s.length > 0 && s[0] != "\n") {
s = "* " + s; // s = "* " + s;
} // }
s = s + "\n"; // s = s + "\n";
this.replaceSelectedBlock(s); // this.replaceSelectedBlock(s);
} else { // } else {
this.replaceSelectedText("\n* "); // this.replaceSelectedText("\n* ");
} // }
}, // // },
clickOl() { // clickOl() {
//if a selected block with several lines then prepend each line // //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 // //if a selected block with one line only then prepend start of first line after last linefeed
this.getSelectedRange(); // 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 + "]");
let ret = "\n1. "; // let ret = "\n1. ";
let listItem = 1; // let listItem = 1;
for (let i = 0; i < s.length; i++) { // for (let i = 0; i < s.length; i++) {
if (s[i] == "\n") { // if (s[i] == "\n") {
++listItem; // ++listItem;
ret += "\n" + listItem + ". "; // ret += "\n" + listItem + ". ";
} else { // } else {
ret += s[i]; // ret += s[i];
} // }
} // }
ret += "\n\n"; // ret += "\n\n";
// console.log("RET:[" + ret + "]"); // // console.log("RET:[" + ret + "]");
this.replaceSelectedBlock(ret); // this.replaceSelectedBlock(ret);
} else { // } else {
this.replaceSelectedText("\n1. "); // this.replaceSelectedText("\n1. ");
} // }
}, // },
clickTask() { // clickTask() {
this.getSelectedRange(); // 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* [ ] ");
if (s.length > 0 && s[0] != "\n") { // if (s.length > 0 && s[0] != "\n") {
s = "* [ ] " + s; // s = "* [ ] " + s;
} // }
s = s + "\n"; // s = s + "\n";
this.replaceSelectedBlock(s); // this.replaceSelectedBlock(s);
} else { // } else {
this.replaceSelectedText("\n* [ ] "); // this.replaceSelectedText("\n* [ ] ");
} // }
}, // },
clickTable() { // clickTable() {
this.tableMenu = false; // this.tableMenu = false;
//| Column 1 | Column 2 | Column 3 | // //| Column 1 | Column 2 | Column 3 |
//| -------- | -------- | -------- | // //| -------- | -------- | -------- |
//| John | Doe | Male | // //| John | Doe | Male |
//| Mary | Smith | Female | // //| Mary | Smith | Female |
this.getSelectedRange(); // this.getSelectedRange();
let t = "\n"; // let t = "\n";
//Header // //Header
//| CCC | CCC | CCC | // //| CCC | CCC | CCC |
for (let c = 0; c < this.tableMenuColumns; c++) { // for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| CCC "; // t += "| CCC ";
} // }
t += "|\n"; // t += "|\n";
//Divider // //Divider
//| --- | --- | --- | // //| --- | --- | --- |
for (let c = 0; c < this.tableMenuColumns; c++) { // for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| --- "; // t += "| --- ";
} // }
t += "|\n"; // t += "|\n";
//Rows // //Rows
//| XXX | XXX | XXX | // //| XXX | XXX | XXX |
for (let r = 0; r < this.tableMenuRows; r++) { // for (let r = 0; r < this.tableMenuRows; r++) {
for (let c = 0; c < this.tableMenuColumns; c++) { // for (let c = 0; c < this.tableMenuColumns; c++) {
t += "| XXX "; // t += "| XXX ";
} // }
t += "|\n"; // t += "|\n";
} // }
this.replaceSelectedText(t); // 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.linkUrl // clickLink() {
//this.linkText // this.linkMenu = false;
let url = this.linkUrl; // this.getSelectedRange();
//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); // //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);
// }
} }
}; };