UNPKG

ng-devui

Version:

DevUI components based on Angular

1 lines 6.01 kB
{"version":3,"file":"ng-devui-badge.mjs","sources":["../../devui/badge/badge.component.ts","../../devui/badge/badge.component.html","../../devui/badge/badge.module.ts","../../devui/badge/ng-devui-badge.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n ViewChild\n} from '@angular/core';\nimport { BadgePositionType, BadgeStatusType } from './badge.types';\n\n\n@Component({\n selector: 'd-badge',\n templateUrl: './badge.component.html',\n styleUrls: ['./badge.component.scss']\n})\nexport class BadgeComponent implements AfterViewInit {\n hasContent = true;\n\n @ViewChild('contentProjection') contentProjection?: ElementRef;\n @Input() count: number | string;\n @Input() maxCount = 99;\n @Input() showDot = false;\n @Input() status: BadgeStatusType;\n /**\n * @deprecated\n * 用position替代\n */\n @Input() set badgePos(value: BadgePositionType) {\n this.position = value;\n }\n @Input() position: BadgePositionType = 'top-right';\n /**\n * @deprecated\n * 用offset替代\n */\n @Input() set offsetXY(value: [number, number]) {\n this.offset = value;\n }\n @Input() offset: [number, number];\n\n @Input() bgColor: string;\n @Input() textColor: string;\n\n hasContentProjection() {\n const nodes = this.contentProjection?.nativeElement;\n const contents = nodes.childNodes;\n this.hasContent = contents.length ? true : false;\n }\n\n parseCountToNumber() {\n if(typeof(this.count) === 'number') {\n return this.count;\n } else {\n const parseNumber = parseInt(this.count);\n return isNaN(parseNumber) ? -1 : parseNumber;\n }\n }\n\n constructor(\n private cdr: ChangeDetectorRef,\n ) { }\n\n ngAfterViewInit() {\n this.hasContentProjection();\n this.cdr.detectChanges();\n }\n\n}\n","<span #contentProjection><ng-content></ng-content></span>\n<span\n *ngIf=\"!showDot && !hasContent\"\n class=\"devui-badge-count devui-badge-count-{{ status }}\"\n [style.background]=\"bgColor\"\n [style.color]=\"textColor\"\n>\n {{ count }}\n</span>\n<span *ngIf=\"showDot && !hasContent\" class=\"devui-badge-status devui-badge-status-{{ status }}\"></span>\n<span\n *ngIf=\"hasContent\"\n class=\"devui-badge-content devui-badge-content-{{ status }} devui-badge-content-{{ position }}\"\n [style.background]=\"bgColor\"\n [style.color]=\"textColor\"\n [style.right.px]=\"offset && offset[0] ? -offset[0] : null\"\n [style.top.px]=\"offset && offset[1] ? offset[1] : null\"\n [ngClass]=\"{ 'devui-badge-content-count': !showDot, 'devui-badge-content-dot': showDot }\"\n>\n <ng-container *ngIf=\"!showDot && parseCountToNumber() <= maxCount\">{{ count }}</ng-container>\n <ng-container *ngIf=\"!showDot && parseCountToNumber() > maxCount\">{{ maxCount }}+</ng-container>\n</span>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { BadgeComponent } from './badge.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n exports: [BadgeComponent],\n declarations: [BadgeComponent]\n})\nexport class BadgeModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}