Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/text.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/MenuBar.vue')
-rw-r--r--src/components/MenuBar.vue22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/components/MenuBar.vue b/src/components/MenuBar.vue
index 73b83a1da..0b9fcb069 100644
--- a/src/components/MenuBar.vue
+++ b/src/components/MenuBar.vue
@@ -25,7 +25,16 @@
<div class="menubar" :class="{ 'is-focused': focused, 'autohide': autohide }">
<div v-if="isRichEditor" ref="menubar" class="menubar-icons">
<template v-for="(icon, $index) in allIcons">
- <button v-if="icon.class"
+ <EmojiPicker v-if="icon.class === 'icon-emoji'"
+ :key="icon.label"
+ class="menuitem-emoji"
+ @select="emojiObject => addEmoji(commands, allIcons.find(i => i.class === 'icon-emoji'), emojiObject)">
+ <button class="icon-emoji"
+ :title="t('text', 'Insert emoji')"
+ :aria-label="t('text', 'Insert emoji')"
+ :aria-haspopup="true" />
+ </EmojiPicker>
+ <button v-else-if="icon.class"
v-show="$index < iconCount"
:key="icon.label"
:title="icon.label"
@@ -48,7 +57,7 @@
</template>
<Actions>
<template v-for="(icon, $index) in allIcons">
- <ActionButton v-if="icon.class && isHiddenInMenu($index)"
+ <ActionButton v-if="icon.class && isHiddenInMenu($index) && !(icon.class === 'icon-emoji')"
:key="icon.class"
:icon="icon.class"
@click="clickIcon(commands, icon)">
@@ -81,6 +90,7 @@ import { optimalPath } from './../helpers/files'
import Actions from '@nextcloud/vue/dist/Components/Actions'
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import PopoverMenu from '@nextcloud/vue/dist/Components/PopoverMenu'
+import EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker'
import ClickOutside from 'vue-click-outside'
import { getCurrentUser } from '@nextcloud/auth'
@@ -91,6 +101,7 @@ export default {
ActionButton,
PopoverMenu,
Actions,
+ EmojiPicker,
},
directives: {
Tooltip,
@@ -208,7 +219,7 @@ export default {
this.windowWidth // eslint-disable-line
const menuBarWidth = this.$refs.menubar && this.$refs.menubar.clientWidth > 200 ? this.$refs.menubar.clientWidth : 200
const iconCount = Math.max((Math.floor(menuBarWidth / 44) - 2), 0)
- return iconCount
+ return iconCount - 1
},
imagePath() {
return this.lastImagePath
@@ -318,6 +329,9 @@ export default {
}
return current.fill('..').concat(target).join('/')
},
+ addEmoji(commands, icon, emojiObject) {
+ return icon.action(commands, emojiObject)
+ },
},
}
</script>
@@ -407,7 +421,7 @@ export default {
}
}
- .menubar .submenu {
+ .menubar .submenu, .menubar .menuitem-emoji {
display: inline-block;
width: 44px;
height: 44px;