Refactor #3879 - For Inplace

This commit is contained in:
Tuğçe Küçükoğlu 2023-04-24 12:40:50 +03:00
parent d119005ac9
commit 6467a7d9e7
3 changed files with 73 additions and 5 deletions

View file

@ -1,14 +1,14 @@
<template>
<div v-focustrap :class="containerClass" aria-live="polite">
<div v-if="!d_active" ref="display" :class="displayClass" :tabindex="$attrs.tabindex || '0'" role="button" @click="open" @keydown.enter="open" v-bind="displayProps">
<div v-focustrap :class="containerClass" aria-live="polite" v-bind="ptm('root')">
<div v-if="!d_active" ref="display" :class="displayClass" :tabindex="$attrs.tabindex || '0'" role="button" @click="open" @keydown.enter="open" v-bind="{ ...displayProps, ...ptm('display') }">
<slot name="display"></slot>
</div>
<div v-else class="p-inplace-content">
<div v-else class="p-inplace-content" v-bind="ptm('content')">
<slot name="content"></slot>
<IPButton v-if="closable" :aria-label="closeAriaLabel" @click="close" v-bind="closeButtonProps">
<IPButton v-if="closable" :aria-label="closeAriaLabel" @click="close" v-bind="{ ...closeButtonProps, ...ptm('closeButton') }">
<template #icon>
<slot name="closeicon">
<component :is="closeIcon ? 'span' : 'TimesIcon'" :class="closeIcon"></component>
<component :is="closeIcon ? 'span' : 'TimesIcon'" :class="closeIcon" v-bind="ptm('closeIcon')"></component>
</slot>
</template>
</IPButton>
@ -17,12 +17,14 @@
</template>
<script>
import BaseComponent from 'primevue/basecomponent';
import Button from 'primevue/button';
import FocusTrap from 'primevue/focustrap';
import TimesIcon from 'primevue/icons/times';
export default {
name: 'Inplace',
extends: BaseComponent,
emits: ['open', 'close', 'update:active'],
props: {
closable: {