ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
1 lines • 22.7 kB
Source Map (JSON)
{"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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"}