This commit is contained in:
2020-04-19 00:25:33 +00:00
parent 678d47d65c
commit 0f0a6243b9

View File

@@ -37,13 +37,13 @@
<!-- BUTTONS --> <!-- BUTTONS -->
<v-col v-if="showDesigner()" :cols="12"> <v-col v-if="showDesigner()" :cols="12">
<div> <div>
<v-btn depressed tile @click="clickBold"> <v-btn depressed tile @click="editClick('bold')">
<v-icon>fa-bold</v-icon></v-btn <v-icon>fa-bold</v-icon></v-btn
> >
<v-btn depressed tile @click="clickItalic"> <v-btn depressed tile @click="editClick('italic')">
<v-icon>fa-italic</v-icon></v-btn <v-icon>fa-italic</v-icon></v-btn
> >
<v-btn depressed tile @click="clickStrike"> <v-btn depressed tile @click="editClick('strike')">
<v-icon>fa-strikethrough</v-icon></v-btn <v-icon>fa-strikethrough</v-icon></v-btn
> >
@@ -54,32 +54,32 @@
</v-btn> </v-btn>
</template> </template>
<v-list> <v-list>
<v-list-item @click="clickHeading(1)"> <v-list-item @click="editClick('heading', 1)">
<v-list-item-title <v-list-item-title
><h1>{{ $ay.t("Heading") }} 1</h1></v-list-item-title ><h1>{{ $ay.t("Heading") }} 1</h1></v-list-item-title
> >
</v-list-item> </v-list-item>
<v-list-item @click="clickHeading(2)"> <v-list-item @click="editClick('heading', 2)">
<v-list-item-title <v-list-item-title
><h2>{{ $ay.t("Heading") }} 2</h2></v-list-item-title ><h2>{{ $ay.t("Heading") }} 2</h2></v-list-item-title
> >
</v-list-item> </v-list-item>
<v-list-item @click="clickHeading(3)"> <v-list-item @click="editClick('heading', 3)">
<v-list-item-title <v-list-item-title
><h3>{{ $ay.t("Heading") }} 3</h3></v-list-item-title ><h3>{{ $ay.t("Heading") }} 3</h3></v-list-item-title
> >
</v-list-item> </v-list-item>
<v-list-item @click="clickHeading(4)"> <v-list-item @click="editClick('heading', 4)">
<v-list-item-title <v-list-item-title
><h4>{{ $ay.t("Heading") }} 4</h4></v-list-item-title ><h4>{{ $ay.t("Heading") }} 4</h4></v-list-item-title
> >
</v-list-item> </v-list-item>
<v-list-item @click="clickHeading(5)"> <v-list-item @click="editClick('heading', 5)">
<v-list-item-title <v-list-item-title
><h5>{{ $ay.t("Heading") }} 5</h5></v-list-item-title ><h5>{{ $ay.t("Heading") }} 5</h5></v-list-item-title
> >
</v-list-item> </v-list-item>
<v-list-item @click="clickHeading(6)"> <v-list-item @click="editClick('heading', 6)">
<v-list-item-title <v-list-item-title
><h6>{{ $ay.t("Heading") }} 6</h6></v-list-item-title ><h6>{{ $ay.t("Heading") }} 6</h6></v-list-item-title
> >
@@ -87,19 +87,19 @@
</v-list> </v-list>
</v-menu> </v-menu>
<v-btn depressed tile class="ml-1" @click="clickLine"> <v-btn depressed tile class="ml-1" @click="editClick('line')">
<v-icon>fa-minus</v-icon></v-btn <v-icon>fa-minus</v-icon></v-btn
> >
<v-btn depressed tile @click="clickQuote"> <v-btn depressed tile @click="editClick('quote')">
<v-icon>fa-quote-left</v-icon></v-btn <v-icon>fa-quote-left</v-icon></v-btn
> >
<v-btn depressed tile @click="clickUl"> <v-btn depressed tile @click="editClick('ul')">
<v-icon>fa-list-ul</v-icon></v-btn <v-icon>fa-list-ul</v-icon></v-btn
> >
<v-btn depressed tile @click="clickOl"> <v-btn depressed tile @click="editClick('ol')">
<v-icon>fa-list-ol</v-icon></v-btn <v-icon>fa-list-ol</v-icon></v-btn
> >
<v-btn depressed tile @click="clickTask"> <v-btn depressed tile @click="editClick('task')">
<v-icon>fa-check-square</v-icon></v-btn <v-icon>fa-check-square</v-icon></v-btn
> >
@@ -143,7 +143,7 @@
<v-btn text @click="tableMenu = false">{{ <v-btn text @click="tableMenu = false">{{
$ay.t("Cancel") $ay.t("Cancel")
}}</v-btn> }}</v-btn>
<v-btn color="primary" text @click="clickTable">{{ <v-btn color="primary" text @click="editClick('table')">{{
$ay.t("OK") $ay.t("OK")
}}</v-btn> }}</v-btn>
</v-card-actions> </v-card-actions>
@@ -181,18 +181,20 @@
<v-btn text @click="linkMenu = false">{{ <v-btn text @click="linkMenu = false">{{
$ay.t("Cancel") $ay.t("Cancel")
}}</v-btn> }}</v-btn>
<v-btn color="primary" text @click="clickLink">{{ <v-btn color="primary" text @click="editClick('link')">{{
$ay.t("OK") $ay.t("OK")
}}</v-btn> }}</v-btn>
</v-card-actions> </v-card-actions>
</v-card> </v-card>
</v-menu> </v-menu>
<v-btn depressed tile> <v-icon>fa-image</v-icon></v-btn> <v-btn depressed tile @click="editClick('image')">
<v-btn depressed tile class="ml-1" @click="clickCode"> <v-icon>fa-image</v-icon></v-btn
>
<v-btn depressed tile class="ml-1" @click="editClick('code')">
<v-icon>fa-code</v-icon></v-btn <v-icon>fa-code</v-icon></v-btn
> >
<v-btn depressed tile @click="clickCodeBlock"> <v-btn depressed tile @click="editClick('codeblock')">
<v-icon>fa-square-full</v-icon></v-btn <v-icon>fa-square-full</v-icon></v-btn
> >
</div> </div>
@@ -490,40 +492,105 @@ export default {
visibleIcon() { visibleIcon() {
return this.wikiVisible ? "fa-eye-slash" : "fa-eye"; return this.wikiVisible ? "fa-eye-slash" : "fa-eye";
}, },
//EDITING
clickBold() { editClick(editType, ex) {
this.getSelectedRange(); if (editType != "heading") {
this.replaceSelectedText("**" + this.getSelectedText() + "**"); this.getSelectedRange();
this.handleInput(this.localVal); }
}, switch (editType) {
clickItalic() { case "bold":
this.getSelectedRange(); this.replaceSelectedText("**" + this.getSelectedText() + "**");
this.replaceSelectedText("*" + this.getSelectedText() + "*"); break;
}, case "italic":
clickStrike() { this.replaceSelectedText("*" + this.getSelectedText() + "*");
this.getSelectedRange(); break;
this.replaceSelectedText("~~" + this.getSelectedText() + "~~"); case "strike":
}, this.replaceSelectedText("~~" + this.getSelectedText() + "~~");
clickHeading(h) { break;
this.getSelectedRange(true); case "line":
let prepend = "#".repeat(h) + " "; this.replaceSelectedText("***");
// if (this.selection.hasSelection) { break;
let s = this.getSelectedBlock(); case "heading":
this.getSelectedRange(true); //special forces
s = s.replace(/\n/gi, "\n" + prepend); {
if (s.length > 0 && s[0] != "\n") { let prepend = "#".repeat(ex) + " ";
s = prepend + s; let s = this.getSelectedBlock();
s = s.replace(/\n/gi, "\n" + prepend);
if (s.length > 0 && s[0] != "\n") {
s = prepend + s;
}
}
this.replaceSelectedBlock(s);
break;
case "code":
throw "NOT IMPLEMENTED";
break;
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;
} }
this.replaceSelectedBlock(s); //emit input event to parent form for dirty tracking
// } else { this.handleInput(this.localVal);
// this.replaceSelectedText("\n" + prepend);
// }
},
clickLine() {
this.getSelectedRange();
this.replaceSelectedText("***");
}, },
// 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() { clickCode() {
this.getSelectedRange(); this.getSelectedRange();
this.replaceSelectedText("`" + this.getSelectedText() + "`"); this.replaceSelectedText("`" + this.getSelectedText() + "`");