feat: tooltip and popover components

This commit is contained in:
Liyas Thomas
2021-07-02 16:30:08 +00:00
committed by GitHub
parent eaf0da3d00
commit 0e443b3a43
63 changed files with 1172 additions and 1461 deletions

View File

@@ -57,55 +57,50 @@
</li>
<li>
<span class="select-wrapper">
<v-popover>
<input
class="input"
:placeholder="$t('permissions')"
:name="'value' + index"
:value="
typeof member.role === 'string'
? member.role
: JSON.stringify(member.role)
"
readonly
/>
<template #popover>
<div>
<button
v-close-popover
class="icon button"
@click="updateRole(index, 'OWNER')"
>
OWNER
</button>
</div>
<div>
<button
v-close-popover
class="icon button"
@click="updateRole(index, 'EDITOR')"
>
EDITOR
</button>
</div>
<div>
<button
v-close-popover
class="icon button"
@click="updateRole(index, 'VIEWER')"
>
VIEWER
</button>
</div>
<tippy trigger="click" theme="popover" arrow>
<template #trigger>
<input
class="input"
:placeholder="$t('permissions')"
:name="'value' + index"
:value="
typeof member.role === 'string'
? member.role
: JSON.stringify(member.role)
"
readonly
/>
</template>
</v-popover>
<div>
<button class="icon button" @click="updateRole(index, 'OWNER')">
OWNER
</button>
</div>
<div>
<button
class="icon button"
@click="updateRole(index, 'EDITOR')"
>
EDITOR
</button>
</div>
<div>
<button
class="icon button"
@click="updateRole(index, 'VIEWER')"
>
VIEWER
</button>
</div>
</tippy>
</span>
</li>
<div>
<li>
<button
id="member"
v-tooltip.bottom="$t('delete')"
v-tippy="{ theme: 'tooltip' }"
:title="$t('delete')"
class="icon button"
@click="removeExistingTeamMember(member.user.uid)"
>
@@ -137,55 +132,44 @@
</li>
<li>
<span class="select-wrapper">
<v-popover>
<input
class="input"
:placeholder="$t('permissions')"
:name="'value' + index"
:value="
typeof member.value === 'string'
? member.value
: JSON.stringify(member.value)
"
readonly
/>
<template #popover>
<div>
<button
v-close-popover
class="icon button"
@click="member.value = 'OWNER'"
>
OWNER
</button>
</div>
<div>
<button
v-close-popover
class="icon button"
@click="member.value = 'EDITOR'"
>
EDITOR
</button>
</div>
<div>
<button
v-close-popover
class="icon button"
@click="member.value = 'VIEWER'"
>
VIEWER
</button>
</div>
<tippy trigger="click" theme="popover" arrow>
<template #trigger>
<input
class="input"
:placeholder="$t('permissions')"
:name="'value' + index"
:value="
typeof member.value === 'string'
? member.value
: JSON.stringify(member.value)
"
readonly
/>
</template>
</v-popover>
<div>
<button class="icon button" @click="member.value = 'OWNER'">
OWNER
</button>
</div>
<div>
<button class="icon button" @click="member.value = 'EDITOR'">
EDITOR
</button>
</div>
<div>
<button class="icon button" @click="member.value = 'VIEWER'">
VIEWER
</button>
</div>
</tippy>
</span>
</li>
<div>
<li>
<button
id="member"
v-tooltip.bottom="$t('delete')"
v-tippy="{ theme: 'tooltip' }"
:title="$t('delete')"
class="icon button"
@click="removeTeamMember(index)"
>

View File

@@ -2,7 +2,8 @@
<div class="row-wrapper">
<div>
<button
v-tooltip.right="team.myRole === 'OWNER' ? $t('edit') : ''"
v-tippy="{ theme: 'tooltip' }"
title="team.myRole === 'OWNER' ? $t('edit') : ''"
class="icon button"
@click="team.myRole === 'OWNER' ? $emit('edit-team') : ''"
>
@@ -10,49 +11,49 @@
<span>{{ team.name }}</span>
</button>
</div>
<v-popover>
<button v-tooltip.left="$t('more')" class="tooltip-target icon button">
<i class="material-icons">more_vert</i>
</button>
<template #popover>
<div v-if="team.myRole === 'OWNER'">
<button
v-close-popover
class="icon button"
@click="$emit('edit-team')"
>
<i class="material-icons">create</i>
<span>{{ $t("edit") }}</span>
</button>
</div>
<div v-if="team.myRole === 'OWNER'">
<button v-close-popover class="icon button" @click="deleteTeam">
<i class="material-icons">delete</i>
<span>{{ $t("delete") }}</span>
</button>
</div>
<div>
<button
v-close-popover
class="icon button"
:disabled="team.myRole === 'OWNER' && team.ownersCount == 1"
@click="exitTeam"
>
<i class="material-icons">remove</i>
<div
v-tooltip.left="{
<tippy trigger="click" theme="popover" arrow>
<template #trigger>
<button
v-tippy="{ theme: 'tooltip' }"
:title="$t('more')"
class="tooltip-target icon button"
>
<i class="material-icons">more_vert</i>
</button>
</template>
<div v-if="team.myRole === 'OWNER'">
<button class="icon button" @click="$emit('edit-team')">
<i class="material-icons">create</i>
<span>{{ $t("edit") }}</span>
</button>
</div>
<div v-if="team.myRole === 'OWNER'">
<button class="icon button" @click="deleteTeam">
<i class="material-icons">delete</i>
<span>{{ $t("delete") }}</span>
</button>
</div>
<div>
<button
class="icon button"
:disabled="team.myRole === 'OWNER' && team.ownersCount == 1"
@click="exitTeam"
>
<i class="material-icons">remove</i>
<div
v-tippy="{ theme: 'tooltip' }"
title="{
content:
team.myRole === 'OWNER' && team.ownersCount == 1
? $t('disable_exit')
: '',
}"
>
<span>{{ $t("exit") }}</span>
</div>
</button>
</div>
</template>
</v-popover>
>
<span>{{ $t("exit") }}</span>
</div>
</button>
</div>
</tippy>
</div>
</template>