|
|
@@ -0,0 +1,83 @@ |
|
|
|
<template> |
|
|
|
|
|
|
|
<div @hide="hideLinkMenu" class="menubar char-menubar"> |
|
|
|
|
|
|
|
<div v-bind:key="opt.label" v-for="opt in environment.getCharacterOptions()" class="dropdown"> |
|
|
|
<button class="dropbtn border-left">{{opt.label|capitalize}}</button> |
|
|
|
<div class="dropdown-content"> |
|
|
|
<a v-for="style in opt.styles" v-bind:key="style.label"> |
|
|
|
<button |
|
|
|
class="menubar__button" |
|
|
|
:class="{ 'is-active': slots.isActive.customstyle({ type: style.class }) }" |
|
|
|
@click="slots.commands.customstyle({ type: style.class })"> |
|
|
|
{{style.label | capitalize}} |
|
|
|
</button> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<form class="menububble__form" v-if="linkMenuIsActive" |
|
|
|
@submit.prevent="setLinkUrl(slots.commands.link, linkUrl)"> |
|
|
|
<input class="menububble__input" type="text" v-model="linkUrl" placeholder="https://" |
|
|
|
ref="linkInput" @keydown.esc="hideLinkMenu"/> |
|
|
|
<button class="menububble__button" @click="setLinkUrl(slots.commands.link, null)" type="button"> |
|
|
|
Supprimer le lien |
|
|
|
</button> |
|
|
|
</form> |
|
|
|
|
|
|
|
<template v-else> |
|
|
|
<button id="link__button" |
|
|
|
class="menububble__button" |
|
|
|
@click="showLinkMenu(slots.getMarkAttrs('link'))" |
|
|
|
:class="{ 'is-active': slots.isActive.link() }" |
|
|
|
> |
|
|
|
<span>{{ slots.isActive.link() ? 'Modifier le lien' : 'Lien'}}</span> |
|
|
|
</button> |
|
|
|
</template> |
|
|
|
</div> |
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
props: ["slots","environment"], |
|
|
|
components: {}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
linkUrl: null, |
|
|
|
linkMenuIsActive: false, |
|
|
|
} |
|
|
|
}, |
|
|
|
beforeDestroy() { |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
mounted() { |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
|
|
|
|
showLinkMenu(attrs) { |
|
|
|
this.linkUrl = attrs.href |
|
|
|
this.linkMenuIsActive = true |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs.linkInput.focus() |
|
|
|
}) |
|
|
|
}, |
|
|
|
hideLinkMenu() { |
|
|
|
this.linkUrl = null |
|
|
|
this.linkMenuIsActive = false |
|
|
|
}, |
|
|
|
setLinkUrl(command, url) { |
|
|
|
command({href: url}) |
|
|
|
this.hideLinkMenu() |
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|