ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
1 lines • 46.8 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-mobile-carousel.mjs","sources":["../../components/carousel/carousel-slide/carousel-slide.component.ts","../../components/carousel/carousel-slide/carousel-slide.component.html","../../components/carousel/dotindicator/dotindicator.component.ts","../../components/carousel/dotindicator/dotindicator.component.html","../../components/carousel/carousel.component.ts","../../components/carousel/carousel.component.html","../../components/carousel/carousel.module.ts","../../components/carousel/ng-zorro-antd-mobile-carousel.ts"],"sourcesContent":["import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'CarouselSlide, nzm-carousel-slide',\n templateUrl: './carousel-slide.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class CarouselSlideComponent {\n @HostBinding('class.am-carousel-container')\n container = true;\n @HostBinding('style.width.px')\n width;\n @HostBinding('style.height')\n height = 'auto';\n @HostBinding('style.left.px')\n left;\n @HostBinding('style.top.px')\n top;\n @HostBinding('style.margin')\n margin;\n @HostBinding('style.overflow')\n overflow = 'hidden';\n}\n","<ng-content></ng-content>\n","import { Component, Input, ViewEncapsulation, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'DotIndicator, nzm-dot-indicator',\n templateUrl: './dotindicator.component.html',\n encapsulation: ViewEncapsulation.None\n})\nexport class DotIndicatorComponent {\n items: { active: boolean }[] = [];\n\n private _page = 0;\n private _pageCount = 0;\n\n @Input()\n set page(p: number) {\n this._page = p;\n this.updateSelected();\n }\n @Input()\n set pageCount(p: number) {\n this._pageCount = p || 0;\n this.updateItems();\n }\n @Input()\n dotStyle: object = {};\n @Input()\n dotActiveStyle: object = {};\n @Input()\n dotColor = 'white';\n\n @HostBinding('class.dot-indicator')\n dotIndicator: boolean = true;\n\n private updateItems() {\n this.items = new Array(this._pageCount);\n for (let i = 0; i < this._pageCount; i++) {\n this.items[i] = { active: i == this._page };\n }\n }\n\n private updateSelected() {\n if (this.items.length != this._pageCount) {\n return this.updateItems();\n }\n if (this.items.length == 0) {\n return;\n }\n for (let i = 0; i < this._pageCount; i++) {\n this.items[i].active = false;\n }\n this.items[this._page].active = true;\n }\n}\n","<div class=\"am-carousel-wrap\">\n <div *ngFor=\"let item of items\" class=\"am-carousel-wrap-dot\" [class.am-carousel-wrap-dot-active]=\"item.active\">\n <span [ngStyle]=\"item.active ? dotActiveStyle : dotStyle\"></span>\n </div>\n</div>\n","import {\n Component,\n ContentChildren,\n HostBinding,\n Input,\n Output,\n HostListener,\n QueryList,\n EventEmitter,\n OnDestroy,\n ElementRef,\n AfterViewInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { CarouselSlideComponent } from './carousel-slide/carousel-slide.component';\nimport { getEventTarget } from 'ng-zorro-antd-mobile/core';\n\n@Component({\n selector: 'Carousel, nzm-carousel',\n encapsulation: ViewEncapsulation.None,\n templateUrl: './carousel.component.html'\n})\nexport class CarouselComponent implements AfterViewInit, OnDestroy {\n slideHeight: number;\n touchObject;\n style = {\n height: 'auto',\n width: '100%',\n transform: 'translate3d(0px, 0px, 0px)',\n margin: ''\n };\n lastIndex: number = 0;\n currentSelectedIndex: number = 0;\n\n private _timer: any;\n private _resizeTimer: any;\n private _nodeArr: Array<any> = [];\n private _isMouseDown: boolean = false;\n private _rationWidth: number = 0;\n private _currentSlideWidth: number = 0;\n private _currentSlideHeight: number = 0;\n private _transition: string = '';\n private _spaceWidth: number = 0;\n private _observer: MutationObserver;\n private _dragging: boolean = true;\n private _selectedIndex: number = 0;\n\n @ContentChildren(CarouselSlideComponent)\n items: QueryList<CarouselSlideComponent>;\n\n @Input()\n speed: number = 500;\n @Input()\n dots: boolean = true;\n @Input()\n vertical: boolean = false;\n @Input()\n autoplay: boolean = false;\n @Input()\n autoplayInterval: any = 3000;\n @Input()\n infinite: boolean = false;\n @Input()\n dotStyle: object = {};\n @Input()\n dotActiveStyle: object = {};\n @Input()\n frameOverflow: string = 'hidden';\n @Input()\n cellSpacing: number = 0;\n @Input()\n slideWidth: number = 1;\n @Input()\n swipeSpeed: number = 12;\n @Input()\n dragging: boolean = true;\n @Input()\n get selectedIndex() {\n return this._selectedIndex;\n }\n set selectedIndex(value) {\n if (typeof value === 'undefined') {\n value = 0;\n }\n this._selectedIndex = Math.abs(value);\n if (this._nodeArr.length > 0) {\n this.carousel(1);\n }\n }\n @Output()\n afterChange: EventEmitter<any> = new EventEmitter();\n @Output()\n beforeChange: EventEmitter<any> = new EventEmitter();\n\n @HostBinding('class.am-carousel')\n carouselWrapper: boolean = true;\n @HostBinding('class.carousel')\n carouselwrap: boolean = true;\n\n @HostListener('mousedown', ['$event'])\n @HostListener('touchstart', ['$event'])\n panstart(event) {\n event.stopPropagation();\n event.preventDefault();\n if (!this._dragging) {\n return;\n }\n this.stopTimer();\n this._isMouseDown = true;\n this.touchObject = {\n startX: getEventTarget(event).pageX,\n startY: getEventTarget(event).pageY,\n direction: this.touchObject.direction\n };\n }\n\n @HostListener('mousemove', ['$event'])\n @HostListener('touchmove', ['$event'])\n panmove(event) {\n event.stopPropagation();\n event.preventDefault();\n if (!this._dragging || !this._isMouseDown) {\n return;\n }\n const { direction } = this.swipeDirection(\n this.touchObject.startX,\n getEventTarget(event).pageX,\n this.touchObject.startY,\n getEventTarget(event).pageY\n );\n if (direction === 0) {\n return;\n }\n const length = this.vertical\n ? Math.abs(getEventTarget(event).pageY - this.touchObject.startY)\n : Math.abs(getEventTarget(event).pageX - this.touchObject.startX);\n const offset = -this.touchObject.direction * length - this.currentSelectedIndex * this._rationWidth;\n this.touchObject = {\n startX: this.touchObject.startX,\n startY: this.touchObject.startY,\n endX: getEventTarget(event).pageX,\n endY: getEventTarget(event).pageY,\n length,\n direction,\n offset\n };\n if (direction !== 0) {\n this.setSlideStyles(this.currentSelectedIndex, this.touchObject.direction);\n }\n\n this.getListStyles(offset);\n }\n\n @HostListener('mouseleave', ['$event'])\n @HostListener('mouseup', ['$event'])\n @HostListener('touchend', ['$event'])\n panend(event) {\n event.stopPropagation();\n event.preventDefault();\n if (!this._dragging || !this._isMouseDown || !this.touchObject.length || this.touchObject.length === undefined) {\n this._isMouseDown = false;\n return;\n }\n this._isMouseDown = false;\n if (this.touchObject.length > this.swipeSpeed) {\n this.carousel(this.touchObject.direction);\n } else {\n this.getListStyles(this.touchObject.direction * this.touchObject.length + this.touchObject.offset);\n this.style['transition'] = this._transition;\n }\n setTimeout(() => {\n this.startTimer();\n }, this.speed);\n }\n\n @HostListener('touchcancel')\n cancel() {\n setTimeout(() => {\n this.startTimer();\n }, this.speed);\n }\n\n @HostListener('window:resize')\n resize() {\n if (this._resizeTimer) {\n clearTimeout(this._resizeTimer);\n }\n this._resizeTimer = setTimeout(() => {\n this.ngAfterViewInit();\n clearTimeout(this._resizeTimer);\n }, 200);\n }\n\n constructor(private _ele: ElementRef) {}\n\n initCarouselSize() {\n const nativeElement = this._ele.nativeElement;\n this.slideHeight = nativeElement.querySelector('carouselslide').clientHeight;\n this._currentSlideHeight = this.slideHeight * this.slideWidth;\n this._currentSlideWidth = nativeElement.clientWidth;\n this._rationWidth = this.vertical ? this._currentSlideHeight : this._currentSlideWidth * this.slideWidth;\n this._spaceWidth = ((this.vertical ? this.slideHeight : this._currentSlideWidth) - this._rationWidth) / 2;\n }\n\n carouselInit(items) {\n this.infinite = this.infinite || true;\n this._nodeArr = items['_results'];\n const shouldDragging = this._nodeArr.length > 1;\n this._dragging = this.dragging && shouldDragging ? true : false;\n if (this._nodeArr.length > 1) {\n this.lastIndex = this._nodeArr.length - 1;\n setTimeout(() => {\n this._nodeArr.forEach((v, index) => {\n v.width = this.vertical ? 'auto' : this._rationWidth - this.cellSpacing;\n v.left = this.vertical ? 0 : index === this.lastIndex ? -this._rationWidth : index * this._rationWidth;\n v.top = this.vertical ? (index === this.lastIndex ? -this._rationWidth : index * this._rationWidth) : 0;\n v.margin = this.vertical ? `${this.cellSpacing / 2}px auto` : `auto ${this.cellSpacing / 2}px`;\n });\n this.startTimer();\n }, 0);\n } else if (this._nodeArr.length === 1) {\n setTimeout(() => {\n this._nodeArr.forEach(v => {\n v.width = this.vertical ? 'auto' : this._rationWidth - this.cellSpacing;\n v.left = 0;\n v.top = 0;\n v.margin = `auto ${this.cellSpacing / 2}px`;\n });\n this.stopTimer();\n }, 0);\n }\n }\n\n startTimer() {\n if (!this.autoplay) {\n return;\n }\n this.stopTimer();\n this._timer = this.autoplayInterval\n ? setInterval(() => {\n if (document.getElementsByTagName('carousel').length === 0) {\n return;\n }\n this.carousel(1);\n }, this.autoplayInterval)\n : 0;\n }\n\n stopTimer() {\n clearInterval(this._timer);\n }\n\n carousel(moveDirection) {\n if (this.vertical) {\n if (moveDirection === 1) {\n this.moveUp();\n } else if (moveDirection === -1) {\n this.moveDown();\n }\n } else {\n if (moveDirection === 1) {\n this.moveLeft();\n } else if (moveDirection === -1) {\n this.moveRight();\n }\n }\n this.style['transition'] = this._transition;\n }\n\n moveUp() {\n this.gotoCarousel(this.getAfterNode(false));\n }\n\n moveDown() {\n this.gotoCarousel(this.getAfterNode(true));\n }\n\n moveLeft() {\n this.gotoCarousel(this.getAfterNode(false));\n }\n\n moveRight() {\n this.gotoCarousel(this.getAfterNode(true));\n }\n\n getAfterNode(pre) {\n let nextIndex;\n if (pre) {\n if (this.currentSelectedIndex <= 0) {\n this.getListStyles(this._rationWidth);\n setTimeout(() => {\n this._nodeArr.forEach((v, tempIndex) => {\n if (tempIndex === 0) {\n v.left = this.vertical ? 0 : this._nodeArr.length * this._rationWidth;\n v.top = this.vertical ? this._nodeArr.length * this._rationWidth : 0;\n } else {\n v.left = this.vertical ? 0 : tempIndex * this._rationWidth;\n v.top = this.vertical ? tempIndex * this._rationWidth : 0;\n }\n });\n this.getListStyles(-this._rationWidth * (this.items.length - 1));\n }, this.speed);\n nextIndex = !this.infinite ? null : this.lastIndex;\n this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });\n return nextIndex;\n }\n nextIndex = this.currentSelectedIndex - 1;\n this.getListStyles(nextIndex * this._rationWidth * this.touchObject.direction);\n this._nodeArr.forEach((v, tempIndex) => {\n if (0 === tempIndex && nextIndex === this._nodeArr.length - 2) {\n v.left = 0;\n v.top = 0;\n }\n });\n this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });\n return nextIndex;\n } else {\n if (this.currentSelectedIndex >= this.lastIndex) {\n this.setSlideStyles(this.currentSelectedIndex, 1);\n this.getListStyles(-(this.lastIndex + 1) * this._rationWidth);\n nextIndex = !this.infinite ? null : 0;\n this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });\n return nextIndex;\n }\n nextIndex = this.currentSelectedIndex + 1;\n this.setSlideStyles(this.currentSelectedIndex, 1);\n this.getListStyles(-nextIndex * this._rationWidth);\n this.beforeChange.emit({ from: this.currentSelectedIndex, to: nextIndex });\n return nextIndex;\n }\n }\n\n caculateDirectionLeftCurrentIndex() {\n const previousIndex = this.currentSelectedIndex;\n this.currentSelectedIndex = (previousIndex + 1) % this.items.length;\n }\n\n caculateDirectionRightCurrentIndex() {\n if (this.currentSelectedIndex === 0) {\n this.currentSelectedIndex = this.items.length;\n }\n const previousIndex = this.currentSelectedIndex;\n this.currentSelectedIndex = (previousIndex - 1) % this.items.length;\n }\n\n gotoCarousel(afterIndex) {\n if (afterIndex === null) {\n return;\n }\n this.getCurrentIndex();\n\n if (afterIndex === 0) {\n setTimeout(() => {\n this._nodeArr.forEach((v, index) => {\n if (this._nodeArr.length > 1 && index === this._nodeArr.length - 1) {\n v.left = this.vertical ? 0 : -this._rationWidth;\n v.top = this.vertical ? -this._rationWidth : 0;\n } else {\n v.left = this.vertical ? 0 : index * this._rationWidth;\n v.top = this.vertical ? index * this._rationWidth : 0;\n }\n });\n if (this._nodeArr.length > 1) {\n this.startTimer();\n }\n this.getListStyles(0);\n }, this.speed);\n }\n this.currentSelectedIndex = afterIndex;\n this.afterChange.emit(this.currentSelectedIndex);\n }\n\n getCurrentIndex() {\n if (this.touchObject.direction === 1) {\n this.caculateDirectionLeftCurrentIndex();\n } else {\n this.caculateDirectionRightCurrentIndex();\n }\n }\n\n setSlideStyles(index, direction, xDist: number = 0) {\n if (direction === 1) {\n this._nodeArr.forEach((v, tempIndex) => {\n if (index < this._nodeArr.length && index - 1 === tempIndex) {\n if (xDist === 0 || xDist > this._spaceWidth) {\n v.left = this.vertical ? 0 : (this._nodeArr.length + tempIndex) * this._rationWidth;\n v.top = this.vertical ? (this._nodeArr.length + tempIndex) * this._rationWidth : 0;\n }\n } else if (this._nodeArr.length - 1 === tempIndex && index !== 2) {\n if (xDist === 0 || xDist > this._spaceWidth) {\n v.left = this.vertical ? 0 : (this._nodeArr.length - 1) * this._rationWidth;\n v.top = this.vertical ? (this._nodeArr.length - 1) * this._rationWidth : 0;\n }\n } else if (index === this._nodeArr.length - 1 && tempIndex === 1 && this.autoplay) {\n v.left = this.vertical ? 0 : (this._nodeArr.length + tempIndex) * this._rationWidth;\n v.top = this.vertical ? tempIndex * this._rationWidth : 0;\n } else if (index === this._nodeArr.length - 1 && tempIndex === 0 && !this.autoplay) {\n v.left = this.vertical ? 0 : (this._nodeArr.length + tempIndex) * this._rationWidth;\n v.top = this.vertical ? tempIndex * this._rationWidth : 0;\n }\n });\n } else if (direction === -1) {\n this._nodeArr.forEach((v, tempIndex) => {\n if (index === 0 && this._nodeArr.length - 1 === tempIndex) {\n v.left = this.vertical ? 0 : direction * this._rationWidth;\n v.top = this.vertical ? direction * this._rationWidth : 0;\n } else if (index === this._nodeArr.length - 2 && index + 1 === tempIndex) {\n v.left = this.vertical ? 0 : direction * this._rationWidth;\n v.top = this.vertical ? direction * this._rationWidth : 0;\n } else if (index === 1 && 0 === tempIndex) {\n v.left = this.vertical ? 0 : direction * this._rationWidth * tempIndex;\n v.top = this.vertical ? direction * this._rationWidth : 0;\n } else if (index > 1) {\n v.left = this.vertical ? 0 : tempIndex * this._rationWidth;\n v.top = this.vertical ? tempIndex * this._rationWidth : 0;\n }\n });\n }\n }\n\n getListStyles(offset: number = 0) {\n const positionOffset =\n offset +\n (this.vertical\n ? (this.slideHeight - this._currentSlideHeight) / 2\n : (this._currentSlideWidth - this._rationWidth) / 2) -\n this.cellSpacing;\n this.style = {\n height: this._currentSlideHeight + 'px',\n width: '100%',\n transform: this.vertical\n ? `translate3d(0px, ${positionOffset}px, 0px)`\n : `translate3d(${positionOffset}px, 0px, 0px)`,\n margin: this.vertical ? `${(this.cellSpacing / 2) * -1}px 0px` : `0px ${(this.cellSpacing / 2) * -1}px`\n };\n }\n\n swipeDirection(x1, x2, y1, y2) {\n const xDist = x1 - x2;\n const yDist = y1 - y2;\n\n const r = Math.atan2(yDist, xDist);\n let swipeAngle = Math.round((r * 180) / Math.PI);\n if (swipeAngle < 0) {\n swipeAngle = 360 - Math.abs(swipeAngle);\n }\n if (swipeAngle <= 45 && swipeAngle >= 0) {\n return {\n direction: 1,\n xDist: xDist\n };\n }\n if (swipeAngle <= 360 && swipeAngle >= 315) {\n return {\n direction: 1,\n xDist: xDist\n };\n }\n if (swipeAngle >= 135 && swipeAngle <= 225) {\n return {\n direction: -1,\n xDist: xDist\n };\n }\n if (this.vertical === true) {\n if (swipeAngle >= 35 + 33 && swipeAngle <= 135) {\n return {\n direction: 1,\n xDist: xDist\n };\n } else {\n return {\n direction: -1,\n xDist: xDist\n };\n }\n }\n return {\n direction: 0,\n xDist: xDist\n };\n }\n\n get page() {\n return this.dots ? this.currentSelectedIndex : 0;\n }\n\n get pageCount() {\n return this.dots ? this.items.length : 0;\n }\n\n get dotindicatorStatus() {\n return this.dots ? this.items.length > 1 : this.dots;\n }\n\n ngAfterViewInit() {\n this.touchObject = { direction: 1 };\n this._transition = `transform ${this.speed / 1000}s`;\n this.items.changes.subscribe(items => {\n this.carouselInit(items);\n });\n this.initCarouselSize();\n if (!this._resizeTimer) {\n this.selectedIndex = this.items.length - 1 < this.selectedIndex ? 0 : this.selectedIndex;\n setTimeout(() => {\n this.currentSelectedIndex = this.selectedIndex;\n }, 0);\n }\n const selectedIndex = this._resizeTimer ? this.currentSelectedIndex : this.selectedIndex;\n const index = this.items.length > 1 ? (this.items.length - 1 === selectedIndex ? -1 : selectedIndex) : 0;\n this.getListStyles(-index * this._rationWidth);\n this.carouselInit(this.items);\n const nativeElement = this._ele.nativeElement;\n const targetNode = nativeElement.querySelector('carouselslide');\n const config = { attributes: true, childList: true, subtree: true };\n const callback = mutationsList => {\n for (const mutation of mutationsList) {\n if (mutation.type == 'attributes') {\n if (this.slideHeight !== nativeElement.querySelector('carouselslide').clientHeight) {\n this.initCarouselSize();\n this.getListStyles(-index * this._rationWidth);\n this.carouselInit(this.items);\n }\n }\n }\n };\n if (this._observer) {\n this._observer.disconnect();\n }\n this._observer = new MutationObserver(callback);\n this._observer.observe(targetNode, config);\n }\n\n ngOnDestroy() {\n this._observer.disconnect();\n this._observer = null;\n this.stopTimer();\n }\n}\n","<div class=\"slider-frame\" [ngStyle]=\"{ overflow: frameOverflow }\">\n <ul class=\"slider-list\" [ngStyle]=\"style\">\n <ng-content></ng-content>\n </ul>\n</div>\n<DotIndicator\n *ngIf=\"dotindicatorStatus\"\n class=\"am-carousel-wrap-dot\"\n [page]=\"page\"\n [dotStyle]=\"dotStyle\"\n [pageCount]=\"pageCount\"\n [dotActiveStyle]=\"dotActiveStyle\"\n></DotIndicator>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { CarouselComponent } from './carousel.component';\nimport { CarouselSlideComponent } from './carousel-slide/carousel-slide.component';\nimport { DotIndicatorComponent } from './dotindicator/dotindicator.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [CarouselComponent, CarouselSlideComponent, DotIndicatorComponent],\n exports: [CarouselComponent, CarouselSlideComponent, DotIndicatorComponent]\n})\nexport class CarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.DotIndicatorComponent"],"mappings":"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"}