Skip to content

Commit 9dc7abc

Browse files
committed
Merge branch 'release/0.1.21'
2 parents a124672 + f29d7bb commit 9dc7abc

File tree

9 files changed

+171
-81
lines changed

9 files changed

+171
-81
lines changed

dist/vue-carousel-3d.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
"hexo-renderer-stylus": "^0.3.1",
1818
"hexo-server": "^0.2.0"
1919
}
20-
}
20+
}

docs/source/guide/index.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,20 @@ Once the **Carousel3d** and **Slide** components are installed globally or impor
5353
```
5454
Keep in mind that **index** property on slide component is required property and you will need to pass it for every slide starting from 0
5555

56+
## Scoped Slots
57+
58+
You can use scoped slots to access current slide index, left and right indexes
59+
60+
```html
61+
<carousel-3d>
62+
<slide v-for="(slide, i) in slides" :index="i" :key="i">
63+
<template slot-scope="{ index, isCurrent, leftIndex, rightIndex }">
64+
<img :data-index="index" :class="{ current: isCurrent, onLeft: (leftIndex >= 0), onRight: (rightIndex >= 0) }" :src="slide.src">
65+
</template>
66+
</slide>
67+
</carousel-3d>
68+
```
69+
5670
## Development
5771

5872
Dev environment is created by [vue-play](https://github.com/vue-play/vue-play). Changes made to the component files will appear in real time in the sandbox.

docs/themes/vue/source/js/vue-carousel-3d.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "vue-carousel-3d",
3-
"version": "0.1.20",
3+
"version": "0.1.21",
44
"description": "Beautiful, flexible and touch supported 3D Carousel for Vue.js",
55
"main": "dist/vue-carousel-3d.min.js",
66
"scripts": {

play/index.js

Lines changed: 66 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/* eslint-disable */
22

3-
import Vue from "vue"
4-
import {play} from "vue-play"
5-
import Carousel3d from "../src/Carousel3d.vue"
6-
import Slide from "../src/Slide.vue"
3+
import Vue from 'vue'
4+
import { play } from 'vue-play'
5+
import Carousel3d from '../src/Carousel3d.vue'
6+
import Slide from '../src/Slide.vue'
77

8-
play("Carousel3d", module)
8+
play('Carousel3d', module)
99

1010
const slides = [
1111
{
@@ -61,7 +61,7 @@ const slides = [
6161
]
6262

6363
play('Carousel3d', module)
64-
.add("default", {
64+
.add('default', {
6565
template: `<carousel-3d>
6666
<slide v-for="(slide, i) in slides" :index="i">
6767
<h1>{{slide.title}}</h1>
@@ -72,13 +72,13 @@ play('Carousel3d', module)
7272
Carousel3d,
7373
Slide
7474
},
75-
data() {
75+
data () {
7676
return {
7777
slides: slides
7878
}
7979
}
8080
})
81-
.add("images", {
81+
.add('images', {
8282
template: `<carousel-3d>
8383
<slide v-for="(slide, i) in slides" :index="i">
8484
<img :src="slide.src">
@@ -88,14 +88,14 @@ play('Carousel3d', module)
8888
Carousel3d,
8989
Slide
9090
},
91-
data() {
91+
data () {
9292
return {
9393
slides: slides
9494
}
9595
}
9696
})
9797

98-
.add("autoplay enabled", {
98+
.add('autoplay enabled', {
9999
template: `<carousel-3d :autoplay="true">
100100
<slide v-for="(slide, i) in slides" :index="i">
101101
<img :src="slide.src">
@@ -105,14 +105,14 @@ play('Carousel3d', module)
105105
Carousel3d,
106106
Slide
107107
},
108-
data() {
108+
data () {
109109
return {
110110
slides: slides
111111
}
112112
}
113113
})
114114

115-
.add("num of displayed", {
115+
.add('num of displayed', {
116116
template: `<carousel-3d :display="3">
117117
<slide v-for="(slide, i) in slides" :index="i">
118118
<img :src="slide.src">
@@ -122,14 +122,14 @@ play('Carousel3d', module)
122122
Carousel3d,
123123
Slide
124124
},
125-
data() {
125+
data () {
126126
return {
127127
slides: slides
128128
}
129129
}
130130
})
131131

132-
.add("even number displayed", {
132+
.add('even number displayed', {
133133
template: `<carousel-3d :display="6" :bias="'right'">
134134
<slide v-for="(slide, i) in slides" :index="i">
135135
<img :src="slide.src">
@@ -139,14 +139,14 @@ play('Carousel3d', module)
139139
Carousel3d,
140140
Slide
141141
},
142-
data() {
142+
data () {
143143
return {
144144
slides: slides
145145
}
146146
}
147147
})
148148

149-
.add("slides clickable", {
149+
.add('slides clickable', {
150150
template: `<carousel-3d :clickable="true">
151151
<slide v-for="(slide, i) in slides" :index="i">
152152
<img :src="slide.src">
@@ -156,14 +156,14 @@ play('Carousel3d', module)
156156
Carousel3d,
157157
Slide
158158
},
159-
data() {
159+
data () {
160160
return {
161161
slides: slides
162162
}
163163
}
164164
})
165165

166-
.add("loop disabled", {
166+
.add('loop disabled', {
167167
template: `<carousel-3d :loop="false">
168168
<slide v-for="(slide, i) in slides" :index="i">
169169
<img :src="slide.src">
@@ -173,14 +173,14 @@ play('Carousel3d', module)
173173
Carousel3d,
174174
Slide
175175
},
176-
data() {
176+
data () {
177177
return {
178178
slides: slides
179179
}
180180
}
181181
})
182182

183-
.add("controls visible", {
183+
.add('controls visible', {
184184
template: `<carousel-3d :controls-visible="true">
185185
<slide v-for="(slide, i) in slides" :index="i">
186186
<img :src="slide.src">
@@ -190,14 +190,14 @@ play('Carousel3d', module)
190190
Carousel3d,
191191
Slide
192192
},
193-
data() {
193+
data () {
194194
return {
195195
slides: slides
196196
}
197197
}
198198
})
199199

200-
.add("custom controls", {
200+
.add('custom controls', {
201201
template: `<carousel-3d :controls-visible="true" :controls-prev-html="'&#10092;'" :controls-next-html="'&#10093;'"
202202
:controls-width="30" :controls-height="60">
203203
<slide v-for="(slide, i) in slides" :index="i">
@@ -208,14 +208,14 @@ play('Carousel3d', module)
208208
Carousel3d,
209209
Slide
210210
},
211-
data() {
211+
data () {
212212
return {
213213
slides: slides
214214
}
215215
}
216216
})
217217

218-
.add("ltr direction", {
218+
.add('ltr direction', {
219219
template: `<carousel-3d :dir="'ltr'">
220220
<slide v-for="(slide, i) in slides" :index="i">
221221
<img :src="slide.src">
@@ -225,14 +225,14 @@ play('Carousel3d', module)
225225
Carousel3d,
226226
Slide
227227
},
228-
data() {
228+
data () {
229229
return {
230230
slides: slides
231231
}
232232
}
233233
})
234234

235-
.add("callbacks", {
235+
.add('callbacks', {
236236
template: `<carousel-3d :on-slide-change="onSlideChanged" :on-last-slide="onLastSlide" :on-main-slide-click="onMainSlideClick">
237237
<slide v-for="(slide, i) in slides" :index="i" >
238238
<img :src="slide.src">
@@ -242,25 +242,25 @@ play('Carousel3d', module)
242242
Carousel3d,
243243
Slide
244244
},
245-
data() {
245+
data () {
246246
return {
247247
slides: slides
248248
}
249249
},
250250
methods: {
251-
onSlideChanged(index) {
251+
onSlideChanged (index) {
252252
console.log('onSlideChanged Callback Triggered', 'Slide Index ' + index)
253253
},
254-
onLastSlide(index) {
254+
onLastSlide (index) {
255255
console.log('onLastSlide Callback Triggered', 'Slide Index ' + index)
256256
},
257-
onMainSlideClick() {
257+
onMainSlideClick () {
258258
console.log('onMainSlideClick Callback Triggered')
259259
}
260260
}
261261
})
262262

263-
.add("add/remove slides", {
263+
.add('add/remove slides', {
264264
template: `<div>
265265
<carousel-3d :count="slideCount">
266266
<slide v-for="(slide, i) in slideCount" :index="i">
@@ -274,24 +274,24 @@ play('Carousel3d', module)
274274
Carousel3d,
275275
Slide
276276
},
277-
data() {
277+
data () {
278278
return {
279279
slideCount: 10
280280
}
281281
},
282282
methods: {
283-
addSlide() {
283+
addSlide () {
284284
this.slideCount++
285285
},
286-
removeSlide() {
286+
removeSlide () {
287287
if (this.slideCount > 1) {
288288
this.slideCount--
289289
}
290290
}
291291
}
292292
})
293293

294-
.add("callbacks through emit", {
294+
.add('callbacks through emit', {
295295
template: `<carousel-3d
296296
@before-slide-change="onSlideChange"
297297
@after-slide-change="onAfterSlideChanged"
@@ -304,25 +304,25 @@ play('Carousel3d', module)
304304
Carousel3d,
305305
Slide
306306
},
307-
data() {
307+
data () {
308308
return {
309309
slides: slides
310310
}
311311
},
312312
methods: {
313-
onAfterSlideChanged(index) {
313+
onAfterSlideChanged (index) {
314314
console.log('@after-slide-changed Callback Triggered', 'Slide Index ' + index)
315315
},
316-
onSlideChange(index) {
316+
onSlideChange (index) {
317317
console.log('@before-slide-change Callback Triggered', 'Slide Index ' + index)
318318
},
319-
onLastSlide(index) {
319+
onLastSlide (index) {
320320
console.log('@last-slide Callback Triggered', 'Slide Index ' + index)
321321
}
322322
}
323323
})
324324

325-
.add("3d Disabled", {
325+
.add('3d Disabled', {
326326
template: `<carousel-3d :disable3d="true" :space="370" :clickable="false" :controls-visible="true">
327327
<slide v-for="(slide, i) in slides" :index="i">
328328
<img :src="slide.src">
@@ -332,20 +332,42 @@ play('Carousel3d', module)
332332
Carousel3d,
333333
Slide
334334
},
335-
data() {
335+
data () {
336336
return {
337337
slides: slides
338338
}
339339
},
340340
methods: {
341-
onAfterSlideChanged(index) {
341+
onAfterSlideChanged (index) {
342342
console.log('@after-slide-changed Callback Triggered', 'Slide Index ' + index)
343343
},
344-
onSlideChange(index) {
344+
onSlideChange (index) {
345345
console.log('@before-slide-change Callback Triggered', 'Slide Index ' + index)
346346
},
347-
onLastSlide(index) {
347+
onLastSlide (index) {
348348
console.log('@last-slide Callback Triggered', 'Slide Index ' + index)
349349
}
350350
}
351351
})
352+
.add('Scoped Slot', {
353+
template: `<carousel-3d>
354+
<slide v-for="(slide, i) in slides" :index="i" :key="i">
355+
<template slot-scope="{ index, isCurrent, leftIndex, rightIndex }">
356+
<div :style="{ textAlign: leftIndex >= 0 ? 'right' : 'left' }">
357+
right {{ rightIndex }} <br>
358+
left {{ leftIndex }}
359+
</div>
360+
<img :data-index="index" :data-is-current="isCurrent" :src="slide.src">
361+
</template>
362+
</slide>
363+
</carousel-3d>`,
364+
components: {
365+
Carousel3d,
366+
Slide
367+
},
368+
data () {
369+
return {
370+
slides: slides
371+
}
372+
}
373+
})

0 commit comments

Comments
 (0)