mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
New modules for back button and browse-by
This commit is contained in:
@@ -4,16 +4,21 @@ import { BrowseByModule } from './browse-by.module';
|
||||
import { ItemDataService } from '../core/data/item-data.service';
|
||||
import { BrowseService } from '../core/browse/browse.service';
|
||||
import { BrowseByGuard } from './browse-by-guard';
|
||||
import { SharedBrowseByModule } from '../shared/shared-browse-by/shared-browse-by.module';
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedBrowseByModule,
|
||||
BrowseByRoutingModule,
|
||||
BrowseByModule.withEntryComponents()
|
||||
BrowseByModule.withEntryComponents(),
|
||||
],
|
||||
providers: [
|
||||
ItemDataService,
|
||||
BrowseService,
|
||||
BrowseByGuard
|
||||
BrowseByGuard,
|
||||
],
|
||||
declarations: [
|
||||
|
||||
]
|
||||
})
|
||||
export class BrowseByPageModule {
|
||||
|
@@ -1,7 +1,6 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { BrowseByTitlePageComponent } from './browse-by-title-page/browse-by-title-page.component';
|
||||
import { SharedModule } from '../shared/shared.module';
|
||||
import { BrowseByMetadataPageComponent } from './browse-by-metadata-page/browse-by-metadata-page.component';
|
||||
import { BrowseByDatePageComponent } from './browse-by-date-page/browse-by-date-page.component';
|
||||
import { BrowseBySwitcherComponent } from './browse-by-switcher/browse-by-switcher.component';
|
||||
@@ -10,6 +9,7 @@ import { ComcolModule } from '../shared/comcol/comcol.module';
|
||||
import { ThemedBrowseByMetadataPageComponent } from './browse-by-metadata-page/themed-browse-by-metadata-page.component';
|
||||
import { ThemedBrowseByDatePageComponent } from './browse-by-date-page/themed-browse-by-date-page.component';
|
||||
import { ThemedBrowseByTitlePageComponent } from './browse-by-title-page/themed-browse-by-title-page.component';
|
||||
import { SharedBrowseByModule } from '../shared/shared-browse-by/shared-browse-by.module';
|
||||
|
||||
const ENTRY_COMPONENTS = [
|
||||
// put only entry components that use custom decorator
|
||||
@@ -25,9 +25,9 @@ const ENTRY_COMPONENTS = [
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SharedBrowseByModule,
|
||||
CommonModule,
|
||||
ComcolModule,
|
||||
SharedModule
|
||||
],
|
||||
declarations: [
|
||||
BrowseBySwitcherComponent,
|
||||
@@ -45,7 +45,7 @@ export class BrowseByModule {
|
||||
*/
|
||||
static withEntryComponents() {
|
||||
return {
|
||||
ngModule: SharedModule,
|
||||
ngModule: SharedBrowseByModule,
|
||||
providers: ENTRY_COMPONENTS.map((component) => ({provide: component}))
|
||||
};
|
||||
}
|
||||
|
@@ -96,7 +96,7 @@ const DECLARATIONS = [
|
||||
ResearchEntitiesModule.withEntryComponents(),
|
||||
NgxGalleryModule,
|
||||
NgbAccordionModule,
|
||||
UploadModule,
|
||||
UploadModule
|
||||
],
|
||||
declarations: [
|
||||
...DECLARATIONS,
|
||||
|
@@ -7,6 +7,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
||||
import { DYNAMIC_FORM_CONTROL_MAP_FN } from '@ng-dynamic-forms/core';
|
||||
import { dsDynamicFormControlMapFn } from '../shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component';
|
||||
import { TabbedRelatedEntitiesSearchComponent } from './simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component';
|
||||
import { ResultsBackButtonModule } from '../shared/results-back-button/results-back-button.module';
|
||||
|
||||
const COMPONENTS = [
|
||||
RelatedEntitiesSearchComponent,
|
||||
@@ -21,7 +22,8 @@ const COMPONENTS = [
|
||||
CommonModule,
|
||||
SearchModule,
|
||||
SharedModule,
|
||||
TranslateModule
|
||||
TranslateModule,
|
||||
ResultsBackButtonModule
|
||||
],
|
||||
exports: [
|
||||
...COMPONENTS
|
||||
|
@@ -58,7 +58,7 @@ export class ItemComponent implements OnInit {
|
||||
// Show the back to results button when the previous context was search, browse,
|
||||
// or recent submissions pagination.
|
||||
this.showBackButton = this.routeService.getPreviousUrl().pipe(
|
||||
filter(url => /^(\/search|\/browse|\/collections)/.test(url)),
|
||||
filter(url => /^(\/search|\/browse|\/collections|\/admin\/search|\/mydspace)/.test(url)),
|
||||
take(1),
|
||||
map(() => true)
|
||||
);
|
||||
|
@@ -0,0 +1,21 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { ResultsBackButtonComponent } from './results-back-button.component';
|
||||
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
ResultsBackButtonComponent
|
||||
],
|
||||
imports: [
|
||||
CommonModule,
|
||||
TranslateModule
|
||||
],
|
||||
exports: [
|
||||
ResultsBackButtonComponent
|
||||
]
|
||||
})
|
||||
export class ResultsBackButtonModule {
|
||||
|
||||
}
|
@@ -44,6 +44,10 @@ import { ConfigurationProperty } from '../../core/shared/configuration-property.
|
||||
import { SearchConfigurationServiceStub } from '../testing/search-configuration-service.stub';
|
||||
import { SearchConfigurationService } from '../../core/shared/search/search-configuration.service';
|
||||
import { getMockThemeService } from '../mocks/theme-service.mock';
|
||||
import { ResultsBackButtonModule } from '../results-back-button/results-back-button.module';
|
||||
import { SharedModule } from '../shared.module';
|
||||
import { BrowseByRoutingModule } from '../../browse-by/browse-by-routing.module';
|
||||
import { AccessControlRoutingModule } from '../../access-control/access-control-routing.module';
|
||||
|
||||
@listableObjectComponent(BrowseEntry, ViewMode.ListElement, DEFAULT_CONTEXT, 'custom')
|
||||
@Component({
|
||||
@@ -112,7 +116,11 @@ describe('BrowseByComponent', () => {
|
||||
themeService = getMockThemeService('dspace');
|
||||
TestBed.configureTestingModule({
|
||||
imports: [
|
||||
ResultsBackButtonModule,
|
||||
BrowseByRoutingModule,
|
||||
AccessControlRoutingModule,
|
||||
CommonModule,
|
||||
SharedModule,
|
||||
NgbModule,
|
||||
TranslateModule.forRoot({
|
||||
loader: {
|
||||
@@ -123,7 +131,7 @@ describe('BrowseByComponent', () => {
|
||||
RouterTestingModule,
|
||||
NoopAnimationsModule
|
||||
],
|
||||
declarations: [],
|
||||
declarations: [BrowseByComponent],
|
||||
providers: [
|
||||
{ provide: SearchConfigurationService, useValue: new SearchConfigurationServiceStub() },
|
||||
{ provide: ConfigurationDataService, useValue: configurationDataService },
|
26
src/app/shared/shared-browse-by/shared-browse-by.module.ts
Normal file
26
src/app/shared/shared-browse-by/shared-browse-by.module.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { BrowseByComponent } from './browse-by.component';
|
||||
import { CommonModule } from '@angular/common';
|
||||
import { SharedModule } from '../shared.module';
|
||||
import { ResultsBackButtonModule } from '../results-back-button/results-back-button.module';
|
||||
import { BrowseByRoutingModule } from '../../browse-by/browse-by-routing.module';
|
||||
import { AccessControlRoutingModule } from '../../access-control/access-control-routing.module';
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
BrowseByComponent,
|
||||
],
|
||||
imports: [
|
||||
ResultsBackButtonModule,
|
||||
BrowseByRoutingModule,
|
||||
AccessControlRoutingModule,
|
||||
CommonModule,
|
||||
SharedModule,
|
||||
|
||||
],
|
||||
exports: [
|
||||
BrowseByComponent,
|
||||
SharedModule,
|
||||
]
|
||||
})
|
||||
export class SharedBrowseByModule { }
|
@@ -95,7 +95,6 @@ import {
|
||||
ClaimedTaskActionsRejectComponent
|
||||
} from './mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component';
|
||||
import { ObjNgFor } from './utils/object-ngfor.pipe';
|
||||
import { BrowseByComponent } from './browse-by/browse-by.component';
|
||||
import {
|
||||
BrowseEntryListElementComponent
|
||||
} from './object-list/browse-entry-list-element/browse-entry-list-element.component';
|
||||
@@ -317,7 +316,6 @@ import {
|
||||
} from './object-list/listable-notification-object/listable-notification-object.component';
|
||||
import { ThemedResultsBackButtonComponent } from './results-back-button/themed-results-back-button.component';
|
||||
import { ThemedCollectionDropdownComponent } from './collection-dropdown/themed-collection-dropdown.component';
|
||||
import { ResultsBackButtonComponent } from './results-back-button/results-back-button.component';
|
||||
|
||||
|
||||
const MODULES = [
|
||||
@@ -338,7 +336,7 @@ const MODULES = [
|
||||
DragDropModule,
|
||||
CdkTreeModule,
|
||||
GoogleRecaptchaModule,
|
||||
MenuModule,
|
||||
MenuModule
|
||||
];
|
||||
|
||||
const ROOT_MODULES = [
|
||||
@@ -398,7 +396,6 @@ const COMPONENTS = [
|
||||
ItemSubmitterComponent,
|
||||
ItemDetailPreviewComponent,
|
||||
ItemDetailPreviewFieldComponent,
|
||||
ResultsBackButtonComponent,
|
||||
ThemedResultsBackButtonComponent,
|
||||
ClaimedTaskActionsComponent,
|
||||
ClaimedTaskActionsLoaderComponent,
|
||||
@@ -409,7 +406,7 @@ const COMPONENTS = [
|
||||
ViewModeSwitchComponent,
|
||||
TruncatableComponent,
|
||||
TruncatablePartComponent,
|
||||
BrowseByComponent,
|
||||
// BrowseByComponent,
|
||||
InputSuggestionsComponent,
|
||||
FilterInputSuggestionsComponent,
|
||||
ValidationSuggestionsComponent,
|
||||
|
@@ -45,6 +45,8 @@ import { CommunityListElementComponent } from './app/shared/object-list/communit
|
||||
import { CollectionListElementComponent} from './app/shared/object-list/collection-list-element/collection-list-element.component';
|
||||
import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component';
|
||||
import { CollectionDropdownComponent } from './app/shared/collection-dropdown/collection-dropdown.component';
|
||||
import { SharedBrowseByModule } from '../../app/shared/shared-browse-by/shared-browse-by.module';
|
||||
import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module';
|
||||
|
||||
|
||||
/**
|
||||
@@ -84,6 +86,8 @@ const DECLARATIONS = [
|
||||
imports: [
|
||||
CommonModule,
|
||||
SharedModule,
|
||||
SharedBrowseByModule,
|
||||
ResultsBackButtonModule,
|
||||
SearchModule,
|
||||
FormsModule,
|
||||
RootModule,
|
||||
|
@@ -117,6 +117,8 @@ import { BrowseByTitlePageComponent } from './app/browse-by/browse-by-title-page
|
||||
import {
|
||||
ExternalSourceEntryImportModalComponent
|
||||
} from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component';
|
||||
import { SharedBrowseByModule } from '../../app/shared/shared-browse-by/shared-browse-by.module';
|
||||
import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module';
|
||||
|
||||
const DECLARATIONS = [
|
||||
FileSectionComponent,
|
||||
@@ -212,6 +214,8 @@ const DECLARATIONS = [
|
||||
ScrollToModule,
|
||||
SearchPageModule,
|
||||
SharedModule,
|
||||
SharedBrowseByModule,
|
||||
ResultsBackButtonModule,
|
||||
StatisticsModule,
|
||||
StatisticsPageModule,
|
||||
StoreModule,
|
||||
|
@@ -9,6 +9,8 @@ import { HeaderNavbarWrapperComponent } from './app/header-nav-wrapper/header-na
|
||||
import { SearchModule } from '../../app/shared/search/search.module';
|
||||
import { RootModule } from '../../app/root.module';
|
||||
import { NavbarModule } from '../../app/navbar/navbar.module';
|
||||
import { SharedBrowseByModule } from '../../app/shared/shared-browse-by/shared-browse-by.module';
|
||||
import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module';
|
||||
|
||||
/**
|
||||
* Add components that use a custom decorator to ENTRY_COMPONENTS as well as DECLARATIONS.
|
||||
@@ -30,6 +32,8 @@ const DECLARATIONS = [
|
||||
CommonModule,
|
||||
SharedModule,
|
||||
SearchModule,
|
||||
SharedBrowseByModule,
|
||||
ResultsBackButtonModule,
|
||||
FormsModule,
|
||||
RootModule,
|
||||
NavbarModule,
|
||||
|
@@ -55,6 +55,9 @@ import {
|
||||
} from '../../app/shared/resource-policies/resource-policies.module';
|
||||
import { ComcolModule } from '../../app/shared/comcol/comcol.module';
|
||||
import { RootModule } from '../../app/root.module';
|
||||
import { BrowseByPageModule } from '../../app/browse-by/browse-by-page.module';
|
||||
import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module';
|
||||
import { SharedBrowseByModule } from '../../app/shared/shared-browse-by/shared-browse-by.module';
|
||||
|
||||
const DECLARATIONS = [
|
||||
];
|
||||
@@ -68,6 +71,8 @@ const DECLARATIONS = [
|
||||
RootModule,
|
||||
BitstreamFormatsModule,
|
||||
BrowseByModule,
|
||||
BrowseByPageModule,
|
||||
ResultsBackButtonModule,
|
||||
CollectionFormModule,
|
||||
CollectionPageModule,
|
||||
CommonModule,
|
||||
@@ -95,6 +100,7 @@ const DECLARATIONS = [
|
||||
ScrollToModule,
|
||||
SearchPageModule,
|
||||
SharedModule,
|
||||
SharedBrowseByModule,
|
||||
StatisticsModule,
|
||||
StatisticsPageModule,
|
||||
StoreModule,
|
||||
|
Reference in New Issue
Block a user