|
|
|
@ -114,49 +114,49 @@
|
|
|
|
|
span {{$t('editor:markup.insertLink')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p1s(icon, tile, v-on='on', dark, @click='toggleModal(`editorModalMedia`)').mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p1s(icon, tile, v-on='on', dark, @click='toggleModal(`editorModalMedia`)').mx-0
|
|
|
|
|
v-icon(:color='activeModal === `editorModalMedia` ? `teal` : ``') mdi-folder-multiple-image
|
|
|
|
|
span {{$t('editor:markup.insertAssets')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p2s(icon, tile, v-on='on', dark, @click='toggleModal(`editorModalBlocks`)').mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p2s(icon, tile, v-on='on', dark, @click='toggleModal(`editorModalBlocks`)', disabled).mx-0
|
|
|
|
|
v-icon(:color='activeModal === `editorModalBlocks` ? `teal` : ``') mdi-view-dashboard-outline
|
|
|
|
|
span {{$t('editor:markup.insertBlock')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p3s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p3s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-icon mdi-code-braces
|
|
|
|
|
span {{$t('editor:markup.insertCodeBlock')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p4s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p4s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-icon mdi-library-video
|
|
|
|
|
span {{$t('editor:markup.insertVideoAudio')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p5s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p5s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-icon mdi-chart-multiline
|
|
|
|
|
span {{$t('editor:markup.insertDiagram')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p6s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p6s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-icon mdi-function-variant
|
|
|
|
|
span {{$t('editor:markup.insertMathExpression')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p7s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p7s(icon, tile, v-on='on', dark, disabled).mx-0
|
|
|
|
|
v-icon mdi-table-plus
|
|
|
|
|
span {{$t('editor:markup.tableHelper')}}
|
|
|
|
|
template(v-if='$vuetify.breakpoint.mdAndUp')
|
|
|
|
|
v-spacer
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p8s(icon, tile, v-on='on', dark, @click='toggleFullscreen').mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p8s(icon, tile, v-on='on', dark, @click='toggleFullscreen').mx-0
|
|
|
|
|
v-icon mdi-arrow-expand-all
|
|
|
|
|
span {{$t('editor:markup.distractionFreeMode')}}
|
|
|
|
|
v-tooltip(right, color='teal')
|
|
|
|
|
template(v-slot:activator='{ on }')
|
|
|
|
|
v-btn.animated.fadeInLeft.wait-p9s(icon, tile, v-on='on', dark, @click='toggleHelp').mx-0
|
|
|
|
|
v-btn.mt-3.animated.fadeInLeft.wait-p9s(icon, tile, v-on='on', dark, @click='toggleHelp').mx-0
|
|
|
|
|
v-icon(:color='helpShown ? `teal` : ``') mdi-help-circle
|
|
|
|
|
span {{$t('editor:markup.markdownFormattingHelp')}}
|
|
|
|
|
.editor-markdown-editor
|
|
|
|
@ -384,7 +384,7 @@ export default {
|
|
|
|
|
}, 500),
|
|
|
|
|
onCmPaste (cm, ev) {
|
|
|
|
|
const clipItems = (ev.clipboardData || ev.originalEvent.clipboardData).items
|
|
|
|
|
for (const clipItem of clipItems) {
|
|
|
|
|
for (let clipItem of clipItems) {
|
|
|
|
|
if (_.startsWith(clipItem.type, 'image/')) {
|
|
|
|
|
const file = clipItem.getAsFile()
|
|
|
|
|
const reader = new FileReader()
|
|
|
|
|