diff --git a/angular.json b/angular.json index 240869b2ac2..b5eda9fbbbb 100644 --- a/angular.json +++ b/angular.json @@ -63,7 +63,10 @@ "input": "src/themes/aura/styles/theme.scss", "inject": false, "bundleName": "aura-theme" - } + }, + "leaflet/dist/leaflet.css", + "leaflet.markercluster/dist/MarkerCluster.Default.css", + "leaflet.markercluster/dist/MarkerCluster.css" ], "scripts": [], "baseHref": "/" diff --git a/package.json b/package.json index 3296b28de1b..8e85ef720bb 100644 --- a/package.json +++ b/package.json @@ -104,6 +104,8 @@ "jsonschema": "1.5.0", "jwt-decode": "^3.1.2", "klaro": "^0.7.18", + "leaflet": "^1.9.4", + "leaflet.markercluster": "^1.5.3", "lodash": "^4.18.1", "lru-cache": "^7.14.1", "markdown-it": "^13.0.1", @@ -148,6 +150,7 @@ "@types/grecaptcha": "^3.0.9", "@types/jasmine": "~3.6.0", "@types/js-cookie": "2.2.6", + "@types/leaflet": "^1.9.22", "@types/lodash": "^4.17.24", "@types/node": "^14.14.9", "@typescript-eslint/eslint-plugin": "^7.2.0", diff --git a/src/app/admin/admin-search-page/admin-search.module.ts.bak b/src/app/admin/admin-search-page/admin-search.module.ts.bak new file mode 100644 index 00000000000..fae7d880be0 --- /dev/null +++ b/src/app/admin/admin-search-page/admin-search.module.ts.bak @@ -0,0 +1,52 @@ +import { NgModule } from '@angular/core'; + +import { JournalEntitiesModule } from '../../entity-groups/journal-entities/journal-entities.module'; +import { ResearchEntitiesModule } from '../../entity-groups/research-entities/research-entities.module'; +import { SearchModule } from '../../shared/search/search.module'; +import { SharedModule } from '../../shared/shared.module'; +import { AdminSearchPageComponent } from './admin-search-page.component'; +import { CollectionAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component'; +import { CommunityAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component'; +import { ItemAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component'; +import { CollectionAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component'; +import { CommunityAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component'; +import { ItemAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component'; +import { ItemAdminSearchResultActionsComponent } from './admin-search-results/item-admin-search-result-actions.component'; +import { ThemedAdminSearchPageComponent } from './themed-admin-search-page.component'; + +const ENTRY_COMPONENTS = [ + // put only entry components that use custom decorator + ItemAdminSearchResultListElementComponent, + CommunityAdminSearchResultListElementComponent, + CollectionAdminSearchResultListElementComponent, + ItemAdminSearchResultGridElementComponent, + CommunityAdminSearchResultGridElementComponent, + CollectionAdminSearchResultGridElementComponent, + ItemAdminSearchResultActionsComponent, +]; + +@NgModule({ + imports: [ + SearchModule, + SharedModule.withEntryComponents(), + JournalEntitiesModule.withEntryComponents(), + ResearchEntitiesModule.withEntryComponents(), + ], + declarations: [ + ThemedAdminSearchPageComponent, + AdminSearchPageComponent, + ...ENTRY_COMPONENTS, + ], +}) +export class AdminSearchModule { + /** + * NOTE: this method allows to resolve issue with components that using a custom decorator + * which are not loaded during SSR otherwise + */ + static withEntryComponents() { + return { + ngModule: SharedModule, + providers: ENTRY_COMPONENTS.map((component) => ({ provide: component })), + }; + } +} diff --git a/src/app/admin/admin-workflow-page/admin-workflow.module.ts.bak b/src/app/admin/admin-workflow-page/admin-workflow.module.ts.bak new file mode 100644 index 00000000000..ba2520e46ed --- /dev/null +++ b/src/app/admin/admin-workflow-page/admin-workflow.module.ts.bak @@ -0,0 +1,43 @@ +import { NgModule } from '@angular/core'; + +import { SearchModule } from '../../shared/search/search.module'; +import { SharedModule } from '../../shared/shared.module'; +import { AdminWorkflowPageComponent } from './admin-workflow-page.component'; +import { WorkflowItemSearchResultAdminWorkflowGridElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component'; +import { WorkflowItemSearchResultAdminWorkflowListElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component'; +import { WorkflowItemAdminWorkflowActionsComponent } from './admin-workflow-search-results/workflow-item-admin-workflow-actions.component'; +import { ThemedAdminWorkflowPageComponent } from './themed-admin-workflow-page.component'; + +const ENTRY_COMPONENTS = [ + // put only entry components that use custom decorator + WorkflowItemSearchResultAdminWorkflowListElementComponent, + WorkflowItemSearchResultAdminWorkflowGridElementComponent, +]; + +@NgModule({ + imports: [ + SearchModule, + SharedModule.withEntryComponents(), + ], + declarations: [ + ThemedAdminWorkflowPageComponent, + AdminWorkflowPageComponent, + WorkflowItemAdminWorkflowActionsComponent, + ...ENTRY_COMPONENTS, + ], + exports: [ + AdminWorkflowPageComponent, + ], +}) +export class AdminWorkflowModuleModule { + /** + * NOTE: this method allows to resolve issue with components that using a custom decorator + * which are not loaded during SSR otherwise + */ + static withEntryComponents() { + return { + ngModule: SharedModule, + providers: ENTRY_COMPONENTS.map((component) => ({ provide: component })), + }; + } +} diff --git a/src/app/info/accessibility-settings/accessibility-settings.component.html b/src/app/info/accessibility-settings/accessibility-settings.component.html index b730d2c83a2..a47332b5be4 100644 --- a/src/app/info/accessibility-settings/accessibility-settings.component.html +++ b/src/app/info/accessibility-settings/accessibility-settings.component.html @@ -1,94 +1,252 @@
Website accessibility statement inline with Public Sector Body (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018
+This accessibility statement applies to: https://aura.abdn.ac.uk/ +
+This website is run by the Library and University Collections Directorate, Information Services Group at the University of Edinburgh. We want as many people as possible to be able to use this application. For example, that means you should be able to:
+We’ve also made the website text as simple as possible to understand. However, some of our content is technical, and we use technical terms where there is no easier wording we could use without changing what the text means.
- - -