ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
1 lines • 17 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-mobile-grid.mjs","sources":["../../components/grid/grid.component.ts","../../components/grid/grid.component.html","../../components/grid/grid.module.ts","../../components/grid/ng-zorro-antd-mobile-grid.ts"],"sourcesContent":["import { Component, OnInit, Input, Output, EventEmitter, TemplateRef, HostBinding } from '@angular/core';\n\n@Component({\n selector: 'Grid, nzm-grid',\n templateUrl: './grid.component.html'\n})\nexport class GridComponent implements OnInit {\n wrapCls = {};\n itemCls = {};\n carouselProps = {\n dots: false,\n dragging: false\n };\n defaultProps = {\n data: [],\n hasLine: true,\n isCarousel: false,\n columnNum: 4,\n carouselMaxRow: 2,\n prefixCls: 'am-grid',\n square: true,\n itemStyle: {}\n };\n carouselData = [];\n carouselDataTmp = [];\n gridData = [];\n\n private _data = [];\n\n @Input()\n get columnNum(): number {\n return this.defaultProps.columnNum;\n }\n set columnNum(value: number) {\n if (typeof value === 'number') {\n this.defaultProps.columnNum = value;\n this.init();\n }\n }\n @Input()\n get carouselMaxRow(): number {\n return this.defaultProps.carouselMaxRow;\n }\n set carouselMaxRow(value: number) {\n if (typeof value === 'number') {\n this.defaultProps.carouselMaxRow = value;\n this.init();\n }\n }\n @Input()\n itemStyle: object = {};\n @Input()\n square: boolean = true;\n @Input()\n hasLine: boolean = true;\n @Input()\n get isCarousel(): boolean {\n return this.defaultProps.isCarousel;\n }\n set isCarousel(value: boolean) {\n this.defaultProps.isCarousel = value;\n this.init();\n }\n @Input()\n activeStyle: boolean = true;\n @Input()\n set data(value: Array<any>) {\n this._data = value;\n this.init();\n }\n @Output()\n onClick: EventEmitter<any> = new EventEmitter();\n\n @HostBinding('class.am-grid')\n amGrid: boolean = true;\n @HostBinding('class.am-grid-square')\n get amGridSquare(): boolean {\n return true === this.square;\n }\n @HostBinding('class.am-grid-line')\n get amGridLine(): boolean {\n return true === this.hasLine;\n }\n @HostBinding('class.am-grid-carousel')\n get amGridCarousel(): boolean {\n return true === this.isCarousel;\n }\n\n constructor() {}\n\n getContentType(value: any): string {\n if ((value.indexOf('http') >= 0 || value.indexOf('assets') >= 0) && value.indexOf('<') < 0) {\n return 'url';\n } else if (value.indexOf('<') >= 0) {\n return 'innerHTML';\n } else if (value instanceof TemplateRef) {\n return 'TemplateRef';\n } else {\n return 'icon';\n }\n }\n\n init() {\n const dataLength = (this._data && this._data.length) || 0;\n let rowCount = Math.ceil(dataLength / this.columnNum);\n let rowsArr;\n if (this.defaultProps.isCarousel) {\n if (rowCount % this.carouselMaxRow !== 0) {\n rowCount = rowCount + this.carouselMaxRow - (rowCount % this.carouselMaxRow);\n }\n const pageCount = Math.ceil(rowCount / this.carouselMaxRow);\n rowsArr = this.getRows(rowCount, dataLength);\n if (pageCount <= 1) {\n this.carouselProps = {\n dots: false,\n dragging: false\n };\n } else {\n this.carouselProps = {\n dots: true,\n dragging: true\n };\n }\n this.carouselDataTmp = this.getCarouselData(rowsArr, pageCount, rowCount);\n } else {\n this.gridData = this.getRows(rowCount, dataLength);\n }\n }\n\n getCarouselData(rowsArr: any[], pageCount: number, rowCount: number) {\n const pagesArr: any[] = [];\n for (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {\n const pageRows: any[] = [];\n for (let ii = 0; ii < this.carouselMaxRow; ii++) {\n const rowIndex = pageIndex * this.carouselMaxRow + ii;\n if (rowIndex < rowCount) {\n pageRows.push(rowsArr[rowIndex]);\n } else {\n // 空节点为了确保末尾页的最后未到底的行有底线(样式中last-child会没线)\n pageRows.push(null);\n }\n }\n pagesArr.push(pageRows);\n }\n return pagesArr;\n }\n\n getRows(rowCount: number, dataLength: number) {\n const columnNum = this.columnNum;\n const rowArr = new Array();\n for (let i = 0; i < rowCount; i++) {\n rowArr[i] = new Array();\n for (let j = 0; j < columnNum; j++) {\n const dataIndex = i * columnNum + j;\n if (dataIndex < dataLength) {\n rowArr[i][j] = this._data[dataIndex];\n } else {\n rowArr[i][j] = null;\n }\n }\n }\n return rowArr;\n }\n\n click(data, index) {\n const outputData = {\n data: data,\n index: index\n };\n this.onClick.emit(outputData);\n }\n\n ngOnInit() {\n this.itemCls = {\n [`${this.defaultProps.prefixCls}-item`]: true,\n [`${this.defaultProps.prefixCls}-active-item`]: false\n };\n }\n}\n","<ng-container *ngIf=\"!isCarousel\">\n <Flex *ngFor=\"let item of gridData; let i = index\" [justify]=\"'center'\" [align]=\"'stretch'\">\n <FlexItem\n TouchFeedbackDirective\n *ngFor=\"let subItem of item; let j = index\"\n [ngClass]=\"itemCls\"\n [ngStyle]=\"itemStyle\"\n [className]=\"['am-grid-item-active']\"\n [activeStyle]=\"activeStyle\"\n >\n <div\n *ngIf=\"subItem !== null\"\n class=\"{{ defaultProps.prefixCls }}-item-content\"\n (click)=\"click(subItem, i * columnNum + j)\"\n >\n <div class=\"{{ defaultProps.prefixCls }}-item-inner-content column-num-{{ columnNum }}\">\n <img\n *ngIf=\"subItem.icon && getContentType(subItem.icon) === 'url'\"\n src=\"{{ subItem.icon }}\"\n class=\"{{ defaultProps.prefixCls }}-icon\"\n />\n <Icon\n *ngIf=\"subItem.icon && getContentType(subItem.icon) === 'icon'\"\n [type]=\"subItem.icon\"\n [size]=\"subItem.size\"\n ></Icon>\n <div\n *ngIf=\"subItem.icon && getContentType(subItem.icon) === 'innerHTML'\"\n [innerHTML]=\"subItem.icon | safeHTML\"\n ></div>\n <ng-template\n *ngIf=\"subItem.icon && getContentType(subItem.icon) === 'TemplateRef'\"\n [ngTemplateOutlet]=\"subItem.icon\"\n ></ng-template>\n <div class=\"{{ defaultProps.prefixCls }}-text\">{{ subItem.text }}</div>\n </div>\n </div>\n <div *ngIf=\"subItem === null\" class=\"{{ defaultProps.prefixCls }}-null-item\"></div>\n </FlexItem>\n </Flex>\n <ng-content></ng-content>\n</ng-container>\n\n<Carousel\n *ngIf=\"isCarousel && carouselDataTmp.length > 0\"\n [autoplay]=\"false\"\n [infinite]=\"true\"\n [selectedIndex]=\"0\"\n [autoplayInterval]=\"3000\"\n [dots]=\"carouselProps.dots\"\n [dragging]=\"carouselProps.dragging\"\n>\n <CarouselSlide\n *ngFor=\"let gridData of carouselDataTmp\"\n class=\"{{ defaultProps.prefixCls }}-carousel-page\"\n style=\"display: block;\"\n >\n <Flex *ngFor=\"let item of gridData; let i = index\" [justify]=\"'center'\" [align]=\"'stretch'\">\n <FlexItem\n TouchFeedbackDirective\n *ngFor=\"let subItem of item; let j = index\"\n class=\"{{ defaultProps.prefixCls }}-item\"\n [ngStyle]=\"itemStyle\"\n [className]=\"['am-grid-item-active']\"\n >\n <div\n *ngIf=\"subItem !== null\"\n class=\"{{ defaultProps.prefixCls }}-item-content\"\n (click)=\"click(subItem, i * columnNum + j)\"\n >\n <div class=\"{{ defaultProps.prefixCls }}-item-inner-content column-num-4\">\n <img class=\"{{ defaultProps.prefixCls }}-icon\" src=\"{{ subItem.icon }}\" />\n <div class=\"{{ defaultProps.prefixCls }}-text\">{{ subItem.text }}</div>\n </div>\n </div>\n <div *ngIf=\"subItem === null\" class=\"{{ defaultProps.prefixCls }}-null-item\"></div>\n </FlexItem>\n </Flex>\n </CarouselSlide>\n</Carousel>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GridComponent } from './grid.component';\nimport { FlexModule } from 'ng-zorro-antd-mobile/flex';\nimport { CarouselModule } from 'ng-zorro-antd-mobile/carousel';\nimport { IconModule } from 'ng-zorro-antd-mobile/icon';\nimport { TouchFeedbackModule } from 'ng-zorro-antd-mobile/core';\nimport { NgZorroAntdMobilePipesModule } from 'ng-zorro-antd-mobile/pipes';\n\n@NgModule({\n imports: [FlexModule, IconModule, CommonModule, CarouselModule, TouchFeedbackModule, NgZorroAntdMobilePipesModule],\n exports: [GridComponent],\n declarations: [GridComponent]\n})\nexport class GridModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}