New modules for back button and browse-by

This commit is contained in:
Michael Spalti
2022-12-21 12:02:56 -08:00
parent 35bb0fb802
commit 09e31e758d
16 changed files with 91 additions and 14 deletions

View File

@@ -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 {

View File

@@ -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}))
};
}

View File

@@ -96,7 +96,7 @@ const DECLARATIONS = [
ResearchEntitiesModule.withEntryComponents(),
NgxGalleryModule,
NgbAccordionModule,
UploadModule,
UploadModule
],
declarations: [
...DECLARATIONS,

View File

@@ -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

View File

@@ -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)
);

View File

@@ -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 {
}

View File

@@ -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 },

View 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 { }

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,

View File

@@ -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,