{"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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"}