524 lines
26 KiB
TypeScript
524 lines
26 KiB
TypeScript
import {ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild} from "@angular/core";
|
||
import {Subscription} from "rxjs";
|
||
import {Meta, Title} from "@angular/platform-browser";
|
||
import {ActivatedRoute, Router} from "@angular/router";
|
||
import {OpenaireEntities} from "../../utils/properties/searchFields";
|
||
import {SEOService} from "../../sharedComponents/SEO/SEO.service";
|
||
import {properties} from "../../../../environments/environment";
|
||
import {Breadcrumb} from "../../utils/breadcrumbs/breadcrumbs.component";
|
||
|
||
declare var ResizeObserver;
|
||
|
||
@Component({
|
||
selector: 'terminology',
|
||
template: `
|
||
<div id="graph_element" #graph_element class="uk-blur-background" uk-sticky="bottom: true;" [attr.offset]="graph_offset">
|
||
<div class="uk-container uk-container-large uk-margin-small-top uk-margin-small-bottom">
|
||
<icon name="graph" customClass="text-graph"></icon>
|
||
<span class="uk-margin-small-left uk-text-meta">More information for </span>
|
||
<a href="https://graph.openaire.eu" class="text-graph">OpenAIRE Research Graph</a>
|
||
<span class="uk-text-meta">.</span>
|
||
</div>
|
||
</div>
|
||
<div class="uk-container uk-container-large uk-section uk-section-small uk-padding-remove-bottom">
|
||
<div class="uk-padding-small uk-padding-remove-horizontal">
|
||
<breadcrumbs [breadcrumbs]="breadcrumbs"></breadcrumbs>
|
||
</div>
|
||
</div>
|
||
<div class="uk-section" uk-scrollspy="target: [uk-scrollspy-class]; cls: uk-animation-fade; delay: 250">
|
||
<div class="uk-container uk-container-large" uk-scrollspy-class>
|
||
<h1>Terminology and <br> construction<span class="uk-text-primary">.</span></h1>
|
||
</div>
|
||
<div class="uk-section uk-container uk-container-large" uk-scrollspy-class>
|
||
<ul class="uk-tab" uk-tab>
|
||
<li>
|
||
<a>Entities</a>
|
||
</li>
|
||
<li>
|
||
<a>Inherited and Inferred Attributes</a>
|
||
</li>
|
||
<li>
|
||
<a>Constructed Attributes</a>
|
||
</li>
|
||
</ul>
|
||
<ul class="uk-switcher">
|
||
<li>
|
||
<dl class="uk-description-list uk-description-list-divider">
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1 uk-text-primary">Research Products</dt>
|
||
<dd class="uk-width-expand">
|
||
<div>There are four different types of research products in the
|
||
OpenAIRE Research Graph:
|
||
</div>
|
||
<ul class="uk-list uk-list-bullet uk-list-primary">
|
||
<li>Publications</li>
|
||
<li>Research data</li>
|
||
<li>Research software</li>
|
||
<li>Other research products.</li>
|
||
</ul>
|
||
<div class="uk-margin-small-top">
|
||
We deduplicate (merge) different records of research products and keep the metadata of all instances.
|
||
</div>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Publication</dt>
|
||
<dd class="uk-width-expand">
|
||
Research products intended for human reading (published articles, pre-prints, conference
|
||
papers, presentations, technical reports, etc.)
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Research data</dt>
|
||
<dd class="uk-width-expand">
|
||
<div>
|
||
The sources from which the description of the research data has been collected reflect and support their own granularity, we do not define it.
|
||
</div>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Research software</dt>
|
||
<dd class="uk-width-expand">
|
||
Source code or software package developed and/or used in a research context
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Other research product</dt>
|
||
<dd class="uk-width-expand">
|
||
Anything that does not fall in the previous categories (e.g. workflow, methods, protocols)
|
||
</dd>
|
||
</div>
|
||
</dl>
|
||
</li>
|
||
<li>
|
||
<div class="uk-text-center uk-padding">
|
||
We either inherit the attributes of entities via entries in the harvested metadata records or automatically generate them using our inference system (text and data mining algorithms).
|
||
</div>
|
||
<hr>
|
||
<dl class="uk-description-list uk-description-list-divider">
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Organization</dt>
|
||
<dd class="uk-width-expand">
|
||
<p><span class="uk-text-bold">For research products,</span> this refers to the
|
||
affiliated organizations of its authors</p>
|
||
<p><span class="uk-text-bold">For projects:</span>
|
||
the organizations participating in
|
||
the project
|
||
(i.e. beneficiaries of the grant)</p>
|
||
<p>
|
||
We are improving the organization database with the use of our <a href="https://orgs.openaire.eu/" target="_blank">OpenOrgs</a> tool. It allows curators to disambiguate organizations (merge different names of the same organization) and identify parent-child relationships (schools, departments, etc.).
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Country</dt>
|
||
<dd class="uk-width-expand">
|
||
<p>The country of the organization. </p>
|
||
<p>
|
||
<span class="uk-text-bold">Country code mapping: </span>
|
||
<a href="https://api.openaire.eu/vocabularies/dnet:countries" target="_blank">
|
||
https://api.openaire.eu/vocabularies/dnet:countries</a>
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Funder</dt>
|
||
<dd class="uk-width-expand">
|
||
<p>Funders that have joined OpenAIRE, i.e. their project data have
|
||
gone through a validation process.</p>
|
||
<p>You can visit <a class="https://explore.openaire.eu/search/find" target="_blank">https://explore.openaire.eu/search/find</a>
|
||
if you would like to explore the research products
|
||
and projects of all funders in OpenAIRE (the list of funders can be
|
||
seen under the "Funder" Filter shown on the left side of the page).</p>
|
||
<p><span class="uk-text-bold">For funder who want to join OpenAIRE: </span><a
|
||
href="https://www.openaire.eu/funders-how-to-join-guide" target="_blank">https://www.openaire.eu/funders-how-to-join-guide</a>
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Type</dt>
|
||
<dd class="uk-width-expand">
|
||
<p>The sub-type of a research outcome (e.g.,
|
||
a publication can be a pre-print, conference proceeding,
|
||
article,
|
||
etc.)</p>
|
||
<p><span class="uk-text-bold">Resource type mapping: </span>
|
||
<a href="https://api.openaire.eu/vocabularies/dnet:result_typologies" target="_blank">https://api.openaire.eu/vocabularies/dnet:result_typologies</a>
|
||
(click on the code to see the specific types for each result type)
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Access mode or access rights</dt>
|
||
<dd class="uk-width-expand">
|
||
<p>The best available (across all instances) access rights of
|
||
a research product</p>
|
||
<p>Types (by best available):</p>
|
||
<p><span class="uk-text-bold">Open:</span> Open Access</p>
|
||
<p><span class="uk-text-bold">Embargo:</span> Closed for a specific period of time, then open.</p>
|
||
<p><span class="uk-text-bold">Restricted:</span> Definition of restricted may vary by data source, it may refer to access rights being given to registered users, potentially behind a paywall.</p>
|
||
<p><span class="uk-text-bold">Closed:</span> Closed access</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">CC license</dt>
|
||
<dd class="uk-width-expand">
|
||
<p>A Creative Commons copyright license <a href="(https://creativecommons.org/)" target="_blank">(https://creativecommons.org/)</a>
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">PID (persistent identifier)</dt>
|
||
<dd class="uk-width-expand">
|
||
<p>A long-lasting reference to a resource</p>
|
||
<p><span class="uk-text-bold">Types: </span> <a
|
||
href="http://api.openaire.eu/vocabularies/dnet:pid_types" target="_blank">http://api.openaire.eu/vocabularies/dnet:pid_types</a>
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Context</dt>
|
||
<dd class="uk-width-expand">
|
||
Related research community, initiative or infrastructure.
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Journal</dt>
|
||
<dd class="uk-width-expand">
|
||
The scientific journal an article is published in.
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Publisher</dt>
|
||
<dd class="uk-width-expand">
|
||
The publisher of the venue (journal, book, etc.) of a research product.
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1 uk-text-primary">Data sources (content providers)</dt>
|
||
<dd class="uk-width-expand">
|
||
<p>The different data sources ingested in the OpenAIRE Research Graph.</p>
|
||
<div class="uk-text-bold">Data Source Types:</div>
|
||
<ul class="uk-list uk-list-disc">
|
||
<li>Repositories</li>
|
||
<li>Open Access Publishers & Journals</li>
|
||
<li>Aggregators</li>
|
||
<li>Entity Registries</li>
|
||
<li>Journal Aggregators</li>
|
||
<li>CRIS (Current Research Information System)</li>
|
||
</ul>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Repositories</dt>
|
||
<dd class="uk-width-expand">
|
||
Information systems where scientists upload the bibliographic metadata and payloads of their
|
||
research products (e.g. PDFs of their scientific articles, CSVs of their data,
|
||
archive with their
|
||
software), due to obligations from their organizations, their
|
||
funders, or due to community practices
|
||
(e.g. ArXiv, Europe PMC, Zenodo).
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Open Access Publishers & Journals</dt>
|
||
<dd class="uk-width-expand">
|
||
Information systems of open access publishers or relative journals, which offer bibliographic
|
||
metadata and PDFs of their published articles.
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Aggregators</dt>
|
||
<dd class="uk-width-expand">
|
||
Information systems that collect descriptive metadata about research products
|
||
from multiple sources
|
||
in order to enable cross-data source discovery of given research products (e,g,
|
||
DataCite,
|
||
BASE, DOAJ).
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">Entity Registries</dt>
|
||
<dd class="uk-width-expand">
|
||
Information systems created with the intent of maintaining authoritative registries of given
|
||
entities in the scholarly communication, such as OpenDOAR for the institutional repositories, re3data
|
||
for the data repositories, CORDA and other funder databases
|
||
for projects and funding information.
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-5@m uk-width-1-1">CRIS (Current Research Information System)</dt>
|
||
<dd class="uk-width-expand">
|
||
Information systems adopted by research and academic organizations to
|
||
keep track of their research
|
||
administration records and relative results; examples of CRIS content are articles
|
||
or research data funded
|
||
by projects, their principal investigators, facilities acquired
|
||
thanks to funding, etc.
|
||
</dd>
|
||
</div>
|
||
</dl>
|
||
</li>
|
||
<li>
|
||
<div class="uk-text-center uk-padding">
|
||
All attributes in this tab are constructed by us, with the methodology presented below.
|
||
</div>
|
||
<hr>
|
||
<dl class="uk-description-list uk-description-list-divider">
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Attribute</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1 uk-text-bold">Definition</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1 uk-text-bold">How we build it</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-padding-small uk-text-bold uk-text-primary">
|
||
Journal Business Models
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Fully Open Access (OA)</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>A journal that publishes only in open access.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>We follow <a target="_blank" href="https://support.unpaywall.org/support/solutions/articles/44001792752-how-do-we-decide-if-a-given-journal-is-fully-oa-">Unpaywall’s approach</a> on defining fully Open Access journals and publishers and we construct the lists of the latter using Unpaywall data.</p>
|
||
<p>In brief, a journal is fully Open Access if one or more of the following occur: </p>
|
||
<ol>
|
||
<li>It is in the Directory of Open Access Journals (DOAJ)</li>
|
||
<li>It has a known fully OA Publisher (curated list).</li>
|
||
<li>It only publishes OA articles.</li>
|
||
</ol>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Subscription</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>A journal that charges for access to its articles.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>Journals without any open access articles.</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Hybrid</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>A subscription journal where some of its articles are open access.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>Journals with open access articles that are not fully OA journals.</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Transformative</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>"A Transformative Journal is a subscription/hybrid journal that is actively committed to
|
||
transitioning to a fully Open Access journal.</p>
|
||
<p>In addition, a Transformative Journal must:</p>
|
||
<ul>
|
||
<li>gradually increase the share of Open Access content; and</li>
|
||
<li>offset subscription income from payments for publishing services (to avoid double payments)."
|
||
</li>
|
||
</ul>
|
||
<p>Source: <a href="https://www.coalition-s.org/transformative-journals-faq/" target="_blank">Plan S initiative</a></p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>
|
||
We identify Transformative Journals by ISSN matching with the publicly available <a href="https://journalcheckertool.org/transformative-journals/" target="_blank">Transformative Journals data</a> from Plan S initiative.
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-padding-small uk-text-bold uk-text-primary">
|
||
Journal APC Business Models
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Diamond OA</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>A fully OA journal that does not charge article processing charges (APCs).</p>
|
||
<p>In other words, fully OA journals are either diamond, or charge APCs.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>
|
||
We obtain APC data from DOAJ using <a href="https://doaj.org/docs/public-data-dump/" target="_blank">DOAJ’s Public Data Dump</a> (an exportable version of the journal metadata). We used it to determine whether a particular fully OA journal charges APCs.
|
||
</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-padding-small uk-text-bold uk-text-primary">
|
||
Routes to Open Access (OA)
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Green OA</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>An open access scientific publication deposited in a repository</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>As in definition</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Gold OA</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>A scientific publication published in a fully OA journal.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>We define fully OA journals above.</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Hybrid OA</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>An open access scientific publication published in a hybrid journal with an open license.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>We define hybrid journals above.</p>
|
||
<p>At this point we consider only CC licenses “open”. We are currently working on cleaning non-CC
|
||
licenses as well to identify other open ones.</p>
|
||
<p>In principle, this means that we may be underestimating the number of hybrid OA articles and
|
||
overestimating the number of bronze.</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Bronze OA</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>An open access scientific publication published in a hybrid journal without an open license.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
<div class="uk-padding-small uk-text-bold uk-text-primary">
|
||
Miscellaneous
|
||
</div>
|
||
<hr>
|
||
<div class="uk-grid uk-padding-small" uk-grid>
|
||
<dt class="uk-width-1-3@m uk-width-1-1">Downloads</dt>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>The number of downloads of a publication’s full text in a specific time frame, from a given set of
|
||
data sources.</p>
|
||
</dd>
|
||
<dd class="uk-width-1-3@m uk-width-1-1">
|
||
<p>We utilize the usage data for the downloads from <a href="https://www.openaire.eu/guides-usage-counts" target="_blank">OpenAIRE’s Usage Counts service</a> that harvests it from a set of
|
||
datasources. The time range of available downloads varies for each datasource.</p>
|
||
</dd>
|
||
</div>
|
||
<hr>
|
||
</dl>
|
||
</li>
|
||
</ul>
|
||
<!-- <div class="uk-margin-medium-top">
|
||
<icon name="graph" customClass="text-graph"></icon>
|
||
<span class="uk-margin-small-left uk-text-meta">More information for </span>
|
||
<a href="https://graph.openaire.eu" class="text-graph">OpenAIRE Research Graph</a>
|
||
<span class="uk-text-meta">.</span>
|
||
</div> -->
|
||
</div>
|
||
</div>
|
||
`
|
||
})
|
||
export class TerminologyComponent implements OnInit, OnDestroy {
|
||
public tab: 'entities' | 'attributes' = 'entities';
|
||
private subscriptions: any[] = [];
|
||
public openaireEntities = OpenaireEntities;
|
||
public breadcrumbs: Breadcrumb[] = [{name: 'home', route: '/'}, {name: 'Resources - Terminology and construction', keepFormat: true}];
|
||
public graph_offset: number = 0;
|
||
public graph_height: number = 0;
|
||
@ViewChild("graph_element") graph_element;
|
||
|
||
constructor(private seoService: SEOService,
|
||
private meta: Meta,
|
||
private router: Router,
|
||
private route: ActivatedRoute,
|
||
private title: Title,
|
||
private cdr: ChangeDetectorRef) {
|
||
}
|
||
|
||
ngOnInit() {
|
||
this.subscriptions.push(this.route.params.subscribe(params => {
|
||
const description = "Monitor | Terminology and construction";
|
||
const title = "Monitor | Terminology and construction";
|
||
this.metaTags(title, description);
|
||
this.breadcrumbs[0].route = '/' + (params['stakeholder']?params['stakeholder']:'');
|
||
this.breadcrumbs[0].name = (params['stakeholder']?'dashboard':'home');
|
||
}));
|
||
}
|
||
|
||
ngAfterViewInit() {
|
||
if (typeof document !== 'undefined') {
|
||
if(this.graph_element) {
|
||
this.observeGraphElement();
|
||
}
|
||
}
|
||
}
|
||
|
||
ngAfterContentChecked() {
|
||
if(this.graph_element && typeof document !== 'undefined') {
|
||
this.graph_offset = this.calcGraphOffset(this.graph_element.nativeElement);
|
||
}
|
||
}
|
||
|
||
ngOnDestroy() {
|
||
this.subscriptions.forEach(subscription => {
|
||
if (subscription instanceof Subscription) {
|
||
subscription.unsubscribe();
|
||
}
|
||
});
|
||
}
|
||
|
||
public observeGraphElement() {
|
||
let resizeObs = new ResizeObserver(entries => {
|
||
entries.forEach(entry => {
|
||
setTimeout(() => {
|
||
this.graph_offset = this.calcGraphOffset(entry.target);
|
||
this.cdr.detectChanges();
|
||
});
|
||
})
|
||
});
|
||
this.subscriptions.push(resizeObs);
|
||
resizeObs.observe(this.graph_element.nativeElement);
|
||
}
|
||
|
||
calcGraphOffset(element) {
|
||
this.graph_height = element.offsetHeight;
|
||
return window.innerHeight-this.graph_height;
|
||
}
|
||
|
||
metaTags(title, description) {
|
||
const url = properties.domain + properties.baseLink + this.router.url;
|
||
this.seoService.createLinkForCanonicalURL(url, false);
|
||
this.meta.updateTag({content: url}, "property='og:url'");
|
||
this.meta.updateTag({content: description}, "name='description'");
|
||
this.meta.updateTag({content: description}, "property='og:description'");
|
||
this.meta.updateTag({content: title}, "property='og:title'");
|
||
this.title.setTitle(title);
|
||
}
|
||
}
|