123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- // import { Attribute } from '@angular/core';
- // import { LemmatizedEntityLabel } from './../../models/evt-models';
- import { Component, Input, OnInit, ViewChild } from '@angular/core';
- import { NgbNav } from '@ng-bootstrap/ng-bootstrap';
- import { map, shareReplay } from 'rxjs/operators';
- import { LemmatizedEntity } from '../../models/evt-models';
- import { register } from '../../services/component-register.service';
- import { EVTModelService } from '../../services/evt-model.service';
- import { normalizeUrl } from '../../utils/js-utils';
- @register(LemmatizedEntity)
- @Component({
- selector: 'evt-lemmatized-entity',
- templateUrl: './lemmatized-entity.component.html',
- styleUrls: ['./lemmatized-entity.component.scss'],
- })
- export class LemmatizedEntityComponent implements OnInit {
- @Input() data: LemmatizedEntity;
- @Input() inList: boolean;
- occurrences$ = this.evtModelService.lemsOccurrences$.pipe(
- map(occ => occ[this.data.id] || []),
- shareReplay(1),
- );
- relations$ = this.evtModelService.relations$.pipe(
- map(el => el.filter(rel => rel.activeParts.indexOf(this.data.id) >= 0 ||
- rel.passiveParts.indexOf(this.data.id) >= 0 || rel.mutualParts.indexOf(this.data.id) >= 0)));
- @ViewChild('lemDetails') lemDetails: NgbNav;
- public contentOpened = true;
- get selectedSection() {
- if (this.contentOpened) {
- return `${this.data && this.data.content.length === 0 ? 'occurrences' : 'info'}_${this.data.id}`;
- }
- return '';
- }
- get linkLem() {
- return normalizeUrl('http://tlio.ovi.cnr.it/TLIO/');
- }
- constructor(
- private evtModelService: EVTModelService,
- ) {
- }
- ngOnInit() {
- if (this.inList) {
- this.contentOpened = false;
- }
- }
- toggleContent() {
- if (this.inList) {
- this.contentOpened = !this.contentOpened;
- }
- }
- tabSelected(event: MouseEvent) {
- event.stopPropagation();
- }
- openlinkLem() {
- if (this.linkLem) {
- window.open(this.linkLem, '_blank');
- }
- }
- }
|