diff --git a/src/app/community/community.component.html b/src/app/community/community.component.html
index 109a9bd..01621df 100644
--- a/src/app/community/community.component.html
+++ b/src/app/community/community.component.html
@@ -1,837 +1,14 @@
-
-
-
-
-
-
- 0
- && (statistics.statisticsDisplay.entities[type].numbers.map['total']['showInMonitor']
- || statistics.statisticsDisplay.entities[type].numbers.map['project']['showInMonitor']
- || statistics.statisticsDisplay.entities[type].numbers.map['open']['showInMonitor']
- || statistics.statisticsDisplay.entities[type].numbers.map['closed']['showInMonitor']
- || statistics.statisticsDisplay.entities[type].numbers.map['embargo']['showInMonitor']
- || statistics.statisticsDisplay.entities[type].numbers.map['restricted']['showInMonitor']
- || (statistics.allowedEntitiesMode['showInMonitor'] && statistics.statisticsSum
- && statistics.allowedChartsMode['showInMonitor'] && statistics.statisticsSum[type]
- && statistics.allowedChartsMode['showInMonitor'][type] && statistics.statisticsSum[type].total > 0
- && statistics.allowedChartsMode['showInMonitor'][type].length > 0) )">
-
-
-
-
-
-
-
-
- No graphs available
-
- 0"
- [class]="'uk-grid uk-grid-small uk-grid-match ' + (showIn == 'showInMonitor' ? ' uk-child-width-1-3@s uk-child-width-1-6@m' : ' uk-child-width-1-1@s uk-child-width-1-3@m')"
- uk-grid>
-
-
-
- {{statisticsSum[entity].total|number}}
-
-
- Total
-
-
-
-
-
-
- {{statisticsSum[entity].projects|number}}
-
-
- Total linked projects
-
-
-
-
-
-
- {{statisticsSum[entity].open_access|number}}
-
-
- Open access
-
-
-
-
-
-
- {{statisticsSum[entity].closed_access|number}}
-
-
- Closed access
-
-
-
-
-
-
- {{statisticsSum[entity].embargo|number}}
-
-
- Embargoed
-
-
-
-
-
-
- {{statisticsSum[entity].restricted|number}}
-
-
- Restricted
-
-
-
-
- 0 &&
- allowedCharts[entity].length>0">
-
-
-
-
- -
-
-
- {{chartsInfoMap[chart].title}}
-
-
-
-
-
-
-
-
-
-
-
-
- {{chartsInfoMap[chart].title}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- - 0 && isEntityEnabled('publication')"
- (click)="onSelectActiveTab('publications')">
-
-
- - 0 && isEntityEnabled('dataset')"
- (click)="onSelectActiveTab('datasets')">
-
-
- - 0 && isEntityEnabled('software')"
- (click)="onSelectActiveTab('software')">
-
-
- - 0 && isEntityEnabled('orp')"
- (click)="onSelectActiveTab('other')">
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Created: {{community.date | date:'dd-MMM-yyyy'}}
-
-
-
-
-
-
-
-
-
0" class="uk-width-1-3@m">
-
-
-
-
-
0 && isEntityEnabled('publication')">
-
-
-
-
0 && isEntityEnabled('dataset')">
-
-
-
-
0 && isEntityEnabled('software')">
-
-
-
-
0 && isEntityEnabled('orp')">
-
-
-
-
-
-
- Browse OpenAIRE Research Graph through a map of the main concepts linked to Coronavirus
-
-
-
-
0 && isEntityEnabled('dataset')">
-
-
-
-
- Featured Datasets
-
-
-
-
Here are listed some of the most important energy datasets as selected by energy experts.
-
- Check them if you want to easily explore and visualize the European energy landscape,
- using only well-known datasets which you can trust.
-
-
-
size" [type]="'Featured Datasets'"
- (pageChange)="updatePage($event)"
- [page]="fetchFeaturedDatasets.searchUtils.page" [pageSize]="size"
- [totalResults]="fetchFeaturedDatasets.searchUtils.totalResults" >
-
-
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
- No community chosen
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/src/app/community/community.component.ts b/src/app/community/community.component.ts
index a4cc69c..289f814 100644
--- a/src/app/community/community.component.ts
+++ b/src/app/community/community.component.ts
@@ -24,123 +24,31 @@ import {properties} from "../../environments/environment";
import {ConnectHelper} from "../openaireLibrary/connect/connectHelper";
import {Filter} from "../openaireLibrary/searchPages/searchUtils/searchHelperClasses.class";
import {OpenaireEntities} from '../openaireLibrary/utils/properties/searchFields';
+import {PluginsService} from "../openaireLibrary/services/plugins.service";
+import {PluginTemplate} from "../openaireLibrary/utils/entities/adminTool/pluginTemplate";
+import {Plugin} from "../openaireLibrary/utils/entities/adminTool/plugin";
+import {PluginUtils} from "../openaireLibrary/dashboard/plugins/utils/pluginUtils";
@Component({
selector: 'community',
templateUrl: 'community.component.html',
- styles: [
- `
- #mytabs .uk-tab::before {
- border-bottom: none;
- }
- #mytabs::before {
- content: "";
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
- border-bottom: 1px solid #eaeaea;
- }
- `
- ]
+
})
export class CommunityComponent {
public url: string = null;
-
- public projectTotal = null;
- public contentProviderTotal = null;
-
- public projectsCalculated: boolean = false;
- public contentProvidersCalculated: boolean = false;
-
- params: any = {};
properties: EnvProperties = properties;
-
- public errorCodes: ErrorCodes = new ErrorCodes();
- // Request results of each tab only the one time (first time tab is clicked)
- private reloadPublications: boolean = true;
- private reloadDatasets: boolean = true;
- private reloadSoftware: boolean = true;
- private reloadOrps: boolean = true;
- private reloadFeaturedDatasets: boolean = true;
-
- // Variables for publications, research data, projects, content providers, related content providers tabs
- public fetchPublications: FetchResearchResults;
- public fetchDatasets: FetchResearchResults;
- public fetchSoftware: FetchResearchResults;
- public fetchOrps: FetchResearchResults;
- public fetchFeaturedDatasets: FetchResearchResults;
- public searchNumber: number = 5;
-
@Input() communityId = null;
public community = null;
public portal = null;
-
- public showLoading: boolean = true;
- masterZenodoCommunity = null;
- zenodoCommunityIdS = [];
- showAllDescription = false;
- public thresholdDescription: number = 500;
- public descriptionDiff: number = 100;
-
- page = 1;
- size = 5;
-
- subscribers: number = 0;
-
- subs: Subscription[] = [];
-
- displayedAllSubjects = [];
- displayedSubjects = [];
- displayedSdg = [];
- displayedFos = [];
-
- @ViewChild(StatisticsForDashboardComponent) statistics: StatisticsForDashboardComponent = null;
- public activeTab = "summary";
- public show: string = 'overview';
- public analyticsActiveTab: string = "";
- public analyticsChecked: boolean = false;
-
- searchLinkToResults: string = null;
-
- searchLinkToProjects: string = null;
- searchLinkToDataProviders: string = null;
- searchLinkToAdvancedResults: string = null;
- shareInZenodoPage: string = null;
- public routerHelper: RouterHelper = new RouterHelper();
+ subscriptions: Subscription[] = [];
private user: User;
- selectedEntity = 'result';
- selectedEntitySimpleUrl;
- selectedEntityAdvancedUrl;
- resultTypes: Filter = {
- values: [],
- filterId: "type",
- countSelectedValues: 0,
- filterType: 'checkbox',
- originalFilterId: "",
- valueIsExact: true,
- title: "Type",
- filterOperator: "or"
- };
- showPublications: boolean = false;
- showDatasets: boolean = false;
- showSoftware: boolean = false;
- showOrp: boolean = false;
- showProjects: boolean = false;
- showDataProviders: boolean = false;
- keyword: string = "";
- customFilter;
- placeholderText = "Search by title, author, abstract, DOI, orcid... ";
- resultsQuickFilter: { filter: Filter, selected: boolean, filterId: string, value: string } = {
- filter: null,
- selected: true,
- filterId: "resultbestaccessright",
- value: "Open Access"
- };
- disableSelect: boolean = true;
- openaireEntities= OpenaireEntities;
+ public showLoading = true;
+ pluginTemplates: PluginTemplate[] = [];
+ plugins: Plugin[] = [];
+ public pluginsByPlacement: Map
= new Map();
+ public pluginUtils = new PluginUtils();
constructor(
private element: ElementRef,
@@ -152,15 +60,10 @@ export class CommunityComponent {
private _piwikService: PiwikService,
private config: ConfigurationService,
private _communityService: CommunityService,
- private _searchCommunityDataprovidersService: SearchCommunityDataprovidersService,
- private _searchCommunityProjectsService: SearchCommunityProjectsService,
- private _searchResearchResultsService: SearchResearchResultsService,
- private _zenodoCommunitieService: ZenodoCommunitiesService,
+
private seoService: SEOService,
private userManagementService: UserManagementService,
- private _renderer2: Renderer2,
- private cdr: ChangeDetectorRef,
- @Inject(DOCUMENT) private _document: Document) {
+ private _pluginsService:PluginsService) {
var description = "OpenAIRE - Connect, Community Dashboard, research community";
var title = "OpenAIRE - Connect";
@@ -169,500 +72,71 @@ export class CommunityComponent {
this._meta.updateTag({content: title}, "property='og:title'");
this._title.setTitle(title);
- this.fetchPublications = new FetchResearchResults(this._searchResearchResultsService);
- this.fetchDatasets = new FetchResearchResults(this._searchResearchResultsService);
- this.fetchSoftware = new FetchResearchResults(this._searchResearchResultsService);
- this.fetchOrps = new FetchResearchResults(this._searchResearchResultsService);
- this.fetchFeaturedDatasets = new FetchResearchResults(this._searchResearchResultsService);
-
}
public ngOnInit() {
- this.searchLinkToResults = this.properties.searchLinkToResults;
- this.searchLinkToProjects = this.properties.searchLinkToProjects;
- this.searchLinkToDataProviders = this.properties.searchLinkToDataProviders;
- this.searchLinkToAdvancedResults = this.properties.searchLinkToAdvancedResults;
- this.shareInZenodoPage = this.properties.shareInZenodoPage;
- this.url = properties.domain + properties.baseLink + this._router.url;
+ this.url = properties.domain + properties.baseLink + this._router.url;
this.seoService.createLinkForCanonicalURL(this.url, false);
this._meta.updateTag({content: this.url}, "property='og:url'");
- this.subs.push(this.userManagementService.getUserInfo().subscribe(user => {
+ this.subscriptions.push(this.userManagementService.getUserInfo().subscribe(user => {
this.user = user;
}));
- this.customFilter = new SearchCustomFilter("Community", "communityId", this.communityId, "");
- this.subs.push(this._communityService.getCommunityAsObservable().subscribe(
+ this.subscriptions.push(this._communityService.getCommunityAsObservable().subscribe(
community => {
this.community = community;
if(community && !ConnectHelper.isPrivate(community, this.user)) {
- this.displayedSubjects = community.subjects;
- this.displayedSdg = community.sdg;
- this.displayedFos = community.fos;
- this.displayedSubjects.forEach(element => {
- this.displayedAllSubjects.push({value: element, type: 'resultsubject'});
- });
- this.displayedSdg.forEach(element => {
- this.displayedAllSubjects.push({value: element, type: 'sdg'});
- });
- this.displayedFos.forEach(element => {
- this.displayedAllSubjects.push({value: element, type: 'fos'});
- });
- if (community.description != null && (community.description.length - this.thresholdDescription <= this.descriptionDiff)) {
- this.thresholdDescription = community.description.length;
- }
- if (this.properties.environment == "development") {
- this.params = {communityId: community.communityId};
- }
this._meta.updateTag({content: community.description}, "name='description'");
this._meta.updateTag({content: community.description}, "property='og:description'");
this._meta.updateTag({content: community.title}, "property='og:title'");
this._title.setTitle(community.title);
- this.subs.push(this._piwikService.trackView(this.properties, community.title).subscribe());
- if (this.community.zenodoCommunity) {
- this.subs.push(this._zenodoCommunitieService.getZenodoCommunityById(this.properties, this.community.zenodoCommunity).subscribe(
- result => {
- this.masterZenodoCommunity = result;
- },
- error => {
- this.handleError("Error getting Master Zenodo community with id: " + this.community.zenodoCommunity, error);
- }
- ));
- }
- this.zenodoCommunityIdS = this.community.otherZenodoCommunities;
+ this.subscriptions.push(this._piwikService.trackView(this.properties, community.title).subscribe());
+ this.getPagePlugins();
+
}
}));
- this.countResearchResults("publication");
- this.countResearchResults("dataset");
- this.countResearchResults("software");
- this.countResearchResults("other");
- if(this.communityId == "enermaps"){
- this.countResearchResults("dataset", "enermaps::selection" );
- }
+ }
+
+ getPagePlugins() {
+ this.showLoading = true;
+ this.subscriptions.push(this._pluginsService.getPluginTemplatesByPage(this.properties.adminToolsAPIURL, this.community.communityId, "60be1e6832035404d85fdd7e").subscribe(
+ templates => {
+ this.pluginTemplates = templates;
+
+ this.subscriptions.push(this._pluginsService.getPluginsByPage(this.properties.adminToolsAPIURL, this.community.communityId, "60be1e6832035404d85fdd7e").subscribe(
+ plugins => {
+ this.plugins = plugins;
+ this.pluginsByPlacement = new Map();
+ for(let pos of this.pluginUtils.placementsOptions){
+ this.pluginsByPlacement.set(pos.value,[]);
+ }
+ let self = this;
+ this.pluginTemplates.forEach(_ => {
+ let plugin:Plugin = null;
+ for(let pl of plugins){
+ if (pl.templateId == _._id){
+ plugin = pl;
+ }
+ }
+ if(!plugin){
+ plugin = new Plugin("", "",_);
+ this.plugins.push(plugin);
+ }
+ plugin.object = PluginUtils.initializeObjectAndCompare(_.code,plugin.object)
+ this.pluginsByPlacement.get(plugin.placement).push({plugin: plugin, template: _ });
+ });
+ for(let placement of this.pluginUtils.placementsOptions){
+ this.pluginsByPlacement.get(placement.value).sort(function (a, b) {
+ return a.plugin.order - b.plugin.order;
+ })
+ }
+ console.log(this.pluginsByPlacement.get('top'))
+ this.showLoading = false;
+ },
+ error => {}));
- this.subs.push(this._searchCommunityProjectsService.countTotalProjects(this.properties, this.communityId).subscribe(
- projectTotal => {
- this.projectTotal = projectTotal;
},
- error => {
- this.handleError("Error getting number of projects for community with id: " + this.communityId, error);
- },
- () => {
- this.projectsCalculated = true;
- }
- ));
-
- this.subs.push(this._searchCommunityDataprovidersService.countTotalDataproviders(this.properties, this.communityId).subscribe(
- contentProviderTotal => {
- this.contentProviderTotal = contentProviderTotal;
- //console.log(contentProviderTotal);
- },
- error => {
- this.handleError("Error getting number of content providers for community with id: " + this.communityId, error);
- },
- () => {
- this.contentProvidersCalculated = true;
- }
- ));
- this.subs.push(this.config.portalAsObservable.subscribe(
- res => {
- this.portal = res;
-
- // loading twitter widget script conditionally
- if (properties.environment == "development") {
- if (this.portal && this.portal.twitterAccount) {
- let script = this._renderer2.createElement('script');
- script.charset = "utf-8";
- script.src = "https://platform.twitter.com/widgets.js";
- this._renderer2.appendChild(this._document.body, script);
- }
- }
- },
- error => {
- //console.log(error)
- this.handleError("Error getting community with id: " + this.communityId, error);
- }
- ));
- this.subs.push(this.config.portalAsObservable.subscribe(data => {
- if (data) {
- var showEntity = {};
- for (var i = 0; i < data['entities'].length; i++) {
- showEntity["" + data['entities'][i]["pid"] + ""] = data['entities'][i]["isEnabled"];
- }
- this.showPublications = !!showEntity["publication"];
- this.showDatasets = !!showEntity["dataset"];
- this.showSoftware = !!showEntity["software"];
- this.showOrp = !!showEntity["orp"];
- this.showProjects = !!showEntity["project"];
- this.showDataProviders = !!showEntity["datasource"];
- this.resultTypes.values = [];
- if (this.showPublications) {
- this.resultTypes.values.push({
- name: this.openaireEntities.PUBLICATIONS,
- id: "publications",
- selected: false,
- number: 0
- });
- }
- if (this.showDatasets) {
- this.resultTypes.values.push({
- name: this.openaireEntities.DATASETS,
- id: "datasets",
- selected: false,
- number: 0
- });
- }
- if (this.showSoftware) {
- this.resultTypes.values.push({
- name: this.openaireEntities.SOFTWARE,
- id: "software",
- selected: false,
- number: 0
- });
- }
- if (this.showOrp) {
- this.resultTypes.values.push({name: this.openaireEntities.OTHER, id: "other", selected: false, number: 0});
- }
- }
- }));
- }
-
- private searchPublications(page: number, size: number) {
- this.setActiveTab("publication");
-
- if (this.reloadPublications &&
- (this.fetchPublications.searchUtils.status == this.errorCodes.LOADING ||
- (this.fetchPublications.searchUtils.status == this.errorCodes.DONE && this.fetchPublications.searchUtils.totalResults > 0)
- )
- ) {
- this.fetchPublications.getResultsForCommunity("publication", this.communityId, page, size, this.properties);
- }
- this.reloadPublications = false;
- }
-
- private searchDatasets(page: number, size: number) {
- this.setActiveTab("dataset");
-
- if (this.reloadDatasets &&
- (this.fetchDatasets.searchUtils.status == this.errorCodes.LOADING ||
- (this.fetchDatasets.searchUtils.status == this.errorCodes.DONE && this.fetchDatasets.searchUtils.totalResults > 0)
- )
- ) {
- this.fetchDatasets.getResultsForCommunity("dataset", this.communityId, page, size, this.properties);
- }
- this.reloadDatasets = false;
- }
-
- private searchSoftware(page: number, size: number) {
- this.setActiveTab("software");
-
- if (this.reloadSoftware &&
- (this.fetchSoftware.searchUtils.status == this.errorCodes.LOADING ||
- (this.fetchSoftware.searchUtils.status == this.errorCodes.DONE && this.fetchSoftware.searchUtils.totalResults > 0)
- )
- ) {
- this.fetchSoftware.getResultsForCommunity("software", this.communityId, page, size, this.properties);
- }
- this.reloadSoftware = false;
- }
-
- private searchOrps(page: number, size: number) {
- this.setActiveTab("other");
-
- if (this.reloadOrps &&
- (this.fetchOrps.searchUtils.status == this.errorCodes.LOADING ||
- (this.fetchOrps.searchUtils.status == this.errorCodes.DONE && this.fetchOrps.searchUtils.totalResults > 0)
- )
- ) {
- this.fetchOrps.getResultsForCommunity("other", this.communityId, page, size, this.properties);
- }
- this.reloadOrps = false;
- }
- private searchFeaturedDatasets(page: number, size: number) {
- this.setActiveTab("enermaps");
- if (this.reloadFeaturedDatasets &&
- (this.fetchFeaturedDatasets.searchUtils.status == this.errorCodes.LOADING ||
- (this.fetchFeaturedDatasets.searchUtils.status == this.errorCodes.DONE && this.fetchFeaturedDatasets.searchUtils.totalResults > 0)
- )
- ) {
- this.fetchFeaturedDatasets.getAllResultsForCommunity("dataset", this.communityId, page, size, this.properties, "enermaps::selection");
- }
- this.reloadFeaturedDatasets = false;
- }
-
- private countResearchResults(resultType: string, contextId = null) {
- let fetch: FetchResearchResults;
-
- if (resultType == "publication") {
- fetch = this.fetchPublications;
- } else if (resultType == "dataset" && !contextId) {
- fetch = this.fetchDatasets;
- } else if (resultType == "software") {
- fetch = this.fetchSoftware;
- } else if (resultType == "other") {
- fetch = this.fetchOrps;
- } else if (resultType == "dataset" && contextId) {
- fetch = this.fetchFeaturedDatasets;
- this.fetchFeaturedDatasets.getAllResultsForCommunity("dataset", this.communityId, 0, 0, this.properties, contextId);
- return;
- }
- fetch.getNumForCommunity(resultType, this.communityId, this.properties, contextId);
- }
-
- public ngOnDestroy() {
- for (let sub of this.subs) {
- sub.unsubscribe();
- }
- this.fetchPublications.clearSubscriptions();
- this.fetchDatasets.clearSubscriptions();
- this.fetchOrps.clearSubscriptions();
- this.fetchSoftware.clearSubscriptions();
- this.fetchFeaturedDatasets.clearSubscriptions();
- }
-
- isEntityEnabled(entity: string) {
- return this.portal.entities.some(x => x['pid'] == entity && x['isEnabled'] === true);
- }
-
- isRouteEnabled(route: string) {
- return this.portal.pages.some(x => x['route'] == route && x['isEnabled'] === true);
- }
-
- showInvite() {
- return this.isManager();
- }
-
- isManager() {
- if (!this.user) {
- return false;
- }
- var email = this.user.email;
- var index = -1;
- if (email && this.community != null && this.community.managers != null) {
- index = this.community.managers.indexOf(email);
- }
- return Session.isPortalAdministrator(this.user) || Session.isCommunityCurator(this.user) || index != -1;
- }
-
- private handleError(message: string, error) {
- console.error("Community (component): " + message, error);
- }
-
- getSearchPlaceHolder() {
- var entities = [];
- if (this.isEntityEnabled("publication")) {
- entities.push("publications");
- }
- if (this.isEntityEnabled("dataset")) {
- entities.push("research data");
- }
- if (this.isEntityEnabled("software")) {
- entities.push("software");
- }
- if (this.isEntityEnabled("orp")) {
- entities.push("other research products");
- }
- return "Search" + ((entities.length > 0) ? (" for " + entities.join(', ') + "...") : "");
- }
-
- countOtherGraphs() {
- var count = 0;
- if (this.statistics && this.statistics.allowedEntities) {
- for (var entity of this.statistics.allowedEntities) {
- if (this.statistics.statisticsSum[entity].total > 0 && this.statistics.allowedCharts[entity].length > 0 && this.activeTab != entity) {
- count += this.statistics.allowedCharts[entity].length;
- }
- }
- }
- return count;
- }
-
- createParams(param) {
- return StringUtils.URIEncode(param);
- }
-
- private setActiveTab(entityType: string) {
- if (entityType == "other") {
- this.activeTab = "orp";
- } else {
- this.activeTab = entityType;
- }
- }
-
- public getParamsForSearchLink(type: string = "") {
- if (type) {
- return this.routerHelper.createQueryParams(['type', 'qf', 'sortBy'], [type, 'false', 'resultdateofacceptance,descending']);
- } else {
- return {};
- }
- }
-
- private getEntityName(entityType: string, plural: boolean, full: boolean): string {
- if (entityType == "publication") {
- return "publication" + (plural ? "s" : "");
- } else if (entityType == "dataset") {
- return (full ? "research data" : ("dataset" + (plural ? "s" : "")));
- } else if (entityType == "software") {
- return "software";
- } else if (entityType == "other") {
- return (full ? ("other research product" + (plural ? "s" : "")) : "other");
- }
- }
-
- public buildProjectsTooltip(): string {
- let tooltipContent: string = "";
-
- if (this.projectTotal != null && this.projectTotal > 0 && this.isEntityEnabled('project') && this.isRouteEnabled(this.searchLinkToProjects)) {
- tooltipContent += "Projects";
- }
-
- tooltipContent += " have been selected as relevant for your community by the gateway curators.";
- tooltipContent += "
";
-
- return tooltipContent;
- }
-
- public buildContentProvidersTooltip(): string {
- let tooltipContent: string = "";
-
- if (this.contentProviderTotal != null && this.contentProviderTotal > 0 && this.isEntityEnabled('datasource') && this.isRouteEnabled(this.searchLinkToDataProviders)) {
- tooltipContent += "Content Providers";
- }
-
- tooltipContent += " have been selected as relevant for your community by the gateway curators.";
- tooltipContent += "
";
-
- return tooltipContent;
- }
-
- public buildZenodoCommunitiesTooltip(): string {
- let tooltipContent: string = "";
-
- tooltipContent += "
Zenodo is a catch-all repository for OpenAIRE.";
- tooltipContent += "
A Zenodo Community is created and curated by Zenodo users.
";
- tooltipContent += "
";
-
- return tooltipContent;
- }
-
- entityChanged($event) {
- this.selectedEntity = $event.entity;
- this.selectedEntitySimpleUrl = $event.simpleUrl;
- this.selectedEntityAdvancedUrl = $event.advancedUrl;
- if (this.selectedEntity == 'result') {
- this.placeholderText = "Search by title, author, abstract, DOI, orcid... ";
- } else if (this.selectedEntity == 'project') {
- this.placeholderText = "Search by project title, grant id, funder...";
- } else if (this.selectedEntity == 'dataprovider') {
- this.placeholderText = "Search by name...";
- } else {
- this.placeholderText = "Search community content";
- }
- }
-
- goTo(simple: boolean) {
- let url = (simple) ? this.selectedEntitySimpleUrl : this.selectedEntityAdvancedUrl;
- let parameterNames = [];
- let parameterValues = [];
-
- if (this.selectedEntity == "result" && this.resultsQuickFilter && this.resultsQuickFilter.selected) {
- parameterNames.push(this.resultsQuickFilter.filterId);
- parameterValues.push('"'+ encodeURIComponent(this.resultsQuickFilter.value)+'"');
- }
-
- if (this.keyword.length > 0) {
- parameterNames.push("fv0");
- parameterValues.push(this.keyword);
- parameterNames.push("f0");
- parameterValues.push("q");
- }
- this._router.navigate([url], {queryParams: this.routerHelper.createQueryParams(parameterNames, parameterValues)});
- }
-
- public countSubscribersEvent($event) {
- this.subscribers = $event.value;
- }
-
- public checkStatistics(type: string) {
- return !!(this.isEntityEnabled(type)
- && this.statistics && this.statistics.statisticsDisplay && this.statistics.statisticsDisplay.isActive
- && this.statistics.statisticsSum && this.statistics.statisticsSum[type] && this.statistics.statisticsSum[type].total > 0
- &&
- (this.statistics.statisticsDisplay.entities[type].numbers.map['total']['showInMonitor']
- || this.statistics.statisticsDisplay.entities[type].numbers.map['project']['showInMonitor']
- || this.statistics.statisticsDisplay.entities[type].numbers.map['open']['showInMonitor']
- || this.statistics.statisticsDisplay.entities[type].numbers.map['closed']['showInMonitor']
- || this.statistics.statisticsDisplay.entities[type].numbers.map['embargo']['showInMonitor']
- || this.statistics.statisticsDisplay.entities[type].numbers.map['restricted']['showInMonitor']
- || (this.statistics.allowedEntitiesMode['showInMonitor']
- && this.statistics.allowedChartsMode['showInMonitor'][type]
- && this.statistics.allowedChartsMode['showInMonitor'][type].length > 0)));
- }
-
- public initializeAnalyticsActiveTab() {
- if (!this.analyticsChecked) {
- if (this.checkStatistics("publication")) {
- this.analyticsActiveTab = "publication";
- } else if (this.checkStatistics("dataset")) {
- this.analyticsActiveTab = "dataset";
- } else if (this.checkStatistics("software")) {
- this.analyticsActiveTab = "software";
- } else if (this.checkStatistics("orp")) {
- this.analyticsActiveTab = "orp";
- }
- }
- }
-
- public showAnalyticsTab() {
- this.initializeAnalyticsActiveTab();
- return this.analyticsActiveTab;
- }
-
- public onSelectActiveTab(activeTabId) {
- if (this.activeTab != "activaTabId") { // tab really changed
- if (activeTabId == 'summary') {
- this.activeTab = 'summary';
- } else if (activeTabId == 'publications') {
- this.show = 'overview';
- this.searchPublications(1, this.searchNumber);
- } else if (activeTabId == 'datasets') {
- this.show = 'overview';
- this.searchDatasets(1, this.searchNumber);
- } else if (activeTabId == 'software') {
- this.show = 'overview';
- this.searchSoftware(1, this.searchNumber);
- } else if (activeTabId == 'other') {
- this.show = 'overview';
- this.searchOrps(1, this.searchNumber);
- } else if (activeTabId == 'analytics') {
- this.show = 'analysis';
- this.activeTab = 'analytics';
- this.analyticsChecked = true;
- } else if (activeTabId == 'mapping') {
- this.show = 'mapping';
- this.activeTab = 'mapping';
- } else if (activeTabId == 'enermaps') {
- this.show = 'enermaps';
- this.activeTab = 'enermaps';
- this.searchFeaturedDatasets(1, this.fetchFeaturedDatasets.searchUtils.totalResults);
- } else if (activeTabId == 'twitter') {
- this.show = 'twitter';
- this.activeTab = 'twitter';
- }
- }
- }
- isPrivate(){
- return ConnectHelper.isPrivate(this.community, this.user);
- }
-
- disableSelectChange(event: boolean) {
- this.disableSelect = event;
- this.cdr.detectChanges();
- }
-
- public updatePage(event) {
- this.page = event.value;
- this.fetchFeaturedDatasets.searchUtils.page = event.value;
- this.fetchFeaturedDatasets.results = this.fetchFeaturedDatasets.allResults.slice((this.page - 1) * this.searchNumber, this.page * this.searchNumber) ;
+ error => {}));
}
}
diff --git a/src/app/community/community.module.ts b/src/app/community/community.module.ts
index e142c6b..99f9c0d 100644
--- a/src/app/community/community.module.ts
+++ b/src/app/community/community.module.ts
@@ -42,6 +42,8 @@ import {IconsModule} from '../openaireLibrary/utils/icons/icons.module';
import {NoLoadPaging} from '../openaireLibrary/searchPages/searchUtils/no-load-paging.module';
import {NumberRoundModule} from '../openaireLibrary/utils/pipes/number-round.module';
import {PluginsService} from '../openaireLibrary/services/plugins.service';
+import {PluginWrapperModule} from "../openaireLibrary/dashboard/plugins/wrapper/plugin-wrapper.module";
+import {LoadingModule} from "../openaireLibrary/utils/loading/loading.module";
@NgModule({
imports: [
@@ -51,7 +53,7 @@ import {PluginsService} from '../openaireLibrary/services/plugins.service';
SearchResearchResultsServiceModule, SearchResultsModule, CuratorsModule, AffiliationsModule,
SEOServiceModule, MatSelectModule, EntitiesSelectionModule,
TabsModule, SearchTabModule, ErrorMessagesModule, SafeHtmlPipeModule, ErrorModule,
- AdvancedSearchInputModule, InputModule, QuickSelectionsModule, IconsModule, NoLoadPaging, NumberRoundModule
+ AdvancedSearchInputModule, InputModule, QuickSelectionsModule, IconsModule, NoLoadPaging, NumberRoundModule, PluginWrapperModule, LoadingModule
],
declarations: [
CommunityComponent
diff --git a/src/app/searchPages/simple/searchDataproviders.component.ts b/src/app/searchPages/simple/searchDataproviders.component.ts
index a97d3ad..afca040 100644
--- a/src/app/searchPages/simple/searchDataproviders.component.ts
+++ b/src/app/searchPages/simple/searchDataproviders.component.ts
@@ -163,7 +163,7 @@ export class OpenaireSearchDataprovidersComponent {
this.searchUtils.totalResults = results.length;
this.results = results.slice((this.searchUtils.page - 1) * this.searchUtils.size, this.searchUtils.page *this.searchUtils.size );
this.searchUtils.status = this.results.length == 0 ? this.errorCodes.NONE: this.errorCodes.DONE;
- this.searchPage.buildPageURLParameters(this.filters, [], false);
+ this.searchPage.buildPageURLParameters(this.filters, [], [], false);
this.disableForms = false;
this.enableSearchView = true;
}
diff --git a/src/assets/community.less b/src/assets/community.less
index adebe47..6d9ade6 100644
--- a/src/assets/community.less
+++ b/src/assets/community.less
@@ -61,3 +61,9 @@
.hook-inverse();
}
+//services slider
+@slider-nav-item-background-active: white;
+@slider-nav-item-action-background: rgba(255, 255, 255, 0.5);
+slider-container slider-nav-item when (@hero-fonts-mode = light) {
+ .hook-inverse
+}