all working again after re-org of editing code
This commit is contained in:
@@ -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);
|
||||
// }
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user