{"version":3,"file":"ng-zorro-antd-mobile-menu.mjs","sources":["../../components/menu/sub-menu/sub-menu.component.ts","../../components/menu/sub-menu/sub-menu.component.html","../../components/menu/menu.component.ts","../../components/menu/menu.component.html","../../components/menu/menu.module.ts","../../components/menu/ng-zorro-antd-mobile-menu.ts"],"sourcesContent":["import { Component, ViewEncapsulation, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\n\n@Component({\n  selector: 'SubMenu, nzm-sub-menu',\n  templateUrl: './sub-menu.component.html',\n  encapsulation: ViewEncapsulation.None\n})\nexport class SubMenuComponent implements OnChanges {\n  prefixCls = 'am-sub-menu';\n\n  private _subMenuPrefixCls: string;\n  private _subMenuData;\n  private _multiSelect?: boolean;\n\n  @Output()\n  onSel: EventEmitter<any> = new EventEmitter<any>();\n\n  @Input()\n  radioPrefixCls: string;\n  @Input()\n  showSelect: boolean;\n  @Input()\n  selItem;\n  @Input()\n  get subMenuPrefixCls(): string {\n    return this._subMenuPrefixCls;\n  }\n  set subMenuPrefixCls(v: string) {\n    this._subMenuPrefixCls = v;\n  }\n  @Input()\n  get subMenuData(): any {\n    return this._subMenuData;\n  }\n  set subMenuData(v: any) {\n    this._subMenuData = v;\n  }\n  @Input()\n  get multiSelect(): boolean {\n    return this._multiSelect;\n  }\n  set multiSelect(v: boolean) {\n    this._multiSelect = v;\n  }\n\n  constructor() {}\n\n  onClick(dataItem) {\n    this.onSel.emit(dataItem);\n  }\n\n  selected(dataItem) {\n    return this.showSelect && (this.selItem.length > 0 && this.selItem.indexOf(dataItem.value) !== -1);\n  }\n\n  getClass(dataItem) {\n    let name = this.radioPrefixCls + '-item ';\n    name += this.selected(dataItem) ? this._subMenuPrefixCls + '-item-selected' : '';\n    name += dataItem.disabled ? this._subMenuPrefixCls + '-item-disabled' : '';\n    return name;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this._subMenuData.map(item => {\n      item.checked = this.selected(item);\n    });\n  }\n}\n","<List class=\"{{ subMenuPrefixCls }}\" style=\"padding: 0\">\n  <ListItem\n    *ngFor=\"let dataItem of subMenuData; let i = index\"\n    key=\"i\"\n    [className]=\"getClass(dataItem)\"\n    [extra]=\"extra\"\n  >\n    {{ dataItem.label }}\n\n    <ng-template #extra>\n      <label\n        Radio\n        *ngIf=\"!multiSelect\"\n        [checked]=\"dataItem.checked\"\n        [disabled]=\"dataItem.disabled\"\n        (onChange)=\"onClick(dataItem)\"\n      >\n      </label>\n      <label\n        Checkbox\n        *ngIf=\"multiSelect\"\n        [checked]=\"dataItem.checked\"\n        [disabled]=\"dataItem.disabled\"\n        (onChange)=\"onClick(dataItem)\"\n      >\n      </label>\n    </ng-template>\n  </ListItem>\n</List>\n","import { Component, OnInit, ViewEncapsulation, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { LocaleProviderService } from 'ng-zorro-antd-mobile/locale-provider';\nimport { takeUntil } from 'rxjs/operators';\n\ninterface LocaleValue {\n  okText: string;\n  cancelText: string;\n}\n\n@Component({\n  selector: 'Menu, nzm-menu',\n  templateUrl: './menu.component.html',\n  encapsulation: ViewEncapsulation.None\n})\nexport class MenuComponent implements OnInit, OnDestroy {\n  prefixCls: string = 'am-menu';\n  subMenuPrefixCls: string = 'am-sub-menu';\n  radioPrefixCls: string = 'am-radio';\n  multiSelectMenuBtnsCls: string = 'am-multi-select-btns';\n  menuSelectContanerPrefixCls: string = 'am-menu-select-container';\n  firstLevelSelectValue: number | string;\n  heightStyle: object;\n  subMenuData: Array<any>;\n  showSelect: boolean;\n  subSelInitItem: object;\n  locale: LocaleValue = {\n    okText: '',\n    cancelText: ''\n  };\n\n  private _data: Array<any> = [];\n  private _unsubscribe$: Subject<void> = new Subject<void>();\n\n  @Input()\n  get data() {\n    return this._data;\n  }\n  set data(v) {\n    this._data = v;\n    this.initData();\n  }\n  @Input()\n  level: number = 2;\n  @Input()\n  value: Array<any> = [];\n  @Input()\n  height: number = document.documentElement.clientHeight / 2;\n  @Input()\n  multiSelect: boolean = false;\n  @Output()\n  onChange: EventEmitter<any> = new EventEmitter<any>();\n  @Output()\n  onOk: EventEmitter<any> = new EventEmitter<any>();\n  @Output()\n  onCancel: EventEmitter<any> = new EventEmitter<any>();\n\n  constructor(private _localeProviderService: LocaleProviderService) {}\n\n  onMenuOk() {\n    this.onOk.emit(this.value);\n  }\n\n  onMenuCancel() {\n    this.onCancel.emit();\n  }\n\n  getNewFsv() {\n    let firstValue = '';\n    if (this.value && this.value.length) {\n      firstValue = this.value[0] as string;\n    } else if (this._data && this._data.length && !this._data[0].isLeaf) {\n      firstValue = this._data[0].value;\n    }\n    return firstValue;\n  }\n\n  onClickFirstLevelItem(dataItem) {\n    this.firstLevelSelectValue = dataItem.value;\n    if (dataItem.isLeaf && this.onChange) {\n      this.onChange.emit([dataItem.value]);\n    }\n    this.initData();\n  }\n\n  onClickSubMenuItem(dataItem) {\n    this.value = this.getSelectValue(dataItem);\n    this.initData();\n    setTimeout(() => {\n      this.onChange.emit(this.value);\n    }, 300);\n  }\n\n  getSelectValue(dataItem) {\n    if (this.multiSelect) {\n      if (this.value && this.value.length > 0) {\n        if (this.level === 2 && this.value[0] !== this.firstLevelSelectValue) {\n          return [this.firstLevelSelectValue, [dataItem.value]];\n        } else {\n          if (this.level == 1) {\n            const chosenValues = Array.from(this.value);\n            const existIndex = chosenValues.indexOf(dataItem.value);\n            if (existIndex === -1) {\n              chosenValues.push(dataItem.value);\n            } else {\n              chosenValues.splice(existIndex, 1);\n            }\n            return chosenValues;\n          } else {\n            const chosenValues = Array.from(this.value[1]);\n            const existIndex = chosenValues.indexOf(dataItem.value);\n            if (existIndex === -1) {\n              chosenValues.push(dataItem.value);\n            } else {\n              chosenValues.splice(existIndex, 1);\n            }\n            return [this.firstLevelSelectValue, chosenValues];\n          }\n        }\n      } else {\n        return this.level === 2 ? [this.firstLevelSelectValue, [dataItem.value]] : [dataItem.value];\n      }\n    }\n    return this.level === 2 ? [this.firstLevelSelectValue, dataItem.value] : [dataItem.value];\n  }\n\n  initData() {\n    this.subMenuData = this._data;\n    if (this.level === 2) {\n      let parent = this._data;\n      if (this.firstLevelSelectValue && this.firstLevelSelectValue !== '') {\n        parent = this._data.filter(dataItem => dataItem.value === this.firstLevelSelectValue);\n      }\n      if (parent[0] && parent[0].children && parent[0].isLeaf !== true) {\n        this.subMenuData = parent[0].children;\n      } else {\n        this.subMenuData = [];\n      }\n    }\n\n    let subValue = (this.value && this.value.length > 0 && [...this.value]) || [];\n    if (this.level === 2 && subValue.length > 1) {\n      subValue.shift();\n      if (this.multiSelect) {\n        subValue = subValue[0] as string[];\n      }\n    }\n\n    this.subSelInitItem = this.subMenuData\n      .filter(dataItem => subValue.indexOf(dataItem.value) !== -1)\n      .map(item => {\n        return item.value;\n      });\n\n    const parentValue = this.value && this.value.length > 1 && this.level === 2 ? this.value[0] : null;\n\n    this.showSelect = true;\n    if (this.level === 2 && parentValue !== this.firstLevelSelectValue) {\n      this.showSelect = false;\n    }\n  }\n\n  getClass(dataItem) {\n    return this.dataItemSelected(dataItem) ? this.prefixCls + '-selected' : '';\n  }\n\n  dataItemSelected(dataItem) {\n    return dataItem.value === this.firstLevelSelectValue;\n  }\n\n  ngOnInit() {\n    this._localeProviderService.localeChange.pipe(takeUntil(this._unsubscribe$)).subscribe(_ => {\n      this.locale = <LocaleValue>this._localeProviderService.getLocaleSubObj('Menu');\n    });\n\n    this.firstLevelSelectValue = this.getNewFsv();\n\n    this.heightStyle = {\n      height: this.height + 'px'\n    };\n    this.initData();\n  }\n\n  ngOnDestroy() {\n    this._unsubscribe$.next();\n    this._unsubscribe$.complete();\n  }\n}\n","<Flex class=\"{{ prefixCls }}\" [ngStyle]=\"heightStyle\" [direction]=\"'column'\" [align]=\"'stretch'\">\n  <Flex class=\"{{ menuSelectContanerPrefixCls }}\" [align]=\"'start'\">\n    <FlexItem *ngIf=\"level == 2\">\n      <List role=\"tablist\">\n        <ListItem\n          role=\"tab\"\n          *ngFor=\"let dataItem of data; let i = index\"\n          [className]=\"getClass(dataItem)\"\n          (click)=\"onClickFirstLevelItem(dataItem)\"\n        >\n          {{ dataItem.label }}\n        </ListItem>\n      </List>\n    </FlexItem>\n\n    <FlexItem role=\"tabpanel\" aria-hidden=\"false\" class=\"{{ menuSelectContanerPrefixCls }}-submenu\">\n      <SubMenu\n        [subMenuPrefixCls]=\"subMenuPrefixCls\"\n        [radioPrefixCls]=\"radioPrefixCls\"\n        [subMenuData]=\"subMenuData\"\n        [selItem]=\"subSelInitItem\"\n        [showSelect]=\"showSelect\"\n        [multiSelect]=\"multiSelect\"\n        (onSel)=\"onClickSubMenuItem($event)\"\n      >\n      </SubMenu>\n    </FlexItem>\n  </Flex>\n\n  <div *ngIf=\"multiSelect\" class=\"{{ multiSelectMenuBtnsCls }}\">\n    <a Button [className]=\"'am-multi-select-btns-btn'\" [inline]=\"true\" (onClick)=\"onMenuCancel()\">\n      {{ locale.cancelText }}\n    </a>\n    <a Button [className]=\"'am-multi-select-btns-btn'\" [inline]=\"true\" [type]=\"'primary'\" (onClick)=\"onMenuOk()\">\n      {{ locale.okText }}\n    </a>\n  </div>\n</Flex>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FlexModule } from 'ng-zorro-antd-mobile/flex';\nimport { ListModule } from 'ng-zorro-antd-mobile/list';\nimport { RadioModule } from 'ng-zorro-antd-mobile/radio';\nimport { CheckboxModule } from 'ng-zorro-antd-mobile/checkbox';\nimport { ButtonModule } from 'ng-zorro-antd-mobile/button';\nimport { MenuComponent } from './menu.component';\nimport { SubMenuComponent } from './sub-menu/sub-menu.component';\nimport { LocaleProviderModule } from 'ng-zorro-antd-mobile/locale-provider';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    FlexModule,\n    ListModule,\n    RadioModule,\n    CheckboxModule,\n    ButtonModule,\n    LocaleProviderModule,\n    FormsModule\n  ],\n  exports: [MenuComponent, SubMenuComponent],\n  declarations: [MenuComponent, SubMenuComponent]\n})\nexport class MenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i6.SubMenuComponent"],"mappings":"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"}