ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 20.1 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-rate.mjs","sources":["../../components/rate/rate-item.component.ts","../../components/rate/rate.component.ts","../../components/rate/rate.module.ts","../../components/rate/public-api.ts","../../components/rate/ng-zorro-antd-rate.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { BooleanInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: '[nz-rate-item]',\n exportAs: 'nzRateItem',\n template: `\n <div\n class=\"ant-rate-star-second\"\n (mouseover)=\"hoverRate(false); $event.stopPropagation()\"\n (click)=\"clickRate(false)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"character || defaultCharacter\"\n [ngTemplateOutletContext]=\"{ $implicit: index }\"\n ></ng-template>\n </div>\n <div class=\"ant-rate-star-first\" (mouseover)=\"hoverRate(true); $event.stopPropagation()\" (click)=\"clickRate(true)\">\n <ng-template\n [ngTemplateOutlet]=\"character || defaultCharacter\"\n [ngTemplateOutletContext]=\"{ $implicit: index }\"\n ></ng-template>\n </div>\n\n <ng-template #defaultCharacter>\n <i nz-icon nzType=\"star\" nzTheme=\"fill\"></i>\n </ng-template>\n `\n})\nexport class NzRateItemComponent {\n static ngAcceptInputType_allowHalf: BooleanInput;\n\n @Input() character!: TemplateRef<void>;\n @Input() index = 0;\n @Input() @InputBoolean() allowHalf: boolean = false;\n @Output() readonly itemHover = new EventEmitter<boolean>();\n @Output() readonly itemClick = new EventEmitter<boolean>();\n\n hoverRate(isHalf: boolean): void {\n this.itemHover.next(isHalf && this.allowHalf);\n }\n\n clickRate(isHalf: boolean): void {\n this.itemClick.next(isHalf && this.allowHalf);\n }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { Direction, Directionality } from '@angular/cdk/bidi';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n NgZone,\n OnChanges,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fromEvent } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { BooleanInput, NgClassType, NumberInput } from 'ng-zorro-antd/core/types';\nimport { InputBoolean, InputNumber } from 'ng-zorro-antd/core/util';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'rate';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'nz-rate',\n exportAs: 'nzRate',\n preserveWhitespaces: false,\n template: `\n <ul\n #ulElement\n class=\"ant-rate\"\n [class.ant-rate-disabled]=\"nzDisabled\"\n [class.ant-rate-rtl]=\"dir === 'rtl'\"\n [ngClass]=\"classMap\"\n (keydown)=\"onKeyDown($event); $event.preventDefault()\"\n (mouseleave)=\"onRateLeave(); $event.stopPropagation()\"\n [tabindex]=\"nzDisabled ? -1 : 1\"\n >\n <li\n *ngFor=\"let star of starArray; let i = index\"\n class=\"ant-rate-star\"\n [ngClass]=\"starStyleArray[i] || ''\"\n nz-tooltip\n [nzTooltipTitle]=\"nzTooltips[i]\"\n >\n <div\n nz-rate-item\n [allowHalf]=\"nzAllowHalf\"\n [character]=\"nzCharacter\"\n [index]=\"i\"\n (itemHover)=\"onItemHover(i, $event)\"\n (itemClick)=\"onItemClick(i, $event)\"\n ></div>\n </li>\n </ul>\n `,\n providers: [\n NzDestroyService,\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NzRateComponent),\n multi: true\n }\n ]\n})\nexport class NzRateComponent implements OnInit, ControlValueAccessor, OnChanges {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n static ngAcceptInputType_nzAllowClear: BooleanInput;\n static ngAcceptInputType_nzAllowHalf: BooleanInput;\n static ngAcceptInputType_nzDisabled: BooleanInput;\n static ngAcceptInputType_nzAutoFocus: BooleanInput;\n static ngAcceptInputType_nzCount: NumberInput;\n\n @ViewChild('ulElement', { static: true }) ulElement!: ElementRef<HTMLUListElement>;\n\n @Input() @WithConfig() @InputBoolean() nzAllowClear: boolean = true;\n @Input() @WithConfig() @InputBoolean() nzAllowHalf: boolean = false;\n @Input() @InputBoolean() nzDisabled: boolean = false;\n @Input() @InputBoolean() nzAutoFocus: boolean = false;\n @Input() nzCharacter!: TemplateRef<void>;\n @Input() @InputNumber() nzCount: number = 5;\n @Input() nzTooltips: string[] = [];\n @Output() readonly nzOnBlur = new EventEmitter<FocusEvent>();\n @Output() readonly nzOnFocus = new EventEmitter<FocusEvent>();\n @Output() readonly nzOnHoverChange = new EventEmitter<number>();\n @Output() readonly nzOnKeyDown = new EventEmitter<KeyboardEvent>();\n\n classMap: NgClassType = {};\n starArray: number[] = [];\n starStyleArray: NgClassType[] = [];\n dir: Direction = 'ltr';\n\n private hasHalf = false;\n private hoverValue = 0;\n private isFocused = false;\n private _value = 0;\n\n get nzValue(): number {\n return this._value;\n }\n\n set nzValue(input: number) {\n if (this._value === input) {\n return;\n }\n\n this._value = input;\n this.hasHalf = !Number.isInteger(input);\n this.hoverValue = Math.ceil(input);\n }\n\n constructor(\n public nzConfigService: NzConfigService,\n private ngZone: NgZone,\n private renderer: Renderer2,\n private cdr: ChangeDetectorRef,\n @Optional() private directionality: Directionality,\n private destroy$: NzDestroyService\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzAutoFocus, nzCount, nzValue } = changes;\n\n if (nzAutoFocus && !nzAutoFocus.isFirstChange()) {\n const el = this.ulElement.nativeElement;\n if (this.nzAutoFocus && !this.nzDisabled) {\n this.renderer.setAttribute(el, 'autofocus', 'autofocus');\n } else {\n this.renderer.removeAttribute(el, 'autofocus');\n }\n }\n\n if (nzCount) {\n this.updateStarArray();\n }\n\n if (nzValue) {\n this.updateStarStyle();\n }\n }\n\n ngOnInit(): void {\n this.nzConfigService\n .getConfigChangeEventForComponent(NZ_CONFIG_MODULE_NAME)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.cdr.markForCheck());\n\n this.directionality.change.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n\n this.dir = this.directionality.value;\n\n this.ngZone.runOutsideAngular(() => {\n fromEvent<FocusEvent>(this.ulElement.nativeElement, 'focus')\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n this.isFocused = true;\n if (this.nzOnFocus.observers.length) {\n this.ngZone.run(() => this.nzOnFocus.emit(event));\n }\n });\n\n fromEvent<FocusEvent>(this.ulElement.nativeElement, 'blur')\n .pipe(takeUntil(this.destroy$))\n .subscribe(event => {\n this.isFocused = false;\n if (this.nzOnBlur.observers.length) {\n this.ngZone.run(() => this.nzOnBlur.emit(event));\n }\n });\n });\n }\n\n onItemClick(index: number, isHalf: boolean): void {\n if (this.nzDisabled) {\n return;\n }\n\n this.hoverValue = index + 1;\n\n const actualValue = isHalf ? index + 0.5 : index + 1;\n\n if (this.nzValue === actualValue) {\n if (this.nzAllowClear) {\n this.nzValue = 0;\n this.onChange(this.nzValue);\n }\n } else {\n this.nzValue = actualValue;\n this.onChange(this.nzValue);\n }\n\n this.updateStarStyle();\n }\n\n onItemHover(index: number, isHalf: boolean): void {\n if (this.nzDisabled || (this.hoverValue === index + 1 && isHalf === this.hasHalf)) {\n return;\n }\n\n this.hoverValue = index + 1;\n this.hasHalf = isHalf;\n this.nzOnHoverChange.emit(this.hoverValue);\n\n this.updateStarStyle();\n }\n\n onRateLeave(): void {\n this.hasHalf = !Number.isInteger(this.nzValue);\n this.hoverValue = Math.ceil(this.nzValue);\n\n this.updateStarStyle();\n }\n\n focus(): void {\n this.ulElement.nativeElement.focus();\n }\n\n blur(): void {\n this.ulElement.nativeElement.blur();\n }\n\n onKeyDown(e: KeyboardEvent): void {\n const oldVal = this.nzValue;\n\n if (e.keyCode === RIGHT_ARROW && this.nzValue < this.nzCount) {\n this.nzValue += this.nzAllowHalf ? 0.5 : 1;\n } else if (e.keyCode === LEFT_ARROW && this.nzValue > 0) {\n this.nzValue -= this.nzAllowHalf ? 0.5 : 1;\n }\n\n if (oldVal !== this.nzValue) {\n this.onChange(this.nzValue);\n this.nzOnKeyDown.emit(e);\n this.updateStarStyle();\n this.cdr.markForCheck();\n }\n }\n\n private updateStarArray(): void {\n this.starArray = Array(this.nzCount)\n .fill(0)\n .map((_, i) => i);\n\n this.updateStarStyle();\n }\n\n private updateStarStyle(): void {\n this.starStyleArray = this.starArray.map(i => {\n const prefix = 'ant-rate-star';\n const value = i + 1;\n return {\n [`${prefix}-full`]: value < this.hoverValue || (!this.hasHalf && value === this.hoverValue),\n [`${prefix}-half`]: this.hasHalf && value === this.hoverValue,\n [`${prefix}-active`]: this.hasHalf && value === this.hoverValue,\n [`${prefix}-zero`]: value > this.hoverValue,\n [`${prefix}-focused`]: this.hasHalf && value === this.hoverValue && this.isFocused\n };\n });\n }\n\n writeValue(value: number | null): void {\n this.nzValue = value || 0;\n this.updateStarArray();\n this.cdr.markForCheck();\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.nzDisabled = isDisabled;\n }\n\n registerOnChange(fn: (_: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n onChange: (value: number) => void = () => null;\n onTouched: () => void = () => null;\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { BidiModule } from '@angular/cdk/bidi';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { NzRateItemComponent } from './rate-item.component';\nimport { NzRateComponent } from './rate.component';\n\n@NgModule({\n exports: [NzRateComponent],\n declarations: [NzRateComponent, NzRateItemComponent],\n imports: [BidiModule, CommonModule, NzIconModule, NzToolTipModule]\n})\nexport class NzRateModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './rate.component';\nexport * from './rate.module';\nexport * from './rate-item.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}