From 6c9acb08fa34d9db51fdc661fd782926debcb728 Mon Sep 17 00:00:00 2001 From: Rijn Date: Mon, 16 Jan 2017 02:45:11 -0600 Subject: [PATCH 01/16] initialize carousel --- src/components/carousel/carousel-item.vue | 10 ++++++++++ src/components/carousel/carousel.vue | 11 +++++++++++ src/components/carousel/index.js | 5 +++++ src/index.js | 3 +++ src/styles/components/carousel.less | 6 ++++++ test/app.vue | 1 + test/main.js | 5 +++++ test/routers/carousel.vue | 9 +++++++++ 8 files changed, 50 insertions(+) create mode 100644 src/components/carousel/carousel-item.vue create mode 100644 src/components/carousel/carousel.vue create mode 100644 src/components/carousel/index.js create mode 100644 src/styles/components/carousel.less create mode 100644 test/routers/carousel.vue diff --git a/src/components/carousel/carousel-item.vue b/src/components/carousel/carousel-item.vue new file mode 100644 index 00000000..b995e94b --- /dev/null +++ b/src/components/carousel/carousel-item.vue @@ -0,0 +1,10 @@ + + diff --git a/src/components/carousel/carousel.vue b/src/components/carousel/carousel.vue new file mode 100644 index 00000000..fb63eb08 --- /dev/null +++ b/src/components/carousel/carousel.vue @@ -0,0 +1,11 @@ + + diff --git a/src/components/carousel/index.js b/src/components/carousel/index.js new file mode 100644 index 00000000..688b6268 --- /dev/null +++ b/src/components/carousel/index.js @@ -0,0 +1,5 @@ +import Carousel from './carousel.vue'; +import CarouselItem from './carousel-item.vue'; + +Carousel.Item = CarouselItem; +export default Carousel; \ No newline at end of file diff --git a/src/index.js b/src/index.js index 6756a5be..47c52b1b 100644 --- a/src/index.js +++ b/src/index.js @@ -8,6 +8,7 @@ import Badge from './components/badge'; import Breadcrumb from './components/breadcrumb'; import Button from './components/button'; import Card from './components/card'; +import Carousel from './components/carousel'; import Cascader from './components/cascader'; import Checkbox from './components/checkbox'; import Circle from './components/circle'; @@ -52,6 +53,8 @@ const iview = { iButton: Button, ButtonGroup: Button.Group, Card, + Carousel, + CarouselItem: Carousel.Item, Cascader, Checkbox, CheckboxGroup: Checkbox.Group, diff --git a/src/styles/components/carousel.less b/src/styles/components/carousel.less new file mode 100644 index 00000000..21a6eb0c --- /dev/null +++ b/src/styles/components/carousel.less @@ -0,0 +1,6 @@ +@carousel-prefix-cls: ~"@{css-prefix}carousel"; +@carousel-item-prefix-cls: ~"@{css-prefix}carousel-item"; + +.@{carousel-prefix-cls} { + +} diff --git a/test/app.vue b/test/app.vue index 3dfec764..19834737 100644 --- a/test/app.vue +++ b/test/app.vue @@ -47,6 +47,7 @@ li + li {
  • Menu
  • Date
  • Form
  • +
  • Carousel
  • diff --git a/test/main.js b/test/main.js index 363135f9..9f6dd37d 100644 --- a/test/main.js +++ b/test/main.js @@ -134,6 +134,11 @@ router.map({ require(['./routers/form.vue'], resolve); } }, + '/carousel': { + component: function (resolve) { + require(['./routers/carousel.vue'], resolve); + } + }, }); router.beforeEach(function () { diff --git a/test/routers/carousel.vue b/test/routers/carousel.vue new file mode 100644 index 00000000..6db7e5f1 --- /dev/null +++ b/test/routers/carousel.vue @@ -0,0 +1,9 @@ + + From 41f83010fa023848550ab68e853461ec5eee7c02 Mon Sep 17 00:00:00 2001 From: Rijn Date: Mon, 16 Jan 2017 02:59:46 -0600 Subject: [PATCH 02/16] update props and events --- src/components/carousel/carousel.vue | 50 ++++++++++++++++++++++++++-- src/styles/components/carousel.less | 7 +++- src/styles/components/index.less | 3 +- test/routers/carousel.vue | 6 ++++ 4 files changed, 61 insertions(+), 5 deletions(-) diff --git a/src/components/carousel/carousel.vue b/src/components/carousel/carousel.vue index fb63eb08..680cd56c 100644 --- a/src/components/carousel/carousel.vue +++ b/src/components/carousel/carousel.vue @@ -1,11 +1,55 @@ diff --git a/src/styles/components/carousel.less b/src/styles/components/carousel.less index 21a6eb0c..b4407175 100644 --- a/src/styles/components/carousel.less +++ b/src/styles/components/carousel.less @@ -2,5 +2,10 @@ @carousel-item-prefix-cls: ~"@{css-prefix}carousel-item"; .@{carousel-prefix-cls} { - + position: relative; + display: block; + box-sizing: border-box; + user-select: none; + touch-action: pan-y; + -webkit-tap-highlight-color: transparent; } diff --git a/src/styles/components/index.less b/src/styles/components/index.less index 07baccd4..d0ba5dfb 100644 --- a/src/styles/components/index.less +++ b/src/styles/components/index.less @@ -34,4 +34,5 @@ @import "menu"; @import "date-picker"; @import "time-picker"; -@import "form"; \ No newline at end of file +@import "form"; +@import "carousel"; \ No newline at end of file diff --git a/test/routers/carousel.vue b/test/routers/carousel.vue index 6db7e5f1..4dff7756 100644 --- a/test/routers/carousel.vue +++ b/test/routers/carousel.vue @@ -1,5 +1,11 @@ From 65c64ce93580dd05c4fed50496443324d8c5e63e Mon Sep 17 00:00:00 2001 From: Rijn Date: Mon, 16 Jan 2017 04:00:52 -0600 Subject: [PATCH 03/16] carousel basic position --- src/components/carousel/carousel-item.vue | 20 +++- src/components/carousel/carousel.vue | 111 +++++++++++++++++++++- src/styles/components/carousel.less | 26 +++++ test/routers/carousel.vue | 2 +- 4 files changed, 155 insertions(+), 4 deletions(-) diff --git a/src/components/carousel/carousel-item.vue b/src/components/carousel/carousel-item.vue index b995e94b..ea964c6b 100644 --- a/src/components/carousel/carousel-item.vue +++ b/src/components/carousel/carousel-item.vue @@ -1,10 +1,26 @@ diff --git a/src/components/carousel/carousel.vue b/src/components/carousel/carousel.vue index 680cd56c..e048061e 100644 --- a/src/components/carousel/carousel.vue +++ b/src/components/carousel/carousel.vue @@ -1,10 +1,18 @@ diff --git a/src/styles/components/carousel.less b/src/styles/components/carousel.less index b4407175..87557dc4 100644 --- a/src/styles/components/carousel.less +++ b/src/styles/components/carousel.less @@ -8,4 +8,30 @@ user-select: none; touch-action: pan-y; -webkit-tap-highlight-color: transparent; + + &-track, &-list { + transform: translate3d(0, 0, 0); + } + + &-list { + position: relative; + display: block; + overflow: hidden; + + margin: 0; + padding: 0; + } + + &-track { + position: relative; + top: 0; + left: 0; + display: block; + } + + &-item { + float: left; + height: 100%; + min-height: 1px; + } } diff --git a/test/routers/carousel.vue b/test/routers/carousel.vue index 4dff7756..ff9bab67 100644 --- a/test/routers/carousel.vue +++ b/test/routers/carousel.vue @@ -1,5 +1,5 @@