Skip to content

Commit 62de667

Browse files
committed
refactor(CPopover, CTooltip): improve syntax
1 parent 30eac65 commit 62de667

File tree

4 files changed

+24
-33
lines changed

4 files changed

+24
-33
lines changed

packages/coreui-vue/src/components/popover/CPopover.ts

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,7 @@ import { defineComponent, h, PropType, ref, RendererElement, Teleport, Transitio
22
import { createPopper, Placement } from '@popperjs/core'
33

44
import { executeAfterTransition } from '../../utils/transition'
5-
import { isRTL } from '../../utils'
6-
7-
const getPlacement = (placement: string, element: HTMLDivElement | null): Placement => {
8-
switch (placement) {
9-
case 'right': {
10-
return isRTL(element) ? 'left' : 'right'
11-
}
12-
case 'left': {
13-
return isRTL(element) ? 'right' : 'left'
14-
}
15-
default: {
16-
return placement as Placement
17-
}
18-
}
19-
}
5+
import { getRTLPlacement } from '../../utils'
206

217
const CPopover = defineComponent({
228
name: 'CPopover',
@@ -109,7 +95,7 @@ const CPopover = defineComponent({
10995
const initPopper = () => {
11096
if (togglerRef.value) {
11197
popper.value = createPopper(togglerRef.value, popoverRef.value, {
112-
placement: getPlacement(props.placement, togglerRef.value),
98+
placement: getRTLPlacement(props.placement, togglerRef.value),
11399
modifiers: [
114100
{
115101
name: 'offset',

packages/coreui-vue/src/components/tooltip/CTooltip.ts

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,7 @@ import { defineComponent, h, PropType, ref, RendererElement, Teleport, Transitio
22
import { createPopper, Placement } from '@popperjs/core'
33

44
import { executeAfterTransition } from '../../utils/transition'
5-
import { isRTL } from '../../utils'
6-
7-
const getPlacement = (placement: string, element: HTMLDivElement | null): Placement => {
8-
switch (placement) {
9-
case 'right': {
10-
return isRTL(element) ? 'left' : 'right'
11-
}
12-
case 'left': {
13-
return isRTL(element) ? 'right' : 'left'
14-
}
15-
default: {
16-
return placement as Placement
17-
}
18-
}
19-
}
5+
import { getRTLPlacement } from '../../utils'
206

217
const CTooltip = defineComponent({
228
name: 'CTooltip',
@@ -105,7 +91,7 @@ const CTooltip = defineComponent({
10591
const initPopper = () => {
10692
if (togglerRef.value) {
10793
popper.value = createPopper(togglerRef.value, tooltipRef.value, {
108-
placement: getPlacement(props.placement, togglerRef.value),
94+
placement: getRTLPlacement(props.placement, togglerRef.value),
10995
modifiers: [
11096
{
11197
name: 'offset',
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { Placement } from '@popperjs/core'
2+
import { isRTL } from '../utils'
3+
4+
const getRTLPlacement = (placement: string, element: HTMLDivElement | null): Placement => {
5+
switch (placement) {
6+
case 'right': {
7+
return isRTL(element) ? 'left' : 'right'
8+
}
9+
case 'left': {
10+
return isRTL(element) ? 'right' : 'left'
11+
}
12+
default: {
13+
return placement as Placement
14+
}
15+
}
16+
}
17+
18+
export default getRTLPlacement
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
import getRTLPlacement from './getRTLPlacement'
12
import getUID from './getUID'
23
import isInViewport from './isInViewport'
34
import isRTL from './isRTL'
45

5-
export { getUID, isInViewport, isRTL }
6+
export { getRTLPlacement, getUID, isInViewport, isRTL }

0 commit comments

Comments
 (0)