Skip to content

Commit 01d5660

Browse files
committed
[antoniandre#125] Add an option to open link in a new tab.
1 parent 857992a commit 01d5660

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

src/components/vueperslides/vueperslide.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
component.vueperslide(
33
:is="link ? 'a' : 'div'"
44
:href="link && !justDragged ? link : false"
5+
:target="link && openInNew ? '_blank' : '_self'"
56
:class="slideClasses"
67
:face="slideFace3d"
78
:style="slideStyles"
@@ -45,14 +46,15 @@ component.vueperslide(
4546
export default {
4647
inject: ['slides', 'touch', 'updateSlide', 'addClone', 'addSlide', 'removeSlide'],
4748
props: {
48-
clone: { type: Boolean, default: false },
49+
clone: { type: Boolean },
4950
image: { type: String, default: '' },
5051
video: { type: [String, Object], default: '' },
5152
title: { type: String, default: '' },
5253
content: { type: String, default: '' },
5354
link: { type: String, default: '' },
5455
duration: { type: Number, default: 0 },
55-
lazyloaded: { type: Boolean, default: false }
56+
lazyloaded: { type: Boolean },
57+
openInNew: { type: Boolean }
5658
},
5759
emits: ['mouse-enter', 'mouse-leave'],
5860

src/documentation/index.vue

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -545,8 +545,19 @@
545545
p.
546546
By default, you can put a link on the title or the description of the slide.#[br]
547547
But if you need to, you can also wrap the whole slide into a link using the #[span.code link] attribute of the #[span.code <vueperslide>] component.
548+
549+
highlight(type="info").
550+
You can also open the link in a new tab with the option: #[code open-in-new] that you can add on
551+
each #[span.code <vueper-slide>] tag.
548552
vueper-slides.text-center.my-4.ex--link-on-the-whole-slide(:dragging-distance="50")
549-
vueper-slide(v-for="(slide, i) in slides2" :key="i" :image="slide.image" :title="slide.title" :content="slide.content" :link="slide.link")
553+
vueper-slide(
554+
v-for="(slide, i) in slides2"
555+
:key="i"
556+
:image="slide.image"
557+
:title="slide.title"
558+
:content="slide.content"
559+
:link="slide.link"
560+
:open-in-new="!i")
550561
ssh-pre(language="html-vue" label="HTML Vue Template").
551562
<vueper-slides :dragging-distance="50">
552563
<vueper-slide
@@ -2047,11 +2058,12 @@
20472058
a(id="vueper-slide--settings" name="vueper-slide--settings")
20482059
p The following options can be applied to every #[span.code <vueper-slide>] tag.
20492060
ssh-pre(language="js").
2050-
image: [String], default: ''
2051-
title: [String], default: ''
2052-
content: [String], default: ''
2053-
link: [String], default: ''
2054-
duration: [Number], default: 0 // Override the global slide duration when autoplaying.
2061+
image: [String], default: ''
2062+
title: [String], default: ''
2063+
content: [String], default: ''
2064+
link: [String], default: ''
2065+
openInNew: [Boolean], default: false // Open a link in a new tab.
2066+
duration: [Number], default: 0 // Override the global slide duration when autoplaying.
20552067
h3
20562068
a(href="#vueper-slide--events" v-scroll-to="'#vueper-slide--events'") Events
20572069
a(id="vueper-slide--events" name="vueper-slide--events")

0 commit comments

Comments
 (0)