mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 08:13:42 +00:00
* [AC-1088] Set no-wrap to 'select all' column on groups table * [AC-1088] Using EllipsisPipe on GroupsComponent to truncate group names * [AC-1088] Reverted using no-wrap on column header * [AC-1088] Removed truncateCollectionNames * [AC-1088] Added 'truncate' option to badge and badge-list components * [AC-1088] Truncating collection names on groups component * [AC-1088] Marked EllipsisPipe as deprecated * [AC-1088] Removed EllipsisPipe from GroupsComponent * [AC-1088] Added badge truncate to storybook stories * [AC-1088] Setting badge css requirements for truncate * [AC-1088] Added storybook stories for truncated badges * [AC-1088] Set badges truncate default value to true * [AC-1088] Set badges to use class tw-inline-block and tw-align-text-top * [AC-1088] Set title on each badge list item if truncated * [AC-1088] Set title on badge if truncated * [AC-1088] Removed duplicate truncate on badge-list component * [AC-1088] Swapped setting badge title from ngAfterContentInit to HostBinding * [AC-1088] Configured badge stories to have the truncate option * [AC-1088] Fixed badges tooltip to not include commas added for screen readers on badge lists * [AC-1088] Added lengthy text to single badge on storybook * [AC-1088] In badge-list moved the commas out from the badges * [AC-1088] Removed irrelevant comment and moved the text align class next to other font classes
37 lines
959 B
TypeScript
37 lines
959 B
TypeScript
import { Component, Input, OnChanges } from "@angular/core";
|
|
|
|
import { BadgeTypes } from "../badge";
|
|
|
|
@Component({
|
|
selector: "bit-badge-list",
|
|
templateUrl: "badge-list.component.html",
|
|
})
|
|
export class BadgeListComponent implements OnChanges {
|
|
private _maxItems: number;
|
|
|
|
protected filteredItems: string[] = [];
|
|
protected isFiltered = false;
|
|
|
|
@Input() badgeType: BadgeTypes = "primary";
|
|
@Input() items: string[] = [];
|
|
@Input() truncate = true;
|
|
|
|
@Input()
|
|
get maxItems(): number | undefined {
|
|
return this._maxItems;
|
|
}
|
|
|
|
set maxItems(value: number | undefined) {
|
|
this._maxItems = value == undefined ? undefined : Math.max(1, value);
|
|
}
|
|
|
|
ngOnChanges() {
|
|
if (this.maxItems == undefined || this.items.length <= this.maxItems) {
|
|
this.filteredItems = this.items;
|
|
} else {
|
|
this.filteredItems = this.items.slice(0, this.maxItems - 1);
|
|
}
|
|
this.isFiltered = this.items.length > this.filteredItems.length;
|
|
}
|
|
}
|