diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 31220c3..6054e8d 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -13,6 +13,11 @@ const routes: Routes = [
loadChildren: './monitor/monitor.module#MonitorModule',
resolve: {envSpecific: EnvironmentSpecificResolver}
},
+ {
+ path: 'search/find/funders',
+ loadChildren: './funders/searchFunders.module#SearchFundersModule',
+ resolve: {envSpecific: EnvironmentSpecificResolver}
+ },
{path: 'about', redirectTo: 'about/learn-how', pathMatch: 'full'},
{
path: 'about/learn-how',
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 3c645ae..d9e742d 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -140,60 +140,7 @@ export class AppComponent {
}
- if (communityId && communityId != "" && com.communityId == communityId) {
- community = com;
- let isCommunityManager: boolean = false;
- if (Session.isCommunityCurator(this.user) || Session.isPortalAdministrator(this.user)) {
- isCommunityManager = true;
- } else if (this.user && com.managers.indexOf(this.user.email) != -1) {
- isCommunityManager = true;
- }
- this.community = {
- id: community.communityId,
- name: (community.shortTitle) ? community.shortTitle : community.title,
- logoUrl: community.logoUrl
- };
- this.menuItems = [];
- this.menuItems.push(
- {
- rootItem: new MenuItem("search", "Search", "", "/search/find", false, [], ["/search/find", "/search/find/publications", "/search/find/datasets", "/search/find/software", "/search/find/other", "/search/find/projects", "/search/find/dataproviders"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- items: [new MenuItem("", "Publications", "", "/search/find/publications", false, ["publication"], ["/search/find/publications"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- new MenuItem("", "Research Data", "", "/search/find/datasets", false, ["dataset"], ["/search/find/datasets"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- new MenuItem("", "Software", "", "/search/find/software", false, ["software"], ["/search/find/software"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- new MenuItem("", "Other Research Products", "", "/search/find/other", false, ["orp"], ["/search/find/other"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- new MenuItem("", "Projects", "", "/search/find/projects/", false, ["project"], ["/search/find/projects"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- new MenuItem("", "Content Providers", "", "/search/find/dataproviders", false, ["datasource"], ["/search/find/dataproviders"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- ]
- });
-
- this.menuItems.push({
- rootItem: new MenuItem("deposit", "Deposit", "", "/participate/deposit/learn-how", false, [], ["/participate/deposit/learn-how"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- items: [
- /*
- new MenuItem("","Zenodo Communities","","/participate/share-zenodo",false,[],["/participate/share-zenodo"],this.properties.environment!="development"?{}:{communityId:community.communityId}),
- new MenuItem("","Publications","","/participate/deposit-publications",false,["publication"],["/participate/deposit-publications"],this.properties.environment!="development"?{}:{communityId:community.communityId}),
- new MenuItem("","Research Data","","/participate/deposit-datasets",false,["dataset"],["/participate/deposit-datasets"],this.properties.environment!="development"?{}:{communityId:community.communityId})
- */
- ]
- });
- this.menuItems.push(
- {
- rootItem: new MenuItem("link", "Link", "", "/participate/claim", false, [], ["/participate/claim"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- items: [
- new MenuItem("", "Start linking", "", "/participate/claim", false, [], ["/participate/claim"], this.properties.environment != "development" ? {} : {communityId: community.communityId}),
- new MenuItem("", "Learn more", this.properties.claimsInformationLink, "", false, [], [], {})
- ]
- });
- if (isCommunityManager) {
- this.menuItems.push(
- {
- rootItem: new MenuItem("manage", "Manage", 'https://beta.admin.connect.openaire.eu/dashboard?communityId=' + community.communityId, "", false, [], [], {}),
- items: []
- });
- }
-
- }
}
if (community == null) {
@@ -218,7 +165,7 @@ export class AppComponent {
});
}*/
this.menuItems.push({
- rootItem: new MenuItem("communities", "Communities", "", "/search/find/communities", false, [], null, {}),
+ rootItem: new MenuItem("funders", "Funders", "", "/search/find/funders", false, [], null, {}),
items: []
});
this.menuItems.push({
diff --git a/src/app/contact/contact.component.html b/src/app/contact/contact.component.html
index 674f478..d84995b 100644
--- a/src/app/contact/contact.component.html
+++ b/src/app/contact/contact.component.html
@@ -1,17 +1,20 @@
- 0"
- [texts]="pageContents['right']">
-
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit
-
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
-
Contact us to create your Community Gateway
+
Contact us to create your Monitor Dashboard
{{errorMessage}}
@@ -44,7 +47,7 @@
Please add a name.
-
@@ -54,7 +57,7 @@
Please add a surname.
-
@@ -68,7 +71,7 @@
*ngIf="!sender.invalid && isSubmitted && !contactForm.email.match('^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$')"
class=" uk-text-danger uk-text-small style=display:none">Please add a valid email.
-
@@ -78,17 +81,17 @@
Please add an affiliation.
-
- Community Name *
+ Funder Name *
@@ -110,7 +113,8 @@
Reset
- Send
+
+ Send
diff --git a/src/app/funders/browse/browse.component.html b/src/app/funders/browse/browse.component.html
new file mode 100644
index 0000000..f15d425
--- /dev/null
+++ b/src/app/funders/browse/browse.component.html
@@ -0,0 +1,92 @@
+
+
+ Private
+
+
+ Subscribed
+
+
+
+
+
+ {{stakeholder.description.slice(0, thresholdDescription)}} thresholdDescription">...
+
+
+
+
+
+
+ You will be navigated to a new tab. Are you sure that you want to proceed?
+
+
diff --git a/src/app/funders/browse/browse.component.ts b/src/app/funders/browse/browse.component.ts
new file mode 100644
index 0000000..c96936c
--- /dev/null
+++ b/src/app/funders/browse/browse.component.ts
@@ -0,0 +1,99 @@
+import {Component, Input, ViewChild} from '@angular/core';
+import {ActivatedRoute, Router} from '@angular/router';
+import {Location} from '@angular/common';
+
+import {EnvProperties} from '../../openaireLibrary/utils/properties/env-properties';
+import {LocalStorageService} from "../../openaireLibrary/services/localStorage.service";
+
+@Component({
+ selector: 'browse-stakeholder',
+ templateUrl: 'browse.component.html'
+})
+
+export class BrowseComponent {
+ @Input() public stakeholder = null;
+ @Input() public showDescription: boolean = true;
+ @ViewChild('AlertModal') modal;
+
+ public hiddenMessage: string = "Community is hidden to registered users. It is visible only to users that have privileges to manage community; delay: 100";
+ // cut title too
+ // check title length, if is manager, if is private and cut description accordingly
+ public thresholdTitle: number = 50;
+ public thresholdDescription: number = 120;
+ properties: EnvProperties;
+ public directLink: boolean = true;
+
+ constructor(private route: ActivatedRoute,
+ private router: Router,
+ private location: Location,
+ private localStorageService: LocalStorageService) {
+ }
+
+
+ public ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+ this.localStorageService.get().subscribe(value => {
+ this.directLink = value;
+ });
+ });
+ }
+
+ public ngOnDestroy() {
+ }
+
+ isProduction(): boolean {
+ return this.properties.environment != "development";
+ }
+
+ getProductionPrefix(): string {
+ return (this.properties.environment == "beta") ? "beta." : ""
+ }
+
+ public confirmModalOpen() {
+ this.modal.cancelButton = true;
+ this.modal.okButton = true;
+ this.modal.alertTitle = 'You are going to visit ' +
+ ((this.stakeholder.title) ? this.stakeholder.title : this.stakeholder.shortTitle) + ' Dashboard';
+ this.modal.alertMessage = false;
+ this.modal.okButtonLeft = false;
+ this.modal.okButtonText = 'Yes';
+ this.modal.cancelButtonText = 'No';
+ this.modal.choice = true;
+ this.modal.open();
+ }
+
+ public getCommunityPageUrl(): string {
+ let url = '';
+ if (this.isProduction()) {
+ url = 'https://' + this.getProductionPrefix() + this.stakeholder.communityId + '.openaire.eu';
+ } else {
+ url = this.router.createUrlTree(['/'], {
+ queryParams: {'communityId': this.stakeholder.communityId}
+ }).toString();
+ }
+ if(this.stakeholder.type == 'funder'){
+ url = "http://dl170.madgik.di.uoa.gr/monitor/dashboard/"+this.stakeholder['alias'];
+ }
+ return url;
+ }
+
+ public goToCommunityPage(data: any) {
+ if (data.value == true) {
+ this.localStorageService.setCommunityDirectLink(data.choice);
+ let url = '';
+ if (this.isProduction()) {
+ url = 'https://' + this.getProductionPrefix() + this.stakeholder.communityId + '.openaire.eu';
+ } else {
+ url = this.router.createUrlTree(['/'], {
+ queryParams: {'communityId': this.stakeholder.communityId}
+ }).toString();
+ }
+ if(this.stakeholder.type == 'funder'){
+ url = "http://dl170.madgik.di.uoa.gr/monitor/dashboard/"+this.stakeholder['alias'];
+ }
+ window.open(url, '_blank');
+ }
+ }
+}
diff --git a/src/app/funders/browse/browse.module.ts b/src/app/funders/browse/browse.module.ts
new file mode 100644
index 0000000..5ffdbd2
--- /dev/null
+++ b/src/app/funders/browse/browse.module.ts
@@ -0,0 +1,29 @@
+import {NgModule} from '@angular/core';
+import {CommonModule} from '@angular/common';
+import {FormsModule} from '@angular/forms';
+import {RouterModule} from '@angular/router';
+
+import {BrowseComponent} from './browse.component';
+
+import {FreeGuard} from '../../openaireLibrary/login/freeGuard.guard';
+
+import {SearchFormModule} from '../../openaireLibrary/searchPages/searchUtils/searchForm.module';
+import {ManageModule} from '../../openaireLibrary/utils/manage/manage.module';
+import {AlertModalModule} from "../../openaireLibrary/utils/modal/alertModal.module";
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule, RouterModule,
+ SearchFormModule, ManageModule, AlertModalModule
+ ],
+ declarations: [
+ BrowseComponent
+ ],
+ providers:[
+ FreeGuard
+ ],
+ exports: [
+ BrowseComponent
+ ]
+})
+export class BrowseModule { }
diff --git a/src/app/funders/searchFunders-routing.module.ts b/src/app/funders/searchFunders-routing.module.ts
new file mode 100644
index 0000000..8acf8da
--- /dev/null
+++ b/src/app/funders/searchFunders-routing.module.ts
@@ -0,0 +1,14 @@
+import { NgModule } from '@angular/core';
+import { RouterModule } from '@angular/router';
+import {PreviousRouteRecorder} from '../openaireLibrary/utils/piwik/previousRouteRecorder.guard';
+import {SearchFundersComponent} from "./searchFunders.component";
+
+@NgModule({
+ imports: [
+ RouterModule.forChild([
+ { path: '', component: SearchFundersComponent, canDeactivate: [PreviousRouteRecorder] }
+
+ ])
+ ]
+})
+export class SearchFundersRoutingModule { }
diff --git a/src/app/funders/searchFunders.component.ts b/src/app/funders/searchFunders.component.ts
new file mode 100644
index 0000000..50971cd
--- /dev/null
+++ b/src/app/funders/searchFunders.component.ts
@@ -0,0 +1,399 @@
+import {Component, ViewChild} from "@angular/core";
+import {SearchUtilsClass} from "../openaireLibrary/searchPages/searchUtils/searchUtils.class";
+import {ErrorMessagesComponent} from "../openaireLibrary/utils/errorMessages.component";
+import {ErrorCodes} from "../openaireLibrary/utils/properties/errorCodes";
+import {EnvProperties} from "../openaireLibrary/utils/properties/env-properties";
+import {SearchPageComponent} from "../openaireLibrary/searchPages/searchUtils/searchPage.component";
+import {ActivatedRoute} from "@angular/router";
+import {Filter, Value} from "../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class";
+import {SearchFields} from "../openaireLibrary/utils/properties/searchFields";
+import {Session, User} from "../openaireLibrary/login/utils/helper.class";
+import {CommunityInfo} from "../openaireLibrary/connect/community/communityInfo";
+import {StringUtils} from "../openaireLibrary/utils/string-utils.class";
+import {HelperFunctions} from "../openaireLibrary/utils/HelperFunctions.class";
+import {UserManagementService} from "../openaireLibrary/services/user-management.service";
+import {StakeholderService} from "../services/stakeholder.service";
+
+@Component({
+ selector: 'search-funders',
+ template: `
+
+
+ `
+})
+export class SearchFundersComponent {
+ public piwikSiteId = null;
+ private errorCodes: ErrorCodes;
+ private errorMessages: ErrorMessagesComponent;
+ public results= [];
+ public totalResults: CommunityInfo[] = [];
+ public sub: any; public subResults: any;
+ public filters = [];
+ public searchFields:SearchFields = new SearchFields();
+ public searchUtils:SearchUtilsClass = new SearchUtilsClass();
+ public disableForms: boolean = false;
+ public baseUrl: string = null;
+ public refineFields: string[] = ["jurisdiction"];//this.searchFields.COMMUNITIES_SEARCH_FIELDS;
+ public showType = false;
+ properties:EnvProperties;
+ @ViewChild (SearchPageComponent) searchPage : SearchPageComponent ;
+ private user: User;
+
+ constructor (private route: ActivatedRoute,
+ private _stakeholderService: StakeholderService,
+ private userManagementService: UserManagementService) {
+ this.errorCodes = new ErrorCodes();
+ this.errorMessages = new ErrorMessagesComponent();
+ this.searchUtils.status = this.errorCodes.LOADING;
+ }
+
+ public ngOnInit() {
+ this.route.data
+ .subscribe((data: { envSpecific: EnvProperties }) => {
+ this.properties = data.envSpecific;
+ this.piwikSiteId = this.properties.piwikSiteId;
+ this.baseUrl = "/search/find/funders";
+ });
+ this.sub = this.route.queryParams.subscribe(params => {
+ this.searchPage.resultsPerPage = 10;
+ this.searchUtils.keyword = (params['keyword']?params['keyword']:'');
+ this.searchUtils.page = (params['page'] === undefined) ? 1: + params['page'];
+ this.searchUtils.sortBy = (params['sortBy'] === undefined)? '' : params['sortBy'];
+ this.searchUtils.size = (params['size'] === undefined) ? this.searchPage.resultsPerPage: +params['size'];
+ this.searchPage.searchUtils = this.searchUtils;
+ if(this.searchUtils.size != 5 && this.searchUtils.size != 10 && this.searchUtils.size != 20 && this.searchUtils.size != 50) {
+ this.searchUtils.size = this.searchPage.resultsPerPage;
+ }
+ if(this.searchUtils.sortBy && this.searchUtils.sortBy != "creationdate,descending" && this.searchUtils.sortBy != "creationdate,ascending") {
+ this.searchUtils.sortBy = "";
+ }
+ this.searchPage.refineFields = this.refineFields;
+ let queryParams = this.searchPage.getQueryParamsFromUrl(params);
+ console.log(queryParams)
+ if(typeof document !== 'undefined') {
+ this.userManagementService.getUserInfo(this.properties.userInfoUrl).subscribe(user => {
+ this.user = user;
+ this.initFunders(queryParams);
+ });
+ } else {
+ this.initFunders(queryParams);
+ }
+ });
+ }
+
+ public ngOnDestroy() {
+ if(this.sub){
+ this.sub.unsubscribe();
+ }
+ if(this.subResults){
+ this.subResults.unsubscribe();
+ }
+ }
+
+ /**
+ * Initialize funders from Communities APIs
+ *
+ * @param params
+ */
+ private initFunders(params: Map) {
+ this.subResults = this._stakeholderService.mockgetFunders().subscribe(
+ data => {
+ if(!data){
+ return;
+ }
+ for(let i = 0; i < data.length; i++) {
+ if(data[i]["jurisdiction"]){
+ if(data[i]["jurisdiction"]=='European Union'){
+ data[i]["jurisdictionLogo"] = "eu";
+ }else if (StringUtils.isEuropeanCountry(data[i]["jurisdiction"])){
+ data[i]["jurisdictionLogo"] = "europe";
+ }else{
+ data[i]["jurisdictionLogo"] = "international";
+ }
+ }else{
+ data[i]["jurisdictionLogo"] = "";
+ }
+ this.totalResults[i] = data[i];
+ }
+ this._getResults(params);
+
+ },
+ err => {
+ this.handleError('Error getting funders', err);
+ this.searchUtils.status = this.errorMessages.getErrorCode(err.status);
+ this.disableForms = false;
+ HelperFunctions.scroll();
+ }
+ );
+ }
+
+
+ /**
+ * Get all funders from mock API and apply permission access validator,
+ * keyword searching, filter, paging and sorting.
+ *
+ * @param params, status
+ * @private
+ */
+ private _getResults(params: Map){
+ this.searchUtils.status = this.errorCodes.LOADING;
+ this.disableForms = true;
+ this.results = this.totalResults;
+ if(this.filters.length == 0){
+ this.filters = this.createFilters();
+ }
+ this.searchUtils.totalResults = 0;
+ this.applyParams(params);
+ }
+
+ /**
+ * Return the funders in which user has permission to view or manage.
+ */
+ private showFunders() {
+ let ret = [];
+ for(let result of this.results) {
+ if (result.status == 'hidden') {
+ continue;
+ }
+ ret.push(result);
+ }
+ this.results = ret;
+ }
+
+ /**
+ * Apply permission access validator,
+ * keyword searching, filter, paging and sorting.
+ *
+ * @param params
+ * @param status
+ */
+ public applyParams(params: Map) {
+ this.showFunders();
+ if(this.searchUtils.keyword && this.searchUtils.keyword != '') {
+ this.searchForKeywords();
+ }
+ this.checkFilters(params);
+ this.sort();
+ this.searchUtils.totalResults = this.results.length;
+ this.searchPage.checkSelectedFilters(this.filters);
+ this.searchPage.updateBaseUrlWithParameters(this.filters);
+ this.results = this.results.slice((this.searchUtils.page-1)*this.searchUtils.size, (this.searchUtils.page*this.searchUtils.size));
+ this.searchUtils.status = this.errorCodes.DONE;
+ if(this.searchUtils.totalResults == 0 ){
+ this.searchUtils.status = this.errorCodes.NONE;
+ }
+ this.disableForms = false;
+ if(this.searchUtils.status == this.errorCodes.DONE) {
+ // Page out of limit!!!
+ let totalPages:any = this.searchUtils.totalResults/(this.searchUtils.size);
+ if(!(Number.isInteger(totalPages))) {
+ totalPages = (parseInt(totalPages, 10) + 1);
+ }
+ if(totalPages < this.searchUtils.page) {
+ this.searchUtils.totalResults = 0;
+ this.searchUtils.status = this.errorCodes.OUT_OF_BOUND;
+ }
+ }
+ HelperFunctions.scroll();
+ }
+
+
+ /**
+ * Parse the given keywords into array and check if any of the requirements field of a funder includes
+ * one of the given words.
+ */
+ private searchForKeywords() {
+ let ret= [];
+ let keywords: string[] = this.searchUtils.keyword.split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,-1);
+ for(let i = 0; i < this.results.length; i++) {
+ for(let keyword of keywords) {
+ keyword = keyword.toLowerCase();
+ if (keyword != '' && (this.results[i].title.toLowerCase().includes(keyword) || this.results[i].shortTitle.toLowerCase().includes(keyword) ||
+ this.results[i].alias.toLowerCase().includes(keyword) || this.results[i].description.toLowerCase().includes(keyword))) {
+ ret.push(this.results[i]);
+ break;
+ }
+ }
+ }
+ this.results = ret;
+ }
+
+ /**
+ * Check the current results if they satisfy the values of each filter category and
+ * update the number of possible results in each value.
+ *
+ * @param params
+ */
+ private checkFilters(params: Map) {
+ let jurisdictionResults = this.applyFilter('jurisdiction', params);
+ this.resetFilterNumbers('jurisdiction');
+ this.results = this.results.filter(value => {
+ return jurisdictionResults.includes(value);
+ });
+ this.updateFilterNumbers(this.results, 'jurisdiction');
+ }
+
+ /**
+ * Apply filter with filterId and return the results
+ *
+ * @param filterId
+ * @param params
+ */
+ private applyFilter(filterId: string, params: Map):any {
+ console.log("Apply filter "+ filterId);
+ let results = [];
+ let values: string[] = [];
+ if(params.get(filterId) != undefined) {
+ values = (StringUtils.URIDecode(params.get(filterId))).split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,-1);
+ }
+ console.log(values);
+ if(filterId == 'jurisdiction') {
+ console.log('Here');
+ for (let i = 0; i < this.results.length; i++) {
+ if (values.length == 0) {
+ results.push(this.results[i]);
+ } else {
+ for (let value of values) {
+ console.log(value);
+ if (this.results[i]['jurisdiction'] == value.replace(/["']/g, "")) {
+ results.push(this.results[i]);
+ break;
+ }
+ }
+ }
+ }
+ }
+ console.log(results);
+ return results;
+ }
+
+ /**
+ * Reset the values of filter with id filterId with zero.
+ *
+ * @param filterId
+ */
+ private resetFilterNumbers(filterId: string) {
+ for (let i = 0; i < this.filters.length; i++) {
+ if(this.filters[i].filterId == filterId) {
+ for (let j = 0; j < this.filters[i].values.length; j++) {
+ this.filters[i].values[j].number = 0;
+ }
+ break;
+ }
+ }
+ }
+
+ /**
+ * Update the values of filter with id filterId based on
+ * results.
+ *
+ * @param results
+ * @param filterId
+ */
+ private updateFilterNumbers(results, filterId: string) {
+ for(let k = 0; k < results.length; k++) {
+ for (let i = 0; i < this.filters.length; i++) {
+ if(this.filters[i].filterId == filterId) {
+ if (this.filters[i].filterId == 'jurisdiction') {
+ for (let j = 0; j < this.filters[i].values.length; j++) {
+ if (results[k]['jurisdiction'] == this.filters[i].values[j].id) {
+ this.filters[i].values[j].number++;
+ break;
+ }
+ }
+ }
+
+ }
+ }
+ }
+ }
+
+ /**
+ * Sorting results based on sortBy.
+ */
+ private sort() {
+ if(this.searchUtils.sortBy == '') {
+ this.results.sort((left, right): number => {
+ if (left.title > right.title) {
+ return 1;
+ } else if (left.title < right.title) {
+ return -1;
+ } else {
+ return 0;
+ }
+ })
+ } else if(this.searchUtils.sortBy == 'creationdate,descending') {
+ this.results.sort((left, right): number => {
+ if (!right.date || left.date > right.date) {
+ return -1;
+ } else if (!left.date || left.date < right.date) {
+ return 1;
+ } else {
+ return 0;
+ }
+ })
+ } else if(this.searchUtils.sortBy == 'creationdate,ascending') {
+ this.results.sort((left, right): number => {
+ if (!right.date || left.date > right.date) {
+ return 1;
+ } else if (!left.date || left.date < right.date) {
+ return -1;
+ } else {
+ return 0;
+ }
+ })
+ }
+ }
+
+
+
+
+ /**
+ * Create Search Communities filters.
+ *
+ */
+ private createFilters(): Filter[] {
+ let filter_names = [];
+ let filter_ids = [];
+ let filter_original_ids = ["jurisdiction"];
+ console.log("init refine")
+
+ let value_names = [];
+ let value_original_ids=[];
+ value_names[0]=[];
+ value_original_ids[0]=[];
+ filter_names.push("Jurisdiction");
+ filter_ids.push("jurisdiction");
+ this.results.forEach(result => {
+ if(result['jurisdiction'] && result['jurisdiction'].length > 0) {
+ value_names[0].push(result['jurisdiction']);
+ value_original_ids[0].push(result['jurisdiction']);
+ }
+ });
+ let filters: Filter[] = [];
+ for(let i =0 ; i < filter_names.length; i++){
+ let values: Value[] = [];
+ for(let j =0 ; j < value_names[i].length; j++){
+ let value: Value = {name: value_names[i][j], id: value_original_ids[i][j], number:0, selected:false};
+ values.push(value);
+ }
+ let filter: Filter = {title: filter_names[i], filterId: filter_ids[i], originalFilterId: filter_original_ids[i], values : values, countSelectedValues:0, "filterOperator": 'or', valueIsExact: true , valueIsUnique: false};
+ filters.push(filter);
+ }
+ return filters;
+ }
+
+ private handleError(message: string, error) {
+ console.error('Communities Search Page: ' + message, error);
+ }
+
+}
diff --git a/src/app/funders/searchFunders.module.ts b/src/app/funders/searchFunders.module.ts
new file mode 100644
index 0000000..76935bb
--- /dev/null
+++ b/src/app/funders/searchFunders.module.ts
@@ -0,0 +1,25 @@
+import {NgModule} from "@angular/core";
+import {CommonModule} from "@angular/common";
+import {FormsModule} from "@angular/forms";
+import {SearchFundersComponent} from "./searchFunders.component";
+import {SearchPageModule} from "../openaireLibrary/searchPages/searchUtils/searchPage.module";
+import {SearchFormModule} from "../openaireLibrary/searchPages/searchUtils/searchForm.module";
+import {SearchFundersRoutingModule} from "./searchFunders-routing.module";
+import {PreviousRouteRecorder} from "../openaireLibrary/utils/piwik/previousRouteRecorder.guard";
+import {StakeholderService} from "../services/stakeholder.service";
+
+@NgModule({
+ imports: [
+ CommonModule, FormsModule,
+ SearchFormModule, SearchPageModule,
+ SearchFundersRoutingModule
+ ],
+ declarations: [
+ SearchFundersComponent
+ ],
+ providers:[ PreviousRouteRecorder, StakeholderService],
+ exports: [
+ SearchFundersComponent
+ ]
+})
+export class SearchFundersModule { }
diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html
index 102ea01..2a0c99f 100644
--- a/src/app/home/home.component.html
+++ b/src/app/home/home.component.html
@@ -3,15 +3,185 @@
name="OpenAIRE Monitor">
-
0"
- [texts]="pageContents['left']">
+ class="image-front-topbar"
+ uk-scrollspy="{"target":"[uk-scrollspy-class]","cls":"uk-animation-fade","delay":false}"
+ tm-header-transparent="light" tm-header-transparent-placeholder="">
+
+
+
+
+
+
+
+
+
Tracking. Reporting. Monitoring.
+
made easy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ What are your benefits as a funder
+
+
+ Get a complete view of your funds
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+ View trends through topics
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+ Make your data work for you
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+ Custom research analytics
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
view more
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{publicationsSize.count|number}}
+
publications
+
+
+
+
+
+
+
{{datasetsSize.count|number}}
+
research data
+
+
+
+
+
+
+
{{softwareSize.count|number}}
+
software
+
+
+
+
+
+
+
{{otherSize.count|number}}
+
other research products
+
+
+
+
+
+
+
{{fundersSize.count|number}}
+
Funders
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0" class="uk-container uk-container-large uk-margin-medium-top">
+
Funders already in monitor
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Get in touch with our team to find out how.
+
+
+
+
+
diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts
index ec7022c..637f9e4 100644
--- a/src/app/home/home.component.ts
+++ b/src/app/home/home.component.ts
@@ -2,8 +2,7 @@ import {Component} from '@angular/core';
import {ActivatedRoute, Router} from '@angular/router';
import {Meta, Title} from '@angular/platform-browser';
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
-import {CommunitiesService} from '../openaireLibrary/connect/communities/communities.service';
-import {SubscribeService} from '../openaireLibrary/utils/subscribe/subscribe.service';
+
import {CommunityInfo} from '../openaireLibrary/connect/community/communityInfo';
import {PiwikService} from '../openaireLibrary/utils/piwik/piwik.service';
@@ -13,6 +12,10 @@ import {ErrorCodes} from '../openaireLibrary/utils/properties/errorCodes';
import {ErrorMessagesComponent} from '../openaireLibrary/utils/errorMessages.component';
import {HelperService} from "../openaireLibrary/utils/helper/helper.service";
import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
+import {StakeholderService} from "../services/stakeholder.service";
+import {RefineFieldResultsService} from "../openaireLibrary/services/refineFieldResults.service";
+import {NumberUtils} from "../openaireLibrary/utils/number-utils.class";
+import {SearchResearchResultsService} from "../openaireLibrary/services/searchResearchResults.service";
@Component({
selector: 'home',
@@ -23,8 +26,11 @@ export class HomeComponent {
public piwiksub: any;
public pageTitle = "OpenAIRE | Monitor";
+ public funders = [];
+ public gifs: { "gif": string, "header": string, "text" }[] = [];
public pageContents = null;
public divContents = null;
+ // Message variables
public status: number;
public loading: boolean = true;
public subscriberErrorMessage: string = "";
@@ -35,16 +41,26 @@ export class HomeComponent {
public keyword: string = "";
public type: string = "all";
+ public publicationsSize:any = null;
+ public datasetsSize:any = null;
+ public softwareSize: any = null;
+ public otherSize: any = null;
+ public fundersSize:any = null;
+ numberSubs=[];
+
constructor(
private route: ActivatedRoute,
private _router: Router,
private _meta: Meta,
private _title: Title,
private _piwikService: PiwikService,
+ private _stakeholderService: StakeholderService,
private helper: HelperService,
- private seoService: SEOService) {
+ private seoService: SEOService,
+ private _refineFieldResultsService:RefineFieldResultsService, private _searchResearchResultsService: SearchResearchResultsService) {
- var description = "OpenAIRE - Monitor, monitor dashboard, funder, statistics, ";
+
+ var description = "OpenAIRE - Monitor, Statistics, Search, Funder, EC, European Commision";
var title = "OpenAIRE - Monitor";
this._meta.updateTag({content: description}, "name='description'");
@@ -67,23 +83,162 @@ export class HomeComponent {
if (this.properties.enablePiwikTrack && (typeof document !== 'undefined')) {
this.piwiksub = this._piwikService.trackView(this.properties, "OpenAIRE Monitor", this.properties.piwikSiteId).subscribe();
}
+ this.getNumbers();
+ this.getFunders();
+ // this.createGifs();
//this.getDivContents();
this.getPageContents();
+
});
}
private getPageContents() {
- this.helper.getPageHelpContents(this._router.url, this.properties, 'monitor').subscribe(contents => {
+ this.helper.getPageHelpContents(this._router.url, this.properties, 'connect').subscribe(contents => {
this.pageContents = contents;
})
}
private getDivContents() {
- this.helper.getDivHelpContents(this._router.url, this.properties, 'monitor').subscribe(contents => {
+ this.helper.getDivHelpContents(this._router.url, this.properties, 'connect').subscribe(contents => {
this.divContents = contents;
})
}
+ getNumbers(){
+ this.numberSubs.push(this._refineFieldResultsService.getRefineFieldsResultsByEntityName(["funder"],"project", this.properties).subscribe(
+ data => {
+ if(data[1].length > 0 && data[1][0].filterId == "funder" && data[1][0].values ){
+ this.fundersSize = NumberUtils.roundNumber(data[1][0].values.length);
+ }
+ },
+ err => {
+ //console.log(err);
+ this.handleError("Error getting 'funder' field results of projects", err);
+ }));
+
+ this.numberSubs.push(this._searchResearchResultsService.numOfSearchResults("publication", "", this.properties).subscribe(
+ data => {
+ if(data && data != null && data > 0 ){
+ this.publicationsSize = NumberUtils.roundNumber(data);
+ }
+ },
+ err => {
+ //console.log(err);
+ this.handleError("Error getting number of publications", err);
+ }
+ ));
+
+ this.numberSubs.push(this._searchResearchResultsService.numOfSearchResults("dataset", "", this.properties).subscribe(
+ data => {
+ if(data && data != null && data > 0 ){
+ this.datasetsSize = NumberUtils.roundNumber(data);
+ }
+ },
+ err => {
+ //console.log(err);
+ this.handleError("Error getting number of research data", err);
+ }
+ ));
+
+ this.numberSubs.push(this._searchResearchResultsService.numOfSearchResults("software", "", this.properties).subscribe(
+ data => {
+ if (data && data > 0) {
+ this.softwareSize = NumberUtils.roundNumber(data);
+ }
+ },
+ err => {
+ this.handleError("Error getting number of software data", err);
+ }
+ ));
+
+ this.numberSubs.push(this._searchResearchResultsService.numOfSearchResults("other", "", this.properties).subscribe(
+ data => {
+ if (data && data > 0) {
+ this.otherSize = NumberUtils.roundNumber(data);
+ }
+ },
+ err => {
+ this.handleError("Error getting number of software data", err);
+ }
+ ));
+
+
+ }
+ public getFunders() {
+ this.loading = true;
+ this.status = this.errorCodes.LOADING;
+ this.subscriberErrorMessage = "";
+
+ this.funders = [];
+
+ this._stakeholderService.mockgetFunders().subscribe(
+ funders => {
+ console.log(funders)
+ if(!funders){
+ return;
+ }
+ if(funders.length == 0) {
+ this.status = this.errorCodes.DONE;
+ return;
+ }
+ // this.sort(funders);
+ this.funders = funders;
+
+ this.loading = false;
+ },
+ error => {
+ this.status = this.handleError("Error getting funders", error);
+ this.loading = false;
+ }
+ );
+ }
+
+ private createGifs() {
+ this.gifs.push({
+ gif: "assets/connect-assets/home/gifs/deposit.gif",
+ header: "Find a repository to deposit your research outcome",
+ text: "This is OpenAIRE’s key service for research communities, both established and emerging ones. Our service helps you reach out and engage all your researchers to practice open science out-of-the-box."
+ });
+ this.gifs.push({
+ gif: "assets/connect-assets/home/gifs/link.gif",
+ header: "Link your research output with your community, funding, and other research products",
+ text: "This is OpenAIRE’s key service for research communities, both established and emerging ones. Our service helps you reach out and engage all your researchers to practice open science out-of-the-box."
+ });
+ this.gifs.push({
+ gif: "assets/connect-assets/home/gifs/overview.gif",
+ header: "View community's overview at a glance",
+ text: "This is OpenAIRE’s key service for research communities, both established and emerging ones. Our service helps you reach out and engage all your researchers to practice open science out-of-the-box."
+ });
+ this.gifs.push({
+ gif: "assets/connect-assets/home/gifs/results.gif",
+ header: "Search & browse your community's research products. ",
+ text: "This is OpenAIRE’s key service for research communities, both established and emerging ones. Our service helps you reach out and engage all your researchers to practice open science out-of-the-box."
+ });
+ this.gifs.push({
+ gif: "assets/connect-assets/home/gifs/graph-analysis.gif",
+ header: "View statistics for your community's research products.",
+ text: "This is OpenAIRE’s key service for research communities, both established and emerging ones. Our service helps you reach out and engage all your researchers to practice open science out-of-the-box."
+ });
+ }
+
+ private sort(results: CommunityInfo[]) {
+ results.sort((left, right): number => {
+ if (!right.date || left.date > right.date) {
+ return -1;
+ } else if (!left.date || left.date < right.date) {
+ return 1;
+ } else {
+ if (left.title > right.title) {
+ return 1;
+ } else if (left.title < right.title) {
+ return -1;
+ } else {
+ return 0;
+ }
+ }
+ })
+ }
+
public quote(param: string): string {
return StringUtils.quote(param);
}
diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts
index 0438f47..e4facd8 100644
--- a/src/app/home/home.module.ts
+++ b/src/app/home/home.module.ts
@@ -15,18 +15,23 @@ import {OtherPortalsModule} from "../openaireLibrary/sharedComponents/other-port
import {Schema2jsonldModule} from "../openaireLibrary/sharedComponents/schema2jsonld/schema2jsonld.module";
import {SEOServiceModule} from "../openaireLibrary/sharedComponents/SEO/SEOService.module";
import {HomeRoutingModule} from "./home-routing.module";
+import {BrowseModule} from "../funders/browse/browse.module";
+import {StakeholderService} from "../services/stakeholder.service";
+import {RefineFieldResultsServiceModule} from "../openaireLibrary/services/refineFieldResultsService.module";
+import {SearchResearchResultsServiceModule} from "../openaireLibrary/services/searchResearchResultsService.module";
@NgModule({
imports: [
CommonModule, FormsModule, RouterModule, ErrorMessagesModule, OtherPortalsModule,
- HelperModule, Schema2jsonldModule, SEOServiceModule, HomeRoutingModule,
+ HelperModule, Schema2jsonldModule, SEOServiceModule, HomeRoutingModule,BrowseModule, SearchResearchResultsServiceModule,
+ RefineFieldResultsServiceModule
],
declarations: [
HomeComponent
],
providers: [
FreeGuard, PreviousRouteRecorder,
- PiwikService
+ PiwikService, StakeholderService
],
exports: [
HomeComponent
diff --git a/src/app/learn-how/learn-how.component.ts b/src/app/learn-how/learn-how.component.ts
index 50a1d91..f43c412 100644
--- a/src/app/learn-how/learn-how.component.ts
+++ b/src/app/learn-how/learn-how.component.ts
@@ -9,114 +9,140 @@ import {SEOService} from "../openaireLibrary/sharedComponents/SEO/SEO.service";
@Component({
selector: 'learn-how',
template: `
-
-
-
- 1. Understanding your needs
-
- First, we learn about your requirements and challenges. We help you understand Open Science practices within
- EOSC and together we’ll talk about how OpenAIRE RCD fits as a solution.
-
-
-
- 2. Develop a pilot
-
- How do you work today, and how would you like to work tomorrow? We translate your needs into rules and processes
- and we configure operational OpenAIRE services. By the end of this phase, we’ll have defined the basic
- configuration of your Community Gateway.
-
-
-
- 3. Test and Validate
-
- You validate and test your new Community Gateway (portal) with your experts and community to ensure all
- workflows are in place and quality of data meets your standards. If needed, we work together in another
- iteration to further refine and adapt to your needs.
-
-
-
- 4. Roll out the service
-
- We jointly roll out your new Community Gateway. You take over the business operations and start engaging your
- researchers, we take care of the smooth operation of the e-service.
-
-
+
-
0"
- [texts]="pageContents['top']">
-
+
+
+
+
+
+
+
Get to know your funding outcome
+
+
+
1. Provide us some metadata
+
All you need to do is to provide OpenAIRE with a ‘very limited’ set of metadata fields from your database and we will take it up from there.
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
2. Lorem ipsum dolor sit amet
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
-
-
Learn more details
+
+
+
3. Lorem ipsum dolor sit amet
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
+
+
+
+
+
+
+
+
+
+ What are your benefits as a funder
+
+
+
+
+ Get a complete view of your funds
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+
+ View trends through topics
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+
+ Make your data work for you
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+
+ Custom research analytics
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Get in touch with our team to find out how.
+
+
+
+
+
+
+
-
-
-
-
-
-
We look forward to working together and helping you unlock the full
- potential of your research community through open science.
-
-
Get in touch with our team to find out how.
-
-
-
-
-
-
-
-
-->
+
`
})
@@ -127,7 +153,7 @@ export class LearnHowComponent {
public divContents = null;
public url: string = null;
- public pageTitle: string = "OpenAIRE - Connect | Learn How";
+ public pageTitle: string = "OpenAIRE - Monitor | Learn How";
properties: EnvProperties;
@@ -138,7 +164,8 @@ export class LearnHowComponent {
private _title: Title,
private seoService: SEOService,
private _piwikService: PiwikService,
- private helper: HelperService) {}
+ private helper: HelperService) {
+ }
public ngOnInit() {
this.route.data
@@ -152,7 +179,7 @@ export class LearnHowComponent {
this.seoService.createLinkForCanonicalURL(this.url);
this.updateUrl(this.url);
this.updateTitle(this.pageTitle);
- this.updateDescription("OpenAIRE - Connect, Community Gateway, research community");
+ this.updateDescription("OpenAIRE - Monitor, Funders, Statistics, EC");
//this.getDivContents();
this.getPageContents();
diff --git a/src/app/services/stakeholder.service.ts b/src/app/services/stakeholder.service.ts
index 33bb898..b201ce5 100644
--- a/src/app/services/stakeholder.service.ts
+++ b/src/app/services/stakeholder.service.ts
@@ -27,4 +27,9 @@ export class StakeholderService {
}));*/
return new BehaviorSubject
(Stakeholder.createECStakeholder()).asObservable();
}
+
+ mockgetFunders(): any {
+ return this.http.get('./assets/funders.json') ;
+
+ }
}
diff --git a/src/assets/funders.json b/src/assets/funders.json
new file mode 100644
index 0000000..a0124a6
--- /dev/null
+++ b/src/assets/funders.json
@@ -0,0 +1,43 @@
+[
+ {
+"title": "European Commision",
+"shortTitle":"EC",
+"alias": "ec",
+"queryId": "ec",
+"type": "funder",
+"logoUrl": "./assets/images/ec.png",
+"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+"date":"2019-11-01",
+"status":"public",
+"jurisdiction": "European Union",
+"jurisdictionLogo": "eu"
+
+},
+ {
+ "title": "Austrian Science Fund",
+ "shortTitle":"FWF",
+ "alias": "fwf",
+ "queryId": "wfw",
+ "type": "funder",
+ "logoUrl": "./assets/images/fwf.png",
+ "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+ "date":"2019-11-01",
+ "status":"public",
+ "jurisdiction": "Austria",
+ "jurisdictionLogo": "europe"
+ },
+ {
+ "title": "Australian Research Council",
+ "shortTitle":"ARC",
+ "alias": "arc",
+ "queryId": "arc",
+ "type": "funder",
+ "logoUrl": "./assets/images/arc1.gif",
+ "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+ "date":"2019-11-01",
+ "status":"public",
+ "jurisdiction": "Australia",
+ "jurisdictionLogo": "international"
+ }
+
+]
diff --git a/src/assets/funders2.json b/src/assets/funders2.json
new file mode 100644
index 0000000..6a857df
--- /dev/null
+++ b/src/assets/funders2.json
@@ -0,0 +1,56 @@
+[
+ {
+"title": "European Commision",
+"shortTitle":"EC",
+"alias": "ec",
+"queryId": "ec",
+"type": "funder",
+"logoUrl": "./assets/images/ec.png",
+"description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+"date":"2019-11-01",
+"status":"public",
+"jurisdiction": "European Union",
+"jurisdictionLogo": "eu"
+
+},
+ {
+ "title": "Austrian Science Fund",
+ "shortTitle":"FWF",
+ "alias": "fwf",
+ "queryId": "wfw",
+ "type": "funder",
+ "logoUrl": "./assets/images/fwf.png",
+ "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+ "date":"2019-11-01",
+ "status":"public",
+ "jurisdiction": "Austria",
+ "jurisdictionLogo": "europe"
+ },
+ {
+ "title": "Australian Research Council",
+ "shortTitle":"ARC",
+ "alias": "arc",
+ "queryId": "arc",
+ "type": "funder",
+ "logoUrl": "./assets/images/arc1.gif",
+ "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+ "date":"2019-11-01",
+ "status":"public",
+ "jurisdiction": "Australia",
+ "jurisdictionLogo": "international"
+ }
+,
+ {
+ "title": "Wellcome Trust",
+ "shortTitle":"WT",
+ "alias": "wt",
+ "queryId": "wt",
+ "type": "funder",
+ "logoUrl": "",
+ "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
+ "date":"2019-11-01",
+ "status":"public",
+ "jurisdiction": "United Kingdom",
+ "jurisdictionLogo": "europe"
+ }
+]
diff --git a/src/assets/images/arc.png b/src/assets/images/arc.png
new file mode 100644
index 0000000..fbeb0bb
Binary files /dev/null and b/src/assets/images/arc.png differ
diff --git a/src/assets/images/arc1.gif b/src/assets/images/arc1.gif
new file mode 100644
index 0000000..3f3bf6d
Binary files /dev/null and b/src/assets/images/arc1.gif differ
diff --git a/src/assets/images/dashboard.png b/src/assets/images/dashboard.png
new file mode 100644
index 0000000..60101ad
Binary files /dev/null and b/src/assets/images/dashboard.png differ
diff --git a/src/assets/images/ec.png b/src/assets/images/ec.png
new file mode 100644
index 0000000..753bd01
Binary files /dev/null and b/src/assets/images/ec.png differ
diff --git a/src/assets/images/eu-flag.png b/src/assets/images/eu-flag.png
new file mode 100644
index 0000000..4f770d4
Binary files /dev/null and b/src/assets/images/eu-flag.png differ
diff --git a/src/assets/images/europe-map.png b/src/assets/images/europe-map.png
new file mode 100644
index 0000000..7333c96
Binary files /dev/null and b/src/assets/images/europe-map.png differ
diff --git a/src/assets/images/fwf.png b/src/assets/images/fwf.png
new file mode 100644
index 0000000..34b2926
Binary files /dev/null and b/src/assets/images/fwf.png differ
diff --git a/src/assets/images/fwf1.png b/src/assets/images/fwf1.png
new file mode 100644
index 0000000..c406e45
Binary files /dev/null and b/src/assets/images/fwf1.png differ
diff --git a/src/assets/images/globe.png b/src/assets/images/globe.png
new file mode 100644
index 0000000..ab7550d
Binary files /dev/null and b/src/assets/images/globe.png differ
diff --git a/src/assets/images/piggy-bank.svg b/src/assets/images/piggy-bank.svg
new file mode 100644
index 0000000..26c3369
--- /dev/null
+++ b/src/assets/images/piggy-bank.svg
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/assets/monitor-custom.css b/src/assets/monitor-custom.css
index d3ec973..9d2c377 100644
--- a/src/assets/monitor-custom.css
+++ b/src/assets/monitor-custom.css
@@ -71,3 +71,48 @@ div:not(.connect_App) bottom .uk-totop{
.uk-light .topic-nav .uk-navbar-nav > li > a:focus {
color: white !important;
}
+
+.funderLogo{
+ background-image: url("images/piggy-bank.svg");
+ background-repeat: no-repeat;
+ width: 74px;
+ height: 74px;
+ margin: 0;
+ padding: 0;
+}
+.funderLogo.eu{
+ background-image: url("images/eu-flag.png");
+ width:120px;
+ height: 100px;
+
+}
+.funderLogo.europe{
+ background-image: url("images/europe-map.png");
+ width:110px;
+ height: 115px;
+}
+.funderLogo.international{
+ background-image: url("images/globe.png");
+ width:105px;
+ height: 105px;
+}
+
+.portal-color-icon svg >*{
+ stroke: var(--portal-main-color);
+
+}
+
+
+.uk-light .portal-button {
+ background-color: var(--portal-main-contrast) ;
+ color: var(--portal-main-color);
+ border: 1px solid var(--portal-main-contrast) ;
+ background-image: none ;
+
+}
+.uk-light .portal-button:hover, .uk-light .portal-button:active, .uk-light .portal-button:focus {
+ background-color: #EEEEEE ;
+ color: var(--portal-main-color);
+ border: 1px solid #EEEEEE ;
+ background-image: none ;
+}
diff --git a/src/index.html b/src/index.html
index 7742ab5..3a99951 100644
--- a/src/index.html
+++ b/src/index.html
@@ -5,6 +5,7 @@
+