Skip to content

Instantly share code, notes, and snippets.

<app-error-card></app-error-card>
<app-error-card>
Another error text
<div>
<a href="google.com">Google it</a>
</div>
</app-error-card>
import {
Component,
ChangeDetectionStrategy,
Input,
Output,
EventEmitter,
HostListener,
ViewChild,
ElementRef,
forwardRef,
export class MultiselectComponent implements ControlValueAccessor {
[...]
open = false;
disabled = false;
[...]
writeValue(items: Array<ListItem>): void {
this.selectedItems = items || [];
export class MultiselectComponent implements ControlValueAccessor {
[...]
private onChange = (_: Array<ListItem>) => { };
private onTouch = () => { };
@HostListener('document:click', ['$event.target'])
public onClick(targetElement) {
const clickedInside = this.multiselect.nativeElement.contains(targetElement);
if (!clickedInside) {
export class MultiselectComponent implements ControlValueAccessor {
[...]
private onChange = (_: Array<ListItem>) => { };
private onTouch = () => { };
@HostListener('document:click', ['$event.target'])
public onClick(targetElement) {
const clickedInside = this.multiselect.nativeElement.contains(targetElement);
if (!clickedInside) {
export class MultiselectComponent implements ControlValueAccessor {
[...]
private onChange = (_: Array<ListItem>) => { };
[...]
writeValue(items: Array<ListItem>): void {
throw new Error('Method not implemented.');
<app-multiselect name="my-component" [items]="possiblePets" (itemSelected)="addPet($event)"></app-multiselect>
$color-border: #adadad;
$color-selected: #d2d2d2;
$color-selected-background: #fcfcfc;
$spacing-extra-small: 4px;
$spacing-small: 8px;
$spacing-large: 12px;
$border-radius: 3px;
:host {
<div #multiselect class="multiselect">
<div class="input" (click)="toggleDropdown()">
<span (click)="onItemClick(item)" class="selected-item" *ngFor="let item of selectedItems;trackBy: trackByFn">
{{item.text}}
</span>
</div>
<div class="dropdown-list" [hidden]="!open">
<ul>
<li *ngFor="let item of items" (click)="onItemClick(item)"
[class.selected]="isItemAlreadySelected(item)">