/* * Squidex Headless CMS * * @license * Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved. */ import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; import { AppLanguageDto, ContentDto, getContentValue } from '@app/shared'; /* tslint:disable:component-selector */ @Component({ selector: '[sqxReferenceItem]', styleUrls: ['./reference-item.component.scss'], template: ` {{content.schemaDisplayName}}
`, changeDetection: ChangeDetectionStrategy.OnPush }) export class ReferenceItemComponent implements OnChanges { @Output() public delete = new EventEmitter(); @Input() public language: AppLanguageDto; @Input() public isCompact = false; @Input() public columnCount = 0; @Input('sqxReferenceItem') public content: ContentDto; public values: ReadonlyArray = []; public ngOnChanges(changes: SimpleChanges) { this.updateValues(); } public emitDelete() { this.delete.emit(); } private updateValues() { const values = []; for (let i = 0; i < this.columnCount; i++) { const field = this.content.referenceFields[i]; if (field) { const { formatted } = getContentValue(this.content, this.language, field); values.push(formatted); } else { values.push(''); } } this.values = values; } }