1. env-properties.json: Add 'searchLinkToOrp', 'searchLinkToOrps', 'searchLinkToAdvancedOrps' for Other Research Products.
2. Add 'Other Research Products' in menu. 3. Add routing paths for landing, search, advanced search page of Other Research Products. 4. Add 'Other Research Products' tab in '/search/find'. 5. searchResult.component.ts, refineFieldResults.service.ts, searchFields.ts, ISVocabularies.service.ts: Add cases for 'Other Research Products'. git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@52816 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
2bc93bba6f
commit
4b7b13f8c7
|
@ -12,6 +12,7 @@ import {SearchComponent} from './searchPages/find/search.component';
|
||||||
import {PublicationComponent} from './landingPages/publication/publication.component';
|
import {PublicationComponent} from './landingPages/publication/publication.component';
|
||||||
import {DatasetComponent} from './landingPages/dataset/dataset.component';
|
import {DatasetComponent} from './landingPages/dataset/dataset.component';
|
||||||
import {SoftwareComponent} from './landingPages/software/software.component';
|
import {SoftwareComponent} from './landingPages/software/software.component';
|
||||||
|
import {OrpComponent} from './landingPages/orp/orp.component';
|
||||||
import {DataProviderComponent} from './landingPages/dataProvider/dataProvider.component';
|
import {DataProviderComponent} from './landingPages/dataProvider/dataProvider.component';
|
||||||
import {ProjectComponent} from './landingPages/project/project.component';
|
import {ProjectComponent} from './landingPages/project/project.component';
|
||||||
import {OrganizationComponent} from './landingPages/organization/organization.component';
|
import {OrganizationComponent} from './landingPages/organization/organization.component';
|
||||||
|
@ -26,6 +27,7 @@ import {DepositPublicationsResultComponent} from './deposit/publications/deposit
|
||||||
import {SearchDatasetsComponent} from './searchPages/simple/searchDatasets.component';
|
import {SearchDatasetsComponent} from './searchPages/simple/searchDatasets.component';
|
||||||
import {SearchPublicationsComponent} from './searchPages/simple/searchPublications.component';
|
import {SearchPublicationsComponent} from './searchPages/simple/searchPublications.component';
|
||||||
import {SearchSoftwareComponent} from './searchPages/simple/searchSoftware.component';
|
import {SearchSoftwareComponent} from './searchPages/simple/searchSoftware.component';
|
||||||
|
import {SearchOrpsComponent} from './searchPages/simple/searchOrps.component';
|
||||||
import {SearchDataprovidersComponent} from './searchPages/simple/searchDataproviders.component';
|
import {SearchDataprovidersComponent} from './searchPages/simple/searchDataproviders.component';
|
||||||
import {SearchProjectsComponent} from './searchPages/simple/searchProjects.component';
|
import {SearchProjectsComponent} from './searchPages/simple/searchProjects.component';
|
||||||
import {SearchOrganizationsComponent} from './searchPages/simple/searchOrganizations.component';
|
import {SearchOrganizationsComponent} from './searchPages/simple/searchOrganizations.component';
|
||||||
|
@ -60,6 +62,7 @@ const routes: Routes = [
|
||||||
{ path: 'search/publication', component: PublicationComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/publication', component: PublicationComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/dataset', component: DatasetComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/dataset', component: DatasetComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/software', component: SoftwareComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/software', component: SoftwareComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
|
{ path: 'search/other', component: OrpComponent, resolve: { envSpecific: EnvironmentSpecificResolver }},
|
||||||
{ path: 'search/project', component: ProjectComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/project', component: ProjectComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/dataprovider', component: DataProviderComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/dataprovider', component: DataProviderComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/organization', component: OrganizationComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/organization', component: OrganizationComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
|
@ -72,6 +75,7 @@ const routes: Routes = [
|
||||||
{ path: 'search/find/publications', component: SearchPublicationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver }, canActivate: [ ] },
|
{ path: 'search/find/publications', component: SearchPublicationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver }, canActivate: [ ] },
|
||||||
{ path: 'search/find/datasets', component:SearchDatasetsComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/find/datasets', component:SearchDatasetsComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/find/software', component:SearchSoftwareComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/find/software', component:SearchSoftwareComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
|
{ path: 'search/find/other', component:SearchOrpsComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/find/projects', component:SearchProjectsComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/find/projects', component:SearchProjectsComponent, resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/find/dataproviders', component:SearchDataprovidersComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/find/dataproviders', component:SearchDataprovidersComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/find/organizations', component:SearchOrganizationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/find/organizations', component:SearchOrganizationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
|
@ -84,6 +88,7 @@ const routes: Routes = [
|
||||||
{ path: 'search/advanced/publications', component: AdvancedSearchPublicationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/advanced/publications', component: AdvancedSearchPublicationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/advanced/datasets', component: AdvancedSearchDatasetsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/advanced/datasets', component: AdvancedSearchDatasetsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/advanced/software', component: AdvancedSearchSoftwareComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/advanced/software', component: AdvancedSearchSoftwareComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
|
{ path: 'search/advanced/other', component: AdvancedSearchOrpsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/advanced/organizations',component: AdvancedSearchOrganizationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/advanced/organizations',component: AdvancedSearchOrganizationsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/advanced/dataproviders', component: AdvancedSearchDataProvidersComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/advanced/dataproviders', component: AdvancedSearchDataProvidersComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
{ path: 'search/advanced/projects', component: AdvancedSearchProjectsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
{ path: 'search/advanced/projects', component: AdvancedSearchProjectsComponent , resolve: { envSpecific: EnvironmentSpecificResolver } },
|
||||||
|
|
|
@ -64,6 +64,7 @@ export class AppComponent {
|
||||||
items: [new MenuItem("","Publications","","/search/find/publications",false,["publication"],["/search/find/publications"],{}),
|
items: [new MenuItem("","Publications","","/search/find/publications",false,["publication"],["/search/find/publications"],{}),
|
||||||
new MenuItem("","Research Data","","/search/find/datasets",false,["dataset"],["/search/find/datasets"],{}),
|
new MenuItem("","Research Data","","/search/find/datasets",false,["dataset"],["/search/find/datasets"],{}),
|
||||||
new MenuItem("","Software","","/search/find/software",false,["software"],["/search/find/software"],{}),
|
new MenuItem("","Software","","/search/find/software",false,["software"],["/search/find/software"],{}),
|
||||||
|
new MenuItem("","Other Research Products","","/search/find/other",false,["orp"],["/search/find/other"],{}),
|
||||||
new MenuItem("","Projects","","/search/find/projects/",false,["project"],["/search/find/projects"],{}),
|
new MenuItem("","Projects","","/search/find/projects/",false,["project"],["/search/find/projects"],{}),
|
||||||
new MenuItem("","Content Providers","","/search/find/dataproviders",false,["datasource"],["/search/find/dataproviders"],{}),
|
new MenuItem("","Content Providers","","/search/find/dataproviders",false,["datasource"],["/search/find/dataproviders"],{}),
|
||||||
new MenuItem("","Organizations","","/search/find/organizations/",false,["organization"],["/search/find/organizations"],{})
|
new MenuItem("","Organizations","","/search/find/organizations/",false,["organization"],["/search/find/organizations"],{})
|
||||||
|
|
|
@ -16,6 +16,7 @@ import {MainSearchModule} from './searchPages/find/mainSearch.module';
|
||||||
import {PublicationModule} from './landingPages/publication/publication.module';
|
import {PublicationModule} from './landingPages/publication/publication.module';
|
||||||
import {DatasetModule} from './landingPages/dataset/dataset.module';
|
import {DatasetModule} from './landingPages/dataset/dataset.module';
|
||||||
import {SoftwareModule} from './landingPages/software/software.module';
|
import {SoftwareModule} from './landingPages/software/software.module';
|
||||||
|
import {OrpModule} from './landingPages/orp/orp.module';
|
||||||
import {DataProviderModule} from './landingPages/dataProvider/dataProvider.module';
|
import {DataProviderModule} from './landingPages/dataProvider/dataProvider.module';
|
||||||
import {ProjectModule} from './landingPages/project/project.module';
|
import {ProjectModule} from './landingPages/project/project.module';
|
||||||
import {OrganizationModule} from './landingPages/organization/organization.module';
|
import {OrganizationModule} from './landingPages/organization/organization.module';
|
||||||
|
@ -30,6 +31,7 @@ import {DepositPublicationsResultsModule} from './deposit/publications/depositPu
|
||||||
import {SearchPublicationsModule} from './searchPages/simple/searchPublications.module';
|
import {SearchPublicationsModule} from './searchPages/simple/searchPublications.module';
|
||||||
import {SearchDatasetsModule} from './searchPages/simple/searchDatasets.module';
|
import {SearchDatasetsModule} from './searchPages/simple/searchDatasets.module';
|
||||||
import {SearchSoftwareModule} from './searchPages/simple/searchSoftware.module';
|
import {SearchSoftwareModule} from './searchPages/simple/searchSoftware.module';
|
||||||
|
import {SearchOrpsModule} from './searchPages/simple/searchOrps.module';
|
||||||
import {SearchDataProvidersModule} from './searchPages/simple/searchDataProviders.module';
|
import {SearchDataProvidersModule} from './searchPages/simple/searchDataProviders.module';
|
||||||
import {SearchProjectsModule} from './searchPages/simple/searchProjects.module';
|
import {SearchProjectsModule} from './searchPages/simple/searchProjects.module';
|
||||||
import {SearchOrganizationsModule} from './searchPages/simple/searchOrganizations.module';
|
import {SearchOrganizationsModule} from './searchPages/simple/searchOrganizations.module';
|
||||||
|
@ -37,6 +39,7 @@ import {SearchOrganizationsModule} from './searchPages/simple/searchOrganization
|
||||||
import {AdvancedSearchPublicationsModule} from './searchPages/advanced/advancedSearchPublications.module';
|
import {AdvancedSearchPublicationsModule} from './searchPages/advanced/advancedSearchPublications.module';
|
||||||
import {AdvancedSearchDatasetsModule} from './searchPages/advanced/advancedSearchDatasets.module';
|
import {AdvancedSearchDatasetsModule} from './searchPages/advanced/advancedSearchDatasets.module';
|
||||||
import {AdvancedSearchSoftwareModule} from './searchPages/advanced/advancedSearchSoftware.module';
|
import {AdvancedSearchSoftwareModule} from './searchPages/advanced/advancedSearchSoftware.module';
|
||||||
|
import {AdvancedSearchOrpsModule} from './searchPages/advanced/advancedSearchOrps.module';
|
||||||
import {AdvancedSearchDataProvidersModule} from './searchPages/advanced/advancedSearchDataProviders.module';
|
import {AdvancedSearchDataProvidersModule} from './searchPages/advanced/advancedSearchDataProviders.module';
|
||||||
import {AdvancedSearchProjectsModule} from './searchPages/advanced/advancedSearchProjects.module';
|
import {AdvancedSearchProjectsModule} from './searchPages/advanced/advancedSearchProjects.module';
|
||||||
import {AdvancedSearchOrganizationsModule} from './searchPages/advanced/advancedSearchOrganizations.module';
|
import {AdvancedSearchOrganizationsModule} from './searchPages/advanced/advancedSearchOrganizations.module';
|
||||||
|
@ -73,9 +76,9 @@ import { AppRoutingModule } from './app-routing.module';
|
||||||
MainSearchModule,
|
MainSearchModule,
|
||||||
ErrorModule,
|
ErrorModule,
|
||||||
DepositDatasetsModule,DepositDatasetsResultsModule, DepositBySubjectResultsModule,DepositPublicationsModule , DepositPublicationsResultsModule,
|
DepositDatasetsModule,DepositDatasetsResultsModule, DepositBySubjectResultsModule,DepositPublicationsModule , DepositPublicationsResultsModule,
|
||||||
SearchPublicationsModule,SearchDatasetsModule, SearchSoftwareModule, SearchDataProvidersModule, SearchProjectsModule, SearchOrganizationsModule,
|
SearchPublicationsModule,SearchDatasetsModule, SearchSoftwareModule, SearchOrpsModule, SearchDataProvidersModule, SearchProjectsModule, SearchOrganizationsModule,
|
||||||
AdvancedSearchPublicationsModule,AdvancedSearchDatasetsModule, AdvancedSearchSoftwareModule, AdvancedSearchDataProvidersModule, AdvancedSearchProjectsModule, AdvancedSearchOrganizationsModule,
|
AdvancedSearchPublicationsModule,AdvancedSearchDatasetsModule, AdvancedSearchSoftwareModule, AdvancedSearchOrpsModule, AdvancedSearchDataProvidersModule, AdvancedSearchProjectsModule, AdvancedSearchOrganizationsModule,
|
||||||
PublicationModule, DatasetModule, DataProviderModule, OrganizationModule, ProjectModule, SoftwareModule,
|
PublicationModule, DatasetModule, DataProviderModule, OrganizationModule, ProjectModule, SoftwareModule, OrpModule,
|
||||||
EntityRegistriesModule, CompatibleDataProvidersModule, JournalsModule,
|
EntityRegistriesModule, CompatibleDataProvidersModule, JournalsModule,
|
||||||
JournalsTableModule, EntityRegistriesTableModule, CompatibleDataProvidersTableModule,
|
JournalsTableModule, EntityRegistriesTableModule, CompatibleDataProvidersTableModule,
|
||||||
ClaimsAdminModule, MyClaimsModule, ClaimsByTokenModule, LinkingGenericModule, DirectLinkingModule,
|
ClaimsAdminModule, MyClaimsModule, ClaimsByTokenModule, LinkingGenericModule, DirectLinkingModule,
|
||||||
|
|
|
@ -11,6 +11,7 @@ import {SearchResultsModule } from '../searchUtils/searchResults.module';
|
||||||
import {DataProvidersServiceModule} from '../../services/dataProvidersService.module';
|
import {DataProvidersServiceModule} from '../../services/dataProvidersService.module';
|
||||||
import {DatasetsServiceModule} from '../../services/datasetsService.module';
|
import {DatasetsServiceModule} from '../../services/datasetsService.module';
|
||||||
import {SoftwareServiceModule} from '../../services/softwareService.module';
|
import {SoftwareServiceModule} from '../../services/softwareService.module';
|
||||||
|
import {OrpsServiceModule} from '../../services/orpsService.module';
|
||||||
import {ProjectsServiceModule} from '../../services/projectsService.module';
|
import {ProjectsServiceModule} from '../../services/projectsService.module';
|
||||||
import {PublicationsServiceModule} from '../../services/publicationsService.module';
|
import {PublicationsServiceModule} from '../../services/publicationsService.module';
|
||||||
import {OrganizationsServiceModule} from '../../services/organizationsService.module';
|
import {OrganizationsServiceModule} from '../../services/organizationsService.module';
|
||||||
|
@ -22,7 +23,7 @@ import {PiwikServiceModule} from '../../utils/piwik/piwikService.module';
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule, FormsModule, RouterModule,
|
CommonModule, FormsModule, RouterModule,
|
||||||
DataProvidersServiceModule, DatasetsServiceModule, SoftwareServiceModule, ProjectsServiceModule,
|
DataProvidersServiceModule, DatasetsServiceModule, SoftwareServiceModule, OrpsServiceModule, ProjectsServiceModule,
|
||||||
PublicationsServiceModule, OrganizationsServiceModule,
|
PublicationsServiceModule, OrganizationsServiceModule,
|
||||||
BrowseEntitiesModule, SearchFormModule, SearchResultsModule, PiwikServiceModule
|
BrowseEntitiesModule, SearchFormModule, SearchResultsModule, PiwikServiceModule
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<div class="uk-width-1-1 ">
|
<div class="uk-width-1-1 ">
|
||||||
<div class="uk-background-norepeat uk-background-cover uk-section uk-flex uk-flex-middle generalSearchForm">
|
<div class="uk-background-norepeat uk-background-cover uk-section uk-flex uk-flex-middle generalSearchForm">
|
||||||
<div class="uk-width-1-1">
|
<div class="uk-width-1-1">
|
||||||
<search-form [(keyword)]=keyword (keywordChange)="keywordChanged($event)" placeholderText="Search for research results, software, projects, content providers, organizations in OpenAIRE information space"></search-form>
|
<search-form [(keyword)]=keyword (keywordChange)="keywordChanged($event)" placeholderText="Search for research results, software, other research products, projects, content providers, organizations in OpenAIRE information space"></search-form>
|
||||||
<a *ngIf = "advancedSearchLink && advancedSearchLink.length > 0" routerLinkActive="router-link-active" class="uk-float-right uk-light" [routerLink]=advancedSearchLink >Advanced search for {{activeTab}}<span class="uk-icon">
|
<a *ngIf = "advancedSearchLink && advancedSearchLink.length > 0" routerLinkActive="router-link-active" class="uk-float-right uk-light" [routerLink]=advancedSearchLink >Advanced search for {{activeTab}}<span class="uk-icon">
|
||||||
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="chevron-right" ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.03" points="7 4 13 10 7 16"></polyline></svg>
|
<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="chevron-right" ratio="1"><polyline fill="none" stroke="#000" stroke-width="1.03" points="7 4 13 10 7 16"></polyline></svg>
|
||||||
</span>
|
</span>
|
||||||
|
@ -40,6 +40,13 @@
|
||||||
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li *ngIf="showOrps" (click)="searchOrps()" [class]="activeTab == 'other research products'?'uk-active':''">
|
||||||
|
<a>
|
||||||
|
Other Research Products
|
||||||
|
<span [class]="(fetchOrps.searchUtils.status != errorCodes.LOADING && keyword.length > 0)?'uk-badge uk-badge-notification':''"> {{((fetchOrps.searchUtils.status != errorCodes.LOADING && keyword.length > 0)? (fetchOrps.searchUtils.totalResults | number) :'')}}</span>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<li *ngIf="showProjects" (click)="searchProjects()" [class]="activeTab == 'projects'?'uk-active':''">
|
<li *ngIf="showProjects" (click)="searchProjects()" [class]="activeTab == 'projects'?'uk-active':''">
|
||||||
<a>
|
<a>
|
||||||
Projects
|
Projects
|
||||||
|
@ -88,6 +95,13 @@
|
||||||
<span *ngIf = "fetchSoftware.searchUtils.status != errorCodes.LOADING && keyword.length > 0" class="uk-badge uk-badge-notification"> {{((keyword.length > 0)? (fetchSoftware.searchUtils.totalResults | number) :'')}}</span>
|
<span *ngIf = "fetchSoftware.searchUtils.status != errorCodes.LOADING && keyword.length > 0" class="uk-badge uk-badge-notification"> {{((keyword.length > 0)? (fetchSoftware.searchUtils.totalResults | number) :'')}}</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li *ngIf="showOrps" (click)="searchOrps()" [class]="activeTab == 'other research products'?'uk-active':''">
|
||||||
|
<a>
|
||||||
|
Other Research Products
|
||||||
|
<span *ngIf = "fetchOrps.searchUtils.status == errorCodes.LOADING && keyword.length > 0" class="uk-icon-spinner uk-icon-spin"></span>
|
||||||
|
<span *ngIf = "fetchOrps.searchUtils.status != errorCodes.LOADING && keyword.length > 0" class="uk-badge uk-badge-notification"> {{((keyword.length > 0)? (fetchOrps.searchUtils.totalResults | number) :'')}}</span>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<li *ngIf="showProjects" (click)="searchProjects()" [class]="activeTab == 'projects'?'uk-active':''">
|
<li *ngIf="showProjects" (click)="searchProjects()" [class]="activeTab == 'projects'?'uk-active':''">
|
||||||
<a>
|
<a>
|
||||||
Projects
|
Projects
|
||||||
|
@ -175,6 +189,25 @@
|
||||||
<!--/li>
|
<!--/li>
|
||||||
<li-->
|
<li-->
|
||||||
</div>
|
</div>
|
||||||
|
<div *ngIf = "activeTab=='other research products' && showOrps" >
|
||||||
|
<div *ngIf = "keyword.length > 0 && activeTab=='other research products'" class ="uk-animation-fade">
|
||||||
|
<div class = "uk-text-right" *ngIf = "fetchOrps.searchUtils.totalResults> 10">
|
||||||
|
<a [queryParams]="routerHelper.createQueryParam('keyword', keyword)"
|
||||||
|
routerLinkActive="router-link-active" [routerLink]="linkToSearchOrps" class="uk-button uk-button-text">
|
||||||
|
View all {{fetchOrps.searchUtils.totalResults | number}} results
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<search-result [(results)]="fetchOrps.results"
|
||||||
|
[(status)]= "fetchOrps.searchUtils.status" showLoading = true
|
||||||
|
type="other" urlParam="orpId" [(properties)]=properties>
|
||||||
|
</search-result>
|
||||||
|
</div>
|
||||||
|
<div *ngIf = "keyword.length == 0 && activeTab=='other research products'" class ="uk-animation-fade">
|
||||||
|
<browse-entities [(properties)]=properties entityName="other" baseUrl="/search/find/other" [refineFields]=searchFields.RESULT_REFINE_FIELDS></browse-entities>
|
||||||
|
</div>
|
||||||
|
<!--/li>
|
||||||
|
<li-->
|
||||||
|
</div>
|
||||||
<div *ngIf = "activeTab=='projects' && showProjects">
|
<div *ngIf = "activeTab=='projects' && showProjects">
|
||||||
<div *ngIf = "keyword.length > 0 && activeTab=='projects'" class ="uk-animation-fade">
|
<div *ngIf = "keyword.length > 0 && activeTab=='projects'" class ="uk-animation-fade">
|
||||||
<div class = "uk-text-right" *ngIf = "fetchProjects.searchUtils.totalResults> 10">
|
<div class = "uk-text-right" *ngIf = "fetchProjects.searchUtils.totalResults> 10">
|
||||||
|
|
|
@ -13,6 +13,7 @@ import {FetchDataproviders} from '../../utils/fetchEntitiesClasses/fe
|
||||||
import {FetchProjects} from '../../utils/fetchEntitiesClasses/fetchProjects.class';
|
import {FetchProjects} from '../../utils/fetchEntitiesClasses/fetchProjects.class';
|
||||||
import {FetchDatasets} from '../../utils/fetchEntitiesClasses/fetchDatasets.class';
|
import {FetchDatasets} from '../../utils/fetchEntitiesClasses/fetchDatasets.class';
|
||||||
import {FetchSoftware} from '../../utils/fetchEntitiesClasses/fetchSoftware.class';
|
import {FetchSoftware} from '../../utils/fetchEntitiesClasses/fetchSoftware.class';
|
||||||
|
import {FetchOrps} from '../../utils/fetchEntitiesClasses/fetchOrps.class';
|
||||||
import {FetchOrganizations} from '../../utils/fetchEntitiesClasses/fetchOrganizations.class';
|
import {FetchOrganizations} from '../../utils/fetchEntitiesClasses/fetchOrganizations.class';
|
||||||
|
|
||||||
import {SearchPublicationsService} from '../../services/searchPublications.service';
|
import {SearchPublicationsService} from '../../services/searchPublications.service';
|
||||||
|
@ -20,6 +21,7 @@ import {SearchDataprovidersService} from '../../services/searchDataproviders.s
|
||||||
import {SearchProjectsService} from '../../services/searchProjects.service';
|
import {SearchProjectsService} from '../../services/searchProjects.service';
|
||||||
import {SearchDatasetsService} from '../../services/searchDatasets.service';
|
import {SearchDatasetsService} from '../../services/searchDatasets.service';
|
||||||
import {SearchSoftwareService} from '../../services/searchSoftware.service';
|
import {SearchSoftwareService} from '../../services/searchSoftware.service';
|
||||||
|
import {SearchOrpsService} from '../../services/searchOrps.service';
|
||||||
import {SearchOrganizationsService} from '../../services/searchOrganizations.service';
|
import {SearchOrganizationsService} from '../../services/searchOrganizations.service';
|
||||||
|
|
||||||
import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
|
import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
|
||||||
|
@ -41,6 +43,7 @@ export class SearchComponent {
|
||||||
public reloadPublications: boolean;
|
public reloadPublications: boolean;
|
||||||
public reloadDatasets: boolean;
|
public reloadDatasets: boolean;
|
||||||
public reloadSoftware: boolean;
|
public reloadSoftware: boolean;
|
||||||
|
public reloadOrps: boolean;
|
||||||
public reloadProjects: boolean;
|
public reloadProjects: boolean;
|
||||||
public reloadDataproviders: boolean;
|
public reloadDataproviders: boolean;
|
||||||
public reloadOrganizations: boolean;
|
public reloadOrganizations: boolean;
|
||||||
|
@ -51,6 +54,7 @@ export class SearchComponent {
|
||||||
public publications:string[];
|
public publications:string[];
|
||||||
public datasets:string[];
|
public datasets:string[];
|
||||||
public software:string[];
|
public software:string[];
|
||||||
|
public orps:string[];
|
||||||
public projectsTab:string[];
|
public projectsTab:string[];
|
||||||
public dataproviders:string[];
|
public dataproviders:string[];
|
||||||
public organizations:string[];
|
public organizations:string[];
|
||||||
|
@ -61,6 +65,7 @@ export class SearchComponent {
|
||||||
public linkToSearchDataproviders = "";
|
public linkToSearchDataproviders = "";
|
||||||
public linkToSearchDatasets = "";
|
public linkToSearchDatasets = "";
|
||||||
public linkToSearchSoftware = "";
|
public linkToSearchSoftware = "";
|
||||||
|
public linkToSearchOrps = "";
|
||||||
public linkToSearchOrganizations = "";
|
public linkToSearchOrganizations = "";
|
||||||
|
|
||||||
public fetchPublications : FetchPublications;
|
public fetchPublications : FetchPublications;
|
||||||
|
@ -68,6 +73,7 @@ export class SearchComponent {
|
||||||
public fetchProjects : FetchProjects;
|
public fetchProjects : FetchProjects;
|
||||||
public fetchDatasets: FetchDatasets;
|
public fetchDatasets: FetchDatasets;
|
||||||
public fetchSoftware: FetchSoftware;
|
public fetchSoftware: FetchSoftware;
|
||||||
|
public fetchOrps: FetchOrps;
|
||||||
public fetchOrganizations: FetchOrganizations;
|
public fetchOrganizations: FetchOrganizations;
|
||||||
|
|
||||||
public searchFields:SearchFields = new SearchFields();
|
public searchFields:SearchFields = new SearchFields();
|
||||||
|
@ -77,19 +83,21 @@ export class SearchComponent {
|
||||||
public publicationsSize:any = null;
|
public publicationsSize:any = null;
|
||||||
public datasetsSize:any = null;
|
public datasetsSize:any = null;
|
||||||
public softwareSize:any = null;
|
public softwareSize:any = null;
|
||||||
|
public oprsSize:any = null;
|
||||||
public fundersSize:any = null;
|
public fundersSize:any = null;
|
||||||
public projectsSize:any = null;
|
public projectsSize:any = null;
|
||||||
public datasourcesSize:any = null;
|
public datasourcesSize:any = null;
|
||||||
showPublications:boolean= false;
|
showPublications:boolean= false;
|
||||||
showDatasets:boolean= false;
|
showDatasets:boolean= false;
|
||||||
showSoftware:boolean=false;
|
showSoftware:boolean=false;
|
||||||
|
showOrps:boolean=false;
|
||||||
showProjects:boolean= false;
|
showProjects:boolean= false;
|
||||||
showDataProviders:boolean= false;
|
showDataProviders:boolean= false;
|
||||||
showOrganizations:boolean= false;
|
showOrganizations:boolean= false;
|
||||||
advancedSearchLink:string ="/search/advanced/publications";
|
advancedSearchLink:string ="/search/advanced/publications";
|
||||||
properties: EnvProperties;
|
properties: EnvProperties;
|
||||||
|
|
||||||
public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
public subPub;public subData; public subSoftware; public subOrps; public subProjects;public subOrg; public subDataPr;
|
||||||
constructor ( private route: ActivatedRoute,
|
constructor ( private route: ActivatedRoute,
|
||||||
private _router: Router,
|
private _router: Router,
|
||||||
private _searchPublicationsService: SearchPublicationsService,
|
private _searchPublicationsService: SearchPublicationsService,
|
||||||
|
@ -97,6 +105,7 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
private _searchProjectsService: SearchProjectsService,
|
private _searchProjectsService: SearchProjectsService,
|
||||||
private _searchDatasetsService: SearchDatasetsService,
|
private _searchDatasetsService: SearchDatasetsService,
|
||||||
private _searchSoftwareService: SearchSoftwareService,
|
private _searchSoftwareService: SearchSoftwareService,
|
||||||
|
private _searchOrpsService: SearchOrpsService,
|
||||||
private _searchOrganizationsService: SearchOrganizationsService,
|
private _searchOrganizationsService: SearchOrganizationsService,
|
||||||
private _refineFieldResultsService:RefineFieldResultsService,
|
private _refineFieldResultsService:RefineFieldResultsService,
|
||||||
private location: Location,
|
private location: Location,
|
||||||
|
@ -109,6 +118,7 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
this.fetchProjects = new FetchProjects(this._searchProjectsService);
|
this.fetchProjects = new FetchProjects(this._searchProjectsService);
|
||||||
this.fetchDatasets = new FetchDatasets( this._searchDatasetsService);
|
this.fetchDatasets = new FetchDatasets( this._searchDatasetsService);
|
||||||
this.fetchSoftware = new FetchSoftware(this._searchSoftwareService);
|
this.fetchSoftware = new FetchSoftware(this._searchSoftwareService);
|
||||||
|
this.fetchOrps = new FetchOrps( this._searchOrpsService);
|
||||||
this.fetchOrganizations = new FetchOrganizations( this._searchOrganizationsService);
|
this.fetchOrganizations = new FetchOrganizations( this._searchOrganizationsService);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -145,6 +155,8 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
this.showOrganizations = showEntity["organization"];
|
this.showOrganizations = showEntity["organization"];
|
||||||
this.showDataProviders = showEntity["datasource"];
|
this.showDataProviders = showEntity["datasource"];
|
||||||
this.showSoftware = showEntity["software"];
|
this.showSoftware = showEntity["software"];
|
||||||
|
this.showOrps = true;//showEntity["other"];
|
||||||
|
|
||||||
this.sub = this.route.queryParams.subscribe(params => {
|
this.sub = this.route.queryParams.subscribe(params => {
|
||||||
|
|
||||||
this.keyword = (params['keyword'])?params['keyword']:"";
|
this.keyword = (params['keyword'])?params['keyword']:"";
|
||||||
|
@ -160,6 +172,9 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
}else if(this.showSoftware){
|
}else if(this.showSoftware){
|
||||||
this.activeTab = "software";
|
this.activeTab = "software";
|
||||||
this.searchSoftware();
|
this.searchSoftware();
|
||||||
|
}else if(this.showOrps){
|
||||||
|
this.activeTab = "other research products";
|
||||||
|
this.searchOrps();
|
||||||
}else if(this.showProjects){
|
}else if(this.showProjects){
|
||||||
this.activeTab = "projects";
|
this.activeTab = "projects";
|
||||||
this.searchProjects();
|
this.searchProjects();
|
||||||
|
@ -192,6 +207,12 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
if(this.subData){
|
if(this.subData){
|
||||||
this.subData.unsubscribe();
|
this.subData.unsubscribe();
|
||||||
}
|
}
|
||||||
|
if(this.subSoftware){
|
||||||
|
this.subSoftware.unsubscribe();
|
||||||
|
}
|
||||||
|
if(this.subOrps){
|
||||||
|
this.subOrps.unsubscribe();
|
||||||
|
}
|
||||||
if(this.subProjects){
|
if(this.subProjects){
|
||||||
this.subProjects.unsubscribe();
|
this.subProjects.unsubscribe();
|
||||||
}
|
}
|
||||||
|
@ -227,6 +248,8 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public searchSoftware() {
|
public searchSoftware() {
|
||||||
|
console.info("searchOrps: reload: "+ this.reloadSoftware, this.fetchSoftware.searchUtils.status);
|
||||||
|
|
||||||
this.activeTab = "software";
|
this.activeTab = "software";
|
||||||
this.advancedSearchLink ="/search/advanced/software";
|
this.advancedSearchLink ="/search/advanced/software";
|
||||||
if(this.reloadSoftware &&
|
if(this.reloadSoftware &&
|
||||||
|
@ -237,6 +260,18 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
this.linkToSearchSoftware = this.properties.searchLinkToSoftware;// + "?keyword=" + this.keyword;
|
this.linkToSearchSoftware = this.properties.searchLinkToSoftware;// + "?keyword=" + this.keyword;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public searchOrps() {
|
||||||
|
console.info("searchOrps: reload: "+ this.reloadOrps, this.fetchOrps.searchUtils.status);
|
||||||
|
this.activeTab = "other research products";
|
||||||
|
this.advancedSearchLink ="/search/advanced/other";
|
||||||
|
if(this.reloadOrps &&
|
||||||
|
this.fetchOrps.searchUtils.status != this.errorCodes.NONE &&
|
||||||
|
this.fetchOrps.searchUtils.status != this.errorCodes.ERROR) {
|
||||||
|
this.reloadOrps = false;
|
||||||
|
this.fetchOrps.getResultsByKeyword(this.keyword, 1, 10,this.properties);
|
||||||
|
this.linkToSearchOrps =this.properties.searchLinkToOrps;
|
||||||
|
}
|
||||||
|
}
|
||||||
public searchProjects() {
|
public searchProjects() {
|
||||||
this.activeTab = "projects";
|
this.activeTab = "projects";
|
||||||
this.advancedSearchLink ="/search/advanced/projects";
|
this.advancedSearchLink ="/search/advanced/projects";
|
||||||
|
@ -293,6 +328,9 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
if(this.activeTab == "software") {
|
if(this.activeTab == "software") {
|
||||||
this.searchSoftware();
|
this.searchSoftware();
|
||||||
}
|
}
|
||||||
|
if(this.activeTab == "other research products") {
|
||||||
|
this.searchOrps();
|
||||||
|
}
|
||||||
if(this.activeTab == "organizations") {
|
if(this.activeTab == "organizations") {
|
||||||
this.searchOrganizations();
|
this.searchOrganizations();
|
||||||
}
|
}
|
||||||
|
@ -339,7 +377,7 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
if(this.activeTab != "software" && this.showSoftware){
|
if(this.activeTab != "software" && this.showSoftware){
|
||||||
this.fetchSoftware.searchUtils.status = this.errorCodes.LOADING;
|
this.fetchSoftware.searchUtils.status = this.errorCodes.LOADING;
|
||||||
this.fetchSoftware.results = [];
|
this.fetchSoftware.results = [];
|
||||||
this.subData = this._searchSoftwareService.numOfSearchSoftware(this.keyword,this.properties).subscribe(
|
this.subSoftware = this._searchSoftwareService.numOfSearchSoftware(this.keyword,this.properties).subscribe(
|
||||||
data => {
|
data => {
|
||||||
this.fetchSoftware.searchUtils.totalResults = data;
|
this.fetchSoftware.searchUtils.totalResults = data;
|
||||||
this.fetchSoftware.searchUtils.status = this.errorCodes.DONE;
|
this.fetchSoftware.searchUtils.status = this.errorCodes.DONE;
|
||||||
|
@ -360,6 +398,23 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
if(this.activeTab != "other research products" && this.showOrps){
|
||||||
|
this.fetchOrps.searchUtils.status = this.errorCodes.LOADING;
|
||||||
|
this.fetchOrps.results = [];
|
||||||
|
this.subOrps = this._searchOrpsService.numOfSearchOrps(this.keyword,this.properties).subscribe(
|
||||||
|
data => {
|
||||||
|
this.fetchOrps.searchUtils.totalResults = data;
|
||||||
|
this.fetchOrps.searchUtils.status = this.errorCodes.DONE;
|
||||||
|
if(this.fetchOrps.searchUtils.totalResults == 0) {
|
||||||
|
this.fetchOrps.searchUtils.status = this.errorCodes.NONE;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
err => {
|
||||||
|
console.log(err);
|
||||||
|
this.fetchOrps.searchUtils.status = this.errorCodes.ERROR;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
if(this.activeTab != "projects" && this.showProjects){
|
if(this.activeTab != "projects" && this.showProjects){
|
||||||
this.fetchProjects.searchUtils.status = this.errorCodes.LOADING;
|
this.fetchProjects.searchUtils.status = this.errorCodes.LOADING;
|
||||||
this.fetchProjects.results = [];
|
this.fetchProjects.results = [];
|
||||||
|
@ -407,6 +462,7 @@ public subPub;public subData;public subProjects;public subOrg; public subDataPr;
|
||||||
this.reloadPublications = true;
|
this.reloadPublications = true;
|
||||||
this.reloadDatasets = true;
|
this.reloadDatasets = true;
|
||||||
this.reloadSoftware = true;
|
this.reloadSoftware = true;
|
||||||
|
this.reloadOrps = true;
|
||||||
this.reloadProjects = true;
|
this.reloadProjects = true;
|
||||||
this.reloadDataproviders = true;
|
this.reloadDataproviders = true;
|
||||||
this.reloadOrganizations = true;
|
this.reloadOrganizations = true;
|
||||||
|
|
|
@ -37,6 +37,9 @@ export class SearchResultComponent {
|
||||||
} else if(this.type == "software") {
|
} else if(this.type == "software") {
|
||||||
this.linkToAdvancedSearchPage = this.properties.searchLinkToAdvancedSoftware;
|
this.linkToAdvancedSearchPage = this.properties.searchLinkToAdvancedSoftware;
|
||||||
this.urlParam = "softwareId";
|
this.urlParam = "softwareId";
|
||||||
|
} else if(this.type == "other") {
|
||||||
|
this.linkToAdvancedSearchPage = this.properties.searchLinkToAdvancedOrps;
|
||||||
|
this.urlParam = "orpId";
|
||||||
} else if(this.type == "project") {
|
} else if(this.type == "project") {
|
||||||
this.linkToAdvancedSearchPage = this.properties.searchLinkToAdvancedProjects;
|
this.linkToAdvancedSearchPage = this.properties.searchLinkToAdvancedProjects;
|
||||||
this.urlParam = "projectId";
|
this.urlParam = "projectId";
|
||||||
|
|
|
@ -64,6 +64,8 @@ export class RefineFieldResultsService {
|
||||||
suffix="datasets/";
|
suffix="datasets/";
|
||||||
} else if(entityType == "software"){
|
} else if(entityType == "software"){
|
||||||
suffix="software/";
|
suffix="software/";
|
||||||
|
} else if(entityType == "other"){
|
||||||
|
suffix="other/";
|
||||||
}else if(entityType == "organization"){
|
}else if(entityType == "organization"){
|
||||||
suffix="organizations/";
|
suffix="organizations/";
|
||||||
}else if(entityType == "dataprovider"){
|
}else if(entityType == "dataprovider"){
|
||||||
|
|
|
@ -101,6 +101,7 @@ export class EnvProperties {
|
||||||
searchLinkToProject;
|
searchLinkToProject;
|
||||||
searchLinkToDataProvider;
|
searchLinkToDataProvider;
|
||||||
searchLinkToDataset;
|
searchLinkToDataset;
|
||||||
|
searchLinkToOrp;
|
||||||
searchLinkToOrganization;
|
searchLinkToOrganization;
|
||||||
//Search pages
|
//Search pages
|
||||||
searchLinkToPublications;
|
searchLinkToPublications;
|
||||||
|
@ -108,6 +109,7 @@ export class EnvProperties {
|
||||||
searchLinkToProjects;
|
searchLinkToProjects;
|
||||||
searchLinkToDatasets;
|
searchLinkToDatasets;
|
||||||
searchLinkToSoftware;
|
searchLinkToSoftware;
|
||||||
|
searchLinkToOrps;
|
||||||
searchLinkToOrganizations;
|
searchLinkToOrganizations;
|
||||||
searchLinkToCompatibleDataProviders;
|
searchLinkToCompatibleDataProviders;
|
||||||
searchLinkToCompatibleDataProvidersTable;
|
searchLinkToCompatibleDataProvidersTable;
|
||||||
|
@ -121,6 +123,7 @@ export class EnvProperties {
|
||||||
searchLinkToAdvancedProjects;
|
searchLinkToAdvancedProjects;
|
||||||
searchLinkToAdvancedDatasets;
|
searchLinkToAdvancedDatasets;
|
||||||
searchLinkToAdvancedSoftware;
|
searchLinkToAdvancedSoftware;
|
||||||
|
searchLinkToAdvancedOrps;
|
||||||
searchLinkToAdvancedDataProviders;
|
searchLinkToAdvancedDataProviders;
|
||||||
searchLinkToAdvancedOrganizations;
|
searchLinkToAdvancedOrganizations;
|
||||||
searchLinkToAdvancedPeople;
|
searchLinkToAdvancedPeople;
|
||||||
|
|
|
@ -137,7 +137,7 @@ export class SearchFields {
|
||||||
constructor (){
|
constructor (){
|
||||||
}
|
}
|
||||||
getFieldName(fieldId:string,fieldType:string):string{
|
getFieldName(fieldId:string,fieldType:string):string{
|
||||||
if(fieldType == "publication" || fieldType == "dataset" || fieldType == "software"){
|
if(fieldType == "publication" || fieldType == "dataset" || fieldType == "software" || fieldType == "other"){
|
||||||
return this.RESULT_FIELDS[fieldId].name;
|
return this.RESULT_FIELDS[fieldId].name;
|
||||||
}else if(fieldType == "project"){
|
}else if(fieldType == "project"){
|
||||||
return this.PROJECT_FIELDS[fieldId].name;
|
return this.PROJECT_FIELDS[fieldId].name;
|
||||||
|
|
|
@ -33,10 +33,10 @@ export class ISVocabulariesService {
|
||||||
vocabulary = "dnet:dataCite_resource.json";
|
vocabulary = "dnet:dataCite_resource.json";
|
||||||
return this.getVocabularyFromService(vocabulary, properties);
|
return this.getVocabularyFromService(vocabulary, properties);
|
||||||
|
|
||||||
}else if ( field == "type" && (entity == "software")){
|
}else if ( field == "type" && (entity == "software" || entity == "other")){
|
||||||
return Observable.of([]);
|
return Observable.of([]);
|
||||||
|
|
||||||
}else if( field == "access" && (entity == "publication" || entity == "dataset" || entity == "software" )){
|
}else if( field == "access" && (entity == "publication" || entity == "dataset" || entity == "software" || entity == "other")){
|
||||||
// file= "accessMode.json";
|
// file= "accessMode.json";
|
||||||
// return this.getVocabularyFromFile(file);
|
// return this.getVocabularyFromFile(file);
|
||||||
vocabulary = "dnet:access_modes.json";
|
vocabulary = "dnet:access_modes.json";
|
||||||
|
|
Loading…
Reference in New Issue