Metadata added in every page | claimsByToken.component: input of datatables is filtered by a pipe, which searches all columns for some input-keyword | paging information (total results, current page, total pages) added and is updated for every filtering

git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-portal/trunk@47451 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
konstantina.galouni 2017-06-02 17:49:12 +00:00
parent 10e9fb8fdc
commit a2f2f7dfe8
24 changed files with 244 additions and 74 deletions

View File

@ -1,6 +1,7 @@
import {Component, ViewChild, Input} from '@angular/core';
import {Location} from '@angular/common';
import {Observable} from 'rxjs/Observable';
import { Meta} from '../../../angular2-meta';
@Component({
selector: 'claims-admin',
@ -18,8 +19,8 @@ import {Observable} from 'rxjs/Observable';
})
export class ClaimsAdminComponent {
constructor ( ) {
constructor ( private _meta: Meta ) {
this._meta.setTitle("Claims Administrator | OpenAIRE");
}
ngOnInit() {
}

View File

@ -1,7 +1,7 @@
import {Component, ViewChild, Input} from '@angular/core';
import {Location} from '@angular/common';
import {Observable} from 'rxjs/Observable';
import {ActivatedRoute, Router, Params} from '@angular/router';
import {ActivatedRoute, Params} from '@angular/router';
import {ClaimsByTokenService} from './claimsByToken.service';
import {ModalSelect} from '../../utils/modal/selectModal.component';
@ -11,6 +11,8 @@ import {Session} from '../../login/utils/helper.class';
import {RouterHelper} from '../../utils/routerHelper.class';
import { Meta} from '../../../angular2-meta';
import {ClaimsDatatablePipe} from '../../utils/pipes/claimsDatatable.pipe';
//import {DataTable} from "angular2-datatable";
@Component({
@ -79,9 +81,12 @@ import { Meta} from '../../../angular2-meta';
</tr>
</tbody>
</table-->
<table *ngIf="pending_claims && pending_claims.length > 0" class="uk-table uk-table-striped"
[mfData]="pending_claims" #mf1="mfDataTable" [mfRowsOnPage]="rowsOnPage" [mfActivePage]="1">
<span *ngIf="pending_claims && pending_claims.length > 0 && totalPendingResults.count > 0">
{{totalPendingResults.count}} pending claims, page {{activePendingPage.page}} of {{totalPages(totalPendingResults.count)}}
<paging-no-load class="uk-float-right" [currentPage]="activePendingPage.page" [totalResults]="totalPendingResults.count" [size]="rowsOnPage" (pageChange)="refreshTable(table1, $event, 'pending')"></paging-no-load>
</span>
<table #filtered1 *ngIf="pending_claims && pending_claims.length > 0" class="uk-table uk-table-striped"
[mfData]="pending_claims | claimsDatatable : [filterQuery, totalPendingResults, activePendingPage]" #mf1="mfDataTable" [mfRowsOnPage]="rowsOnPage" [mfActivePage]="1">
<!--[(mfSortBy)]="sortByClaimDate1" (mfSortOrder)="sortOrder"-->
<thead>
<tr>
@ -90,6 +95,12 @@ import { Meta} from '../../../angular2-meta';
<th class="uk-text-center"><mfDefaultSorter [by]="sortByClaimDate1">Claimed Date</mfDefaultSorter></th>
<th class="uk-text-center">Approve</th>
</tr>
<tr>
<td colspan="4">
Filter pending claims:
<input class="form-control" [(ngModel)]="filterQuery"/>
</td>
</tr>
</thead>
<tbody>
<tr class="uk-table-middle" *ngFor="let claim1 of mf1.data">
@ -114,7 +125,6 @@ import { Meta} from '../../../angular2-meta';
<!--paging-no-load class="uk-width-1-1" [currentPage]="1" [totalResults]="pending_claims.length" [size]="rowsOnPage" (pageChange)="refreshTable(mf1, $event)"></paging-no-load-->
</tfoot>
</table>
<paging-no-load class="uk-float-right" [currentPage]="1" [totalResults]="pending_claims.length" [size]="rowsOnPage" (pageChange)="refreshTable(table1, $event)"></paging-no-load>
</div>
@ -124,7 +134,7 @@ import { Meta} from '../../../angular2-meta';
<div class = "uk-alert uk-alert-primary " >No curated claims found.</div>
</div>
<div class="uk-overflow-container custom-dataTable-content">
<div class="uk-overflow-container custom-dataTable-content">
<!--table *ngIf="curated_claims && curated_claims.length > 0" class="uk-table uk-table-striped">
<thead>
<tr>
@ -157,9 +167,13 @@ import { Meta} from '../../../angular2-meta';
</tr>
</tbody>
</table-->
<span *ngIf="curated_claims && curated_claims.length > 0 && totalCuratedResults.count > 0">
{{totalCuratedResults.count}} curated claims, page {{activeCuratedPage.page}} of {{totalPages(totalCuratedResults.count)}}
<paging-no-load class="uk-float-right" [currentPage]="activeCuratedPage.page" [totalResults]="totalCuratedResults.count" [size]="rowsOnPage" (pageChange)="refreshTable(table2, $event, 'curated')"> </paging-no-load>
</span>
<table *ngIf="curated_claims && curated_claims.length > 0" class="uk-table uk-table-striped"
[mfData]="curated_claims" #mf2="mfDataTable" [mfRowsOnPage]="rowsOnPage" [mfActivePage]="1">
[mfData]="curated_claims | claimsDatatable : [filterQuery2, totalCuratedResults, activeCuratedPage]" #mf2="mfDataTable" [mfRowsOnPage]="rowsOnPage" [mfActivePage]="1">
<!--[(mfSortBy)]="sortByCurationDate2" [(mfSortOrder)]="sortOrder"-->
<thead>
<tr>
@ -171,6 +185,12 @@ import { Meta} from '../../../angular2-meta';
<th class="uk-text-center"><mfDefaultSorter [by]="sortByCurationDate2">Curation Date</mfDefaultSorter></th>
<th class="uk-text-center">Approved</th>
</tr>
<tr>
<td colspan="4">
Filter curated claims:
<input class="form-control" [(ngModel)]="filterQuery2"/>
</td>
</tr>
</thead>
<tbody>
<tr class="uk-table-middle" *ngFor="let claim of mf2.data let i=index">
@ -210,7 +230,6 @@ import { Meta} from '../../../angular2-meta';
</tr>
</tfoot-->
</table>
<paging-no-load class="uk-float-right" [currentPage]="1" [totalResults]="curated_claims.length" [size]="rowsOnPage" (pageChange)="refreshTable(table2, $event)"> </paging-no-load>
</div>
@ -242,9 +261,18 @@ export class ClaimsByTokenComponent {
public rowsOnPage = 5;
public sortOrder = "asc";
public filterQuery:string = "";
public filterQuery2:string = "";
public activePendingPage:any = {page: 1};
public totalPendingResults:any = {count: 0};
public activeCuratedPage:any = {page: 1};
public totalCuratedResults:any = {count: 0};
@ViewChild('mf1') table1: any;//DataTable;
@ViewChild('mf2') table2: any;//DataTable;
@ViewChild('filtered1') filteredItems1;
@ViewChild (ModalSelect) selectModal : ModalSelect;
@ -252,7 +280,7 @@ export class ClaimsByTokenComponent {
public routerHelper:RouterHelper = new RouterHelper();
constructor ( private route: ActivatedRoute, private _router:Router, private claimsByTokenService: ClaimsByTokenService, private _meta: Meta) {
constructor ( private route: ActivatedRoute, private claimsByTokenService: ClaimsByTokenService, private _meta: Meta) {
}
ngOnInit() {
@ -265,13 +293,17 @@ export class ClaimsByTokenComponent {
//this.setMessageSelect("Please select your identity:");
//this.setOptionsSelect(this.contact_person);
this.validateJWTandToken();
this.updateTitle("Claims By Token");
this.updateDescription("");
this.updateTitle("Claims For Project Managers");
}
);
}
refreshTable(table:any, $event:any) {
refreshTable(table:any, $event:any, whichTable: string) {
if(whichTable == "pending") {
this.activePendingPage.page = $event.value;
} else if(whichTable == 'curated') {
this.activeCuratedPage.page = $event.value;
}
table.mfActivePage=$event.value;
table.setPage(table.mfActivePage, this.rowsOnPage);
}
@ -331,6 +363,11 @@ public sortByTitle2= (claim: any) => {
this.pending_claims.push(claim);
}
}
this.totalPendingResults.count = this.pending_claims.length;
this.totalCuratedResults.count = this.curated_claims.length;
this.updateTitle("Claims For Project Managers - "+this.project.name);
},
err => {
this.accessStatus = "invalid";
@ -436,14 +473,18 @@ public sortByTitle2= (claim: any) => {
}
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
totalPages(totalResults: number): number {
let totalPages:any = totalResults/(this.rowsOnPage);
if(!(Number.isInteger(totalPages))) {
totalPages = (parseInt(totalPages, 10) + 1);
}
return totalPages;
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
}
}

View File

@ -16,6 +16,8 @@ import {LoadingModalModule} from '../../utils/modal/loadingModal.module';
import {LoginGuard} from'../../login/loginGuard.guard';
import {PagingModule} from '../../utils/paging.module';
import {ClaimsDatatablePipe} from '../../utils/pipes/claimsDatatable.pipe';
@NgModule({
imports: [
@ -36,7 +38,10 @@ import {PagingModule} from '../../utils/paging.module';
LoginGuard
],
declarations: [
ClaimsByTokenComponent
]
ClaimsByTokenComponent, ClaimsDatatablePipe
],
exports: [
ClaimsByTokenComponent, ClaimsDatatablePipe
]
})
export class ClaimsByTokenModule { }

View File

@ -5,6 +5,7 @@ import {EntitiesSearchService} from '../../utils/entitiesAutoComplete/entitySear
import {ClaimProject, ClaimResult} from '../claim-utils/claimEntities.class';
import {SearchPublicationsService} from '../../services/searchPublications.service';
import {SearchDatasetsService} from '../../services/searchDatasets.service';
import { Meta} from '../../../angular2-meta';
@Component({
selector: 'directLinking',
@ -91,8 +92,9 @@ export class DirectLinkingComponent {
sub:any =null;
show:string="claim"; //{claim,result}
validInput:boolean = null;//'true;
constructor ( private _router: Router, private route: ActivatedRoute, private entitySearch:EntitiesSearchService, private publicationsSearch:SearchPublicationsService, private datasetsSearch:SearchDatasetsService) {
constructor ( private _router: Router, private route: ActivatedRoute, private entitySearch:EntitiesSearchService,
private publicationsSearch:SearchPublicationsService, private datasetsSearch:SearchDatasetsService, private _meta: Meta) {
this._meta.setTitle("Direct Linking | OpenAIRE");
}
ngOnInit() {
if(localStorage.getItem("projects")){

View File

@ -5,6 +5,7 @@ import {EntitiesSearchService} from '../../utils/entitiesAutoComplete/entitySear
import {ClaimProject, ClaimResult} from '../claim-utils/claimEntities.class';
import {SearchPublicationsService} from '../../services/searchPublications.service';
import {SearchDatasetsService} from '../../services/searchDatasets.service';
import { Meta} from '../../../angular2-meta';
@Component({
selector: 'linking-generic',
@ -97,8 +98,9 @@ export class LinkingGenericComponent {
entityTypes=["dataset", "publication", "project","context"];
inlineResult:ClaimResult =null;
sub:any =null;
constructor ( private _router: Router, private route: ActivatedRoute, private entitySearch:EntitiesSearchService, private publicationsSearch:SearchPublicationsService, private datasetsSearch:SearchDatasetsService) {
constructor ( private _router: Router, private route: ActivatedRoute, private entitySearch:EntitiesSearchService,
private publicationsSearch:SearchPublicationsService, private datasetsSearch:SearchDatasetsService, private _meta: Meta) {
this._meta.setTitle("Linking | OpenAIRE");
}
ngOnInit() {
if( typeof localStorage !== 'undefined') {

View File

@ -1,6 +1,6 @@
import {Component, Input} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import { Meta} from '../../../angular2-meta';
@Component({
@ -20,7 +20,8 @@ import {Observable} from 'rxjs/Observable';
})
export class MyClaimsComponent {
constructor () {
constructor ( private _meta: Meta ) {
this._meta.setTitle("My Claims | OpenAIRE");
}
ngOnInit() {

View File

@ -104,16 +104,20 @@ export class DepositBySubjectResultComponent {
this.status = this.errorCodes.LOADING;
this.updateTitle("Deposit "+this.requestFor);
this.updateDescription("Openaire, repositories, open access, data provider, compatibility, organization, deposit "+ this.requestFor);
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}

View File

@ -76,18 +76,21 @@ export class DepositComponent {
this.helpdesk = OpenaireProperties.getHelpdesk();
this.updateTitle("Deposit "+this.requestFor);
this.updateDescription("Openaire, repositories, open access, data provider, compatibility, organization, deposit "+ this.requestFor);
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
organizationSelected(id: string) {
console.info("organization selected");

View File

@ -121,16 +121,20 @@ export class DepositResultComponent {
this.status = this.errorCodes.LOADING;
this.updateTitle("Deposit "+this.requestFor);
this.updateDescription("Openaire, repositories, open access, data provider, compatibility, organization, deposit "+ this.requestFor);
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}

View File

@ -1,5 +1,6 @@
import { Component, Input } from '@angular/core';
import { Location } from '@angular/common';
import { Meta} from '../../angular2-meta';
@Component({
selector: 'error',
@ -27,7 +28,8 @@ import { Location } from '@angular/common';
export class ErrorPageComponent {
public page: string;
constructor (private _location: Location) {
constructor (private _location: Location, private _meta: Meta) {
this._meta.setTitle("Error | OpenAIRE");
this.page = _location.path(true);
//this.page = _router.url;
//this.page = location.href;

View File

@ -2,7 +2,7 @@ import {Component, ViewChild, ElementRef} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {DataProviderService} from './dataProvider.service';
import {DataProviderInfo} from '../../utils/entities/dataProviderInfo';
import {ActivatedRoute} from '@angular/router';
import {ActivatedRoute, Router} from '@angular/router';
import { Meta} from '../../../angular2-meta';
import { FetchPublications } from '../../utils/fetchEntitiesClasses/fetchPublications.class';
import { SearchPublicationsService } from '../../services/searchPublications.service';
@ -73,6 +73,7 @@ public reloadRelatedDatasources: boolean = true;
private _dataproviderService: DataProviderService,
private route: ActivatedRoute,
private _meta: Meta,
private _router: Router,
private _searchPublicationsService: SearchPublicationsService,
private _searchDatasetsService: SearchDatasetsService,
private _searchProjectsService: SearchProjectsService,
@ -81,7 +82,8 @@ public reloadRelatedDatasources: boolean = true;
this.fetchDatasets = new FetchDatasets(this._searchDatasetsService);
this.fetchProjects = new FetchProjects(this._searchProjectsService);
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
ngOnInit() {
@ -130,14 +132,18 @@ public reloadRelatedDatasources: boolean = true;
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
public initTabs(){
if(this.dataProviderInfo.tabs != undefined && this.dataProviderInfo.tabs.length > 0) {

View File

@ -2,7 +2,7 @@ import {Component, ViewChild, ElementRef} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {DatasetService} from './dataset.service';
import {DatasetInfo} from '../../utils/entities/datasetInfo';
import {ActivatedRoute} from '@angular/router';
import {ActivatedRoute, Router} from '@angular/router';
import {OpenaireProperties} from '../../utils/properties/openaireProperties'
import {RouterHelper} from '../../utils/routerHelper.class';
import { Meta} from '../../../angular2-meta';
@ -43,7 +43,10 @@ export class DatasetComponent {
constructor (private element: ElementRef,
private _datasetService: DatasetService,
private route: ActivatedRoute,
private _meta: Meta) {}
private _meta: Meta,
private _router: Router) {
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
ngOnInit() {
this.sub = this.route.queryParams.subscribe(params => {
@ -120,13 +123,16 @@ export class DatasetComponent {
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
public buildCurationTooltip() {

View File

@ -1,6 +1,6 @@
import {Component, ViewChild, ElementRef} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {ActivatedRoute} from '@angular/router';
import {ActivatedRoute, Router} from '@angular/router';
import {OrganizationService} from '../../services/organization.service';
import {OrganizationInfo} from '../../utils/entities/organizationInfo';
@ -62,9 +62,11 @@ export class OrganizationComponent {
private _searchDataprovidersService: SearchDataprovidersService,
private _reportsService: ReportsService,
private _searchPublicationsService: SearchPublicationsService,
private _searchProjectsService: SearchProjectsService, private _meta: Meta) {
private _searchProjectsService: SearchProjectsService, private _meta: Meta,
private _router: Router) {
this.fetchDataproviders = new FetchDataproviders(this._searchDataprovidersService);
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
ngOnInit() {
@ -333,13 +335,16 @@ export class OrganizationComponent {
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
public openLoading(){

View File

@ -1,6 +1,6 @@
import {Component, ViewChild, ElementRef} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {ActivatedRoute, Params} from '@angular/router';
import {ActivatedRoute, Params, Router} from '@angular/router';
import {ProjectService} from './project.service';
import {ProjectInfo} from '../../utils/entities/projectInfo';
import {RouterHelper} from '../../utils/routerHelper.class';
@ -67,8 +67,10 @@ export class ProjectComponent{
private route: ActivatedRoute,
private _searchPublicationsService: SearchPublicationsService,
private _searchDatasetsService: SearchDatasetsService,
private _reportsService: ReportsService, private _meta: Meta) {
private _reportsService: ReportsService, private _meta: Meta,
private _router: Router) {
console.info('project constructor.');
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
ngOnInit() {
@ -259,15 +261,17 @@ export class ProjectComponent{
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
public openLoading(){
if(this.loading){

View File

@ -2,7 +2,7 @@ import {Component, ViewChild, ElementRef} from '@angular/core';
import {Observable} from 'rxjs/Observable';
import {PublicationService} from './publication.service';
import {PublicationInfo} from '../../utils/entities/publicationInfo';
import {ActivatedRoute} from '@angular/router';
import {ActivatedRoute, Router} from '@angular/router';
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
import {RouterHelper} from '../../utils/routerHelper.class';
import { Meta} from '../../../angular2-meta';
@ -53,7 +53,10 @@ export class PublicationComponent {
constructor ( private element: ElementRef,
private _publicationService: PublicationService,
private route: ActivatedRoute, private _meta: Meta) { }
private route: ActivatedRoute, private _meta: Meta,
private _router: Router) {
this.updateUrl(OpenaireProperties.getBaseLink()+this._router.url);
}
ngOnInit() {
this.sub = this.route.queryParams.subscribe(data => {
@ -208,13 +211,17 @@ export class PublicationComponent {
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
}

View File

@ -5,6 +5,8 @@ import {ActivatedRoute, Router} from '@angular/router';
import {LoginService} from './login.service';
import {User,Session} from './utils/helper.class';
import {RouterHelper} from '../utils/routerHelper.class';
import { Meta} from '../../angular2-meta';
@Component({
selector: 'user',
template: `
@ -64,7 +66,10 @@ export class UserComponent {
public redirectUrl: string = "";
public routerHelper:RouterHelper = new RouterHelper();
constructor( private router: Router, private _loginService: LoginService, private route: ActivatedRoute ) {}
constructor( private router: Router, private _loginService: LoginService,
private route: ActivatedRoute, private _meta: Meta ) {
this._meta.setTitle("Login | OpenAIRE");
}
ngOnInit() {
if( typeof document !== 'undefined') {

View File

@ -294,6 +294,7 @@ export class SearchComponent {
public subPub;public subData;public subProjects;public subOrg;public subPeople; public subDataPr;
constructor ( private route: ActivatedRoute,
private _router: Router,
private _searchPublicationsService: SearchPublicationsService,
private _searchDataprovidersService: SearchDataprovidersService,
private _searchProjectsService: SearchProjectsService,
@ -309,10 +310,12 @@ public subPub;public subData;public subProjects;public subOrg;public subPeople;
this.fetchPeople = new FetchPeople(this._searchPeopleService);
var description = "open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects ";
var title = "Search publications, datasets, projects... | OpenAIRE";
var url = OpenaireProperties.getBaseLink()+this._router.url;
this._meta.setTitle(title);
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateMeta("og:title", title);
this._meta.updateProperty("og:description", description);
this._meta.updateProperty("og:title", title);
this._meta.updateProperty("og:url", url);
// console.log("Constr PORT:"+process.env.PORT);
// if (typeof document !== 'undefined') {
//

View File

@ -8,7 +8,7 @@ import {SearchUtilsClass} from './searchUtils.class';
import {ModalLoading} from '../../utils/modal/loading.component';
import {StringUtils, Dates} from '../../utils/string-utils.class';
import { Meta} from '../../../angular2-meta';
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
@Component({
selector: 'advanced-search-page',
@ -74,19 +74,24 @@ export class AdvancedSearchPageComponent {
ngOnInit() {
this.updateTitle("Advanced search "+this.pageTitle);
this.updateDescription("Openaire, search, repositories, open access, type, data provider, funder, project, "+ this.pageTitle);
this.updateUrl(OpenaireProperties.getBaseLink()+location.pathname);
this.searchUtils.baseUrl = "/" + this.searchUtils.baseUrl;
this.updateBaseUrlWithParameters();
this.defineUrlParam();
}
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
private defineUrlParam() {
if(this.entityType == "publication") {

View File

@ -10,6 +10,8 @@ import {ModalLoading} from '../../utils/modal/loading.component';
import { Meta} from '../../../angular2-meta';
import{SearchFilterComponent} from './searchFilter.component';
import {SearchFilterModalComponent} from './searchFilterModal.component';
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
@Component({
selector: 'search-page',
@ -147,6 +149,7 @@ export class SearchPageComponent {
this.defineUrlParam();
this.updateTitle(this.pageTitle);
this.updateDescription("Openaire, search, repositories, open access, type, data provider, funder, project, " + this.type + "," +this.pageTitle);
this.updateUrl(OpenaireProperties.getBaseLink()+location.pathname);
// console.info(this.entityType + " " + this.urlParam + this.type);
}
ngAfterViewChecked(){
@ -160,13 +163,16 @@ export class SearchPageComponent {
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
private defineUrlParam() {
if(this.entityType == "publication") {

View File

@ -11,6 +11,7 @@ import { Meta} from '../../../angular2-meta';
import{SearchFilterComponent} from './searchFilter.component';
import {SearchFilterModalComponent} from './searchFilterModal.component';
import { ErrorCodes} from '../../utils/properties/openaireProperties';
import {OpenaireProperties} from '../../utils/properties/openaireProperties';
@Component({
selector: 'search-page-table',
@ -190,6 +191,8 @@ export class SearchPageTableViewComponent {
this.defineUrlParam();
this.updateTitle(this.pageTitle);
this.updateDescription("Openaire, search, repositories, open access, type, data provider, funder, project, " + this.type + "," +this.pageTitle);
this.updateUrl(OpenaireProperties.getBaseLink()+location.pathname);
// console.info(this.entityType + " " + this.urlParam + this.type);
}
ngAfterViewChecked(){
@ -217,13 +220,16 @@ export class SearchPageTableViewComponent {
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
private defineUrlParam() {
if(this.entityType == "publication") {

View File

@ -7,12 +7,15 @@ export class OpenaireMetaTags{
updateDescription(description:string){
this._meta.updateMeta("description", description);
this._meta.updateMeta("og:description", description);
this._meta.updateProperty("og:description", description);
}
updateTitle(title:string){
var _suffix ="| OpenAIRE";
var _title = ((title.length> 50 ) ?title.substring(0,50):title) + _suffix;
this._meta.setTitle(_title );
this._meta.updateMeta("og:title",_title);
this._meta.updateProperty("og:title",_title);
}
updateUrl(url:string){
this._meta.updateProperty("og:url", url);
}
}

View File

@ -0,0 +1,48 @@
import { Pipe, PipeTransform} from '@angular/core'
@Pipe({
name: 'claimsDatatable'
})
export class ClaimsDatatablePipe implements PipeTransform {
transform(array: any[], args: any[]): any {
let query: string = args[0];
let counter:any = args[1];
let active: any = args[2];
active.page = 1;
if (query) {
var result = array.filter(row=>this.filterAll(row, query));
counter.count = result.length;
return result;
}
return array;
}
filterAll(row: any, query: string) {
if(row.userMail.indexOf(query) > -1) {
return true;
}
if(row.targetType != 'project' && row.target.title.indexOf(query) > -1) {
return true;
}
if(row.sourceType != 'project' && row.source.title.indexOf(query) > -1) {
return true;
}
if(row.date.indexOf(query) > -1) {
return true;
}
if(row.curatedBy != null && row.curatedBy.indexOf(query) > -1) {
return true;
}
if(row.curationDate != null && row.curationDate.indexOf(query) > -1) {
return true;
}
return false;
}
}

View File

@ -2,7 +2,7 @@ export class OpenaireProperties {
private static productionMode:boolean = false;
//base url
private static baseLink = "http://demo.openaire.eu";
private static baseLink = "https://demo.openaire.eu";
//landing Pages
private static baseSearchLink="/";
@ -39,7 +39,7 @@ export class OpenaireProperties {
private static loginAPIURL = "http://scoobydoo.di.uoa.gr:8080/uoa-user-management-1.0.0-SNAPSHOT/api/users/authenticates";
private static loginAPIURL_pm = "https://scoobydoo.di.uoa.gr:8080/uoa-user-management-1.0.0-SNAPSHOT/api/users/authenticates";
private static claimsAPIURL = "http://scoobydoo.di.uoa.gr:8080/dnet-openaire-connector-service-1.0.0-SNAPSHOT/rest/claimsService/";
private static claimsAPIURL = "http://scoobydoo.di.uoa.gr:8080/dnet-openaire-connector-service-2.0.0-SNAPSHOT/rest/claimsService/";
private static claimsAPIURL_pm = "https://beta.services.openaire.eu/claims/rest/claimsService/";
private static searchAPIURLLAst_pm = "https://beta.services.openaire.eu/search/v2/api/";

View File

@ -8,17 +8,18 @@
<base href="/" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects "/>
<meta property="og:description" content="open access, research, scientific publication, European Commission, EC, FP7, ERC, Horizon 2020, H2020, search, projects "/>
<meta property="og:title" content="Search OpenAIRE"/>
<meta property="og:type" content="website"/>
<meta property="og:url" content="http://demo.openaire.eu"/>
<meta property="og:url" content="https://demo.openaire.eu"/>
<meta property="og:site_name" content="OpenAIRE"/>
<!--meta property="og:image" content="http://duffy.di.uoa.gr:3000/assets/newlogo_200_200.png"/>
<meta property="og:image" content="https://demo.openaire.eu/assets/dl119_files/Symbol.png"/>
<meta property="og:image:secure_url" content="https://demo.openaire.eu/assets/dl119_files/Symbol.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="200" />
<meta property="og:image:height" content="200" /-->
<meta property="og:image:width" content="360" />
<meta property="og:image:height" content="359" />
<link href="assets/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
<title>Search OpenAIRE</title>