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