Compare commits

...

3398 Commits

Author SHA1 Message Date
Tim Donohue
dde0e40805 Update version tag for 8.0-rc1 release 2024-04-05 17:06:50 -05:00
Tim Donohue
d0a8042a89 Merge pull request #2067 from atmire/disable-inline-css
Add configuration option to disable inlined CSS in SSR HTML
2024-04-05 13:14:22 -05:00
Yury Bondarenko
6203055c7a Merge remote-tracking branch 'origin/main' into disable-inline-css 2024-04-05 09:28:45 +02:00
Tim Donohue
1e339608dc Merge pull request #2894 from DSpace/dependabot/npm_and_yarn/axios-1.6.8
Bump axios from 0.21.4 to 1.6.8
2024-04-04 14:06:32 -05:00
Tim Donohue
cd79416776 Merge pull request #2872 from DSpace/dependabot/npm_and_yarn/webpack-dev-middleware-5.3.4
Bump webpack-dev-middleware from 5.3.3 to 5.3.4
2024-04-04 11:57:49 -05:00
dependabot[bot]
cf845af54e Bump axios from 0.21.4 to 1.6.8
Bumps [axios](https://github.com/axios/axios) from 0.21.4 to 1.6.8.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.4...v1.6.8)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 16:42:37 +00:00
Tim Donohue
863a04ed4d Merge pull request #2881 from DSpace/dependabot/npm_and_yarn/express-4.19.2
Bump express from 4.18.2 to 4.19.2
2024-04-04 11:31:08 -05:00
Tim Donohue
7ebda4a7ed Merge pull request #2887 from DSpace/rename-ds7-2-ds8
Renaming DSpace to DSpace 8
2024-04-04 10:45:51 -05:00
dependabot[bot]
41d4ed7603 Bump webpack-dev-middleware from 5.3.3 to 5.3.4
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/v5.3.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v5.3.3...v5.3.4)

---
updated-dependencies:
- dependency-name: webpack-dev-middleware
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 15:12:12 +00:00
dependabot[bot]
ae93c4fe11 Bump express from 4.18.2 to 4.19.2
Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 15:12:03 +00:00
Tim Donohue
7ae6c7e67e Merge pull request #2871 from 4Science/DURACOM-234
Upgrade to angular 16
2024-04-04 10:11:08 -05:00
Paulo Graça
00798934d6 Renaming to DS8 2024-04-04 15:47:38 +01:00
Paulo Graça
dbf222248a Renaming DSpace to DSpace 8 2024-04-04 15:37:04 +01:00
Giuseppe Digilio
c327bf744b [DURACOM-234] Fix merge with main 2024-04-04 09:58:10 +02:00
Giuseppe Digilio
32f1d1096a Merge branch 'main' into DURACOM-234
# Conflicts:
#	src/app/core/data/request.service.ts
#	src/modules/app/browser-app.config.ts
#	src/modules/app/server-app.config.ts
2024-04-04 09:32:38 +02:00
Tim Donohue
86ddd45dc1 Merge pull request #2886 from tdonohue/csrf_fixes
Ensures CSRF token is initialized prior to first modifying (non-`GET`) request
2024-04-03 14:43:40 -05:00
Tim Donohue
bbab56a7da Update build script to use "docker compose" instead of "docker-compose". Fixes random failures starting e2e test backend via Docker 2024-04-03 14:00:42 -05:00
Giuseppe Digilio
35714b7a45 [DURACOM-234] rename guards in order to be complaint to function name convention 2024-04-03 18:57:11 +02:00
Giuseppe Digilio
f1686d5499 [DURACOM-234] rename resolvers in order to be complaint to function name convention 2024-04-03 18:48:14 +02:00
Tim Donohue
f7d31fd341 Fix tests. Add XSRFService to all specs which need it to be initialized 2024-04-03 11:48:13 -05:00
Tim Donohue
cc6b159a8a Update code to use GET request. Cleanup lint errors & add in basic TypeDocs 2024-04-03 10:25:43 -05:00
Art Lowel
617c7d8756 make a call to ensure a correct XSRF token before performing any non-GET requests 2024-04-03 09:46:45 -05:00
Giuseppe Digilio
aba04913ce [DURACOM-234] Replace Observable with BehaviorSubject 2024-04-02 18:54:39 +02:00
Giuseppe Digilio
660cf7e4dd [DURACOM-234] Remove assertions on isResponsePending in favour of remote data operators 2024-04-02 18:54:00 +02:00
Giuseppe Digilio
b49d883e0b [DURACOM-234] fix my-dspace.guard 2024-04-02 18:51:00 +02:00
Giuseppe Digilio
b8c26a71c3 [DURACOM-234] Fixes after migrating to functional guards 2024-04-02 18:45:57 +02:00
Giuseppe Digilio
026e16ffd9 [DURACOM-234] Fix tests 2024-04-02 15:28:19 +02:00
Giuseppe Digilio
32b816c1aa [DURACOM-234] Made use of mapToCanActivate for all the guards which are still Class 2024-04-02 13:13:25 +02:00
Giuseppe Digilio
19548fc6d4 [DURACOM-234] Move resolver dependency to relate functional one 2024-04-02 12:31:32 +02:00
Giuseppe Digilio
6a4ad7bdb4 [DURACOM-234] Fix resolver name 2024-04-02 12:28:49 +02:00
Giuseppe Digilio
29f5a17528 [DURACOM-234] Migrate to functional guards WIP 2024-03-29 18:28:32 +01:00
Giuseppe Digilio
5dbc6ce7a8 [DURACOM-237] Fix issue on drag end 2024-03-29 12:47:03 +01:00
Giuseppe Digilio
1f4aca800b [DURACOM-234] Migrate fo functional resolver 2024-03-28 23:34:37 +01:00
Giuseppe Digilio
549609e2ea [DURACOM-234] Fix Markdown Config 2024-03-28 16:49:14 +01:00
Giuseppe Digilio
a8c3af097d [DURACOM-234] Switch to standalone bootstrapping API 2024-03-26 20:52:26 +01:00
Giuseppe Digilio
0c3e9b1535 [DURACOM-234] Fix NG0600 error 2024-03-26 18:42:29 +01:00
Alan Orth
b3b3ef8203 Merge pull request #2877 from alexandrevryghem/fix-systemwidealert-form-validation_contribute-main
System-wide alert shouldn't be created when the message is empty
2024-03-26 10:11:45 +03:00
Alexandre Vryghem
03e49907c1 Merge branch 'fix-systemwidealert-form-validation_contribute-7.6' into fix-systemwidealert-form-validation_contribute-main 2024-03-23 16:04:25 +01:00
Alexandre Vryghem
767de4b5c8 Prevent system-wide alert to be activated with empty message 2024-03-23 15:12:48 +01:00
Yury Bondarenko
4a39f33006 Add to config.example.yml 2024-03-22 16:23:39 +01:00
Giuseppe Digilio
e0855a46cc [DURACOM-234] Remove unsupported node 16 2024-03-21 17:29:52 +01:00
Giuseppe Digilio
969b42fee1 [DURACOM-234] Fix tests 2024-03-21 16:34:42 +01:00
Giuseppe Digilio
abb284a2d6 [DURACOM-237] Fix tests 2024-03-21 16:33:32 +01:00
Giuseppe Digilio
5d24691bc2 Merged in DURACOM-240-mathjax (pull request #1488)
Replace mathjax pipe with directive
2024-03-21 12:17:44 +00:00
Giuseppe Digilio
b325701f9f [DURACOM-240] Fix test 2024-03-21 13:11:08 +01:00
Giuseppe Digilio
a652600c7f [DURACOM-234] Remove fdescribe 2024-03-21 13:10:33 +01:00
Giuseppe Digilio
e2bbb43395 Merge branch 'DURACOM-234' into DURACOM-240-mathjax
# Conflicts:
#	src/app/shared/utils/markdown.pipe.spec.ts
2024-03-21 12:57:31 +01:00
Giuseppe Digilio
152e724c75 [DURACOM-234] Fix tests 2024-03-21 12:56:45 +01:00
Giuseppe Digilio
c072d5ddfc Merge branch 'main' into DURACOM-234 2024-03-21 09:52:13 +01:00
Giuseppe Digilio
418f07bbf2 [DURACOM-240] Assure the MathJax script has been registered before rendering 2024-03-21 09:46:14 +01:00
Tim Donohue
41eccbbfe1 Merge pull request #2750 from 4Science/DURACOM-191
Migration to standalone components
2024-03-20 09:36:00 -05:00
Giuseppe Digilio
cfa2882a28 Merge branch 'DURACOM-234' into DURACOM-240-mathjax 2024-03-20 12:15:52 +01:00
Giuseppe Digilio
bef71a99b4 [DURACOM-234] Fix merge 2024-03-20 12:15:22 +01:00
Giuseppe Digilio
9b6b79c755 Merge branch 'DURACOM-234' into DURACOM-240-mathjax 2024-03-20 12:02:40 +01:00
Giuseppe Digilio
b214bb386a Merge branch 'DURACOM-191' into DURACOM-234
# Conflicts:
#	src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts
2024-03-20 12:01:42 +01:00
Giuseppe Digilio
6704a397bd [DURACOM-191] Provide routing option properly 2024-03-20 11:56:53 +01:00
Giuseppe Digilio
85292579af [DURACOM-191] Fix selected tab for the comcol-page-browse-by.component 2024-03-20 11:55:34 +01:00
Giuseppe Digilio
bcf8383daf [DURACOM-191] Fix issue with edit relationship page 2024-03-20 11:52:45 +01:00
Giuseppe Digilio
2826ff5536 [DURACOM-191] Fix missing import for ngIf and ngFor directive 2024-03-19 18:04:09 +01:00
Giuseppe Digilio
dfad3f3fad [DURACOM-191] Fix issue with admin workflow page 2024-03-18 21:03:37 +01:00
Giuseppe Digilio
ddd0131c8b [DURACOM-191] Fix submission-import-external-preview.component 2024-03-18 21:00:37 +01:00
Giuseppe Digilio
41c62e2478 [DURACOM-191] Fix batch import page 2024-03-18 17:57:01 +01:00
Giuseppe Digilio
5b6c174767 [DURACOM-191] Fix withdrawn-reinstate-modal 2024-03-18 17:48:08 +01:00
Giuseppe Digilio
4fdbf15ae0 Merge branch 'DURACOM-234' into DURACOM-240-mathjax 2024-03-18 16:11:12 +01:00
Giuseppe Digilio
66a99090a8 Merge branch 'DURACOM-191' into DURACOM-234
# Conflicts:
#	src/app/shared/resource-policies/resolvers/resource-policy-target.resolver.ts
2024-03-18 16:10:26 +01:00
Giuseppe Digilio
acfcf51e34 [DURACOM-191] Remove DataService decorator 2024-03-18 16:08:35 +01:00
Giuseppe Digilio
b28f99f6bf [DURACOM-191] Fix resource-policy-target.resolver which still used getDataServiceFor decorator 2024-03-18 16:03:43 +01:00
Giuseppe Digilio
8c55e89b3d [DURACOM-191] Fix eperson-group-list.component which still used getDataServiceFor decorator 2024-03-18 15:35:34 +01:00
Giuseppe Digilio
7472e6939b [DURACOM-191] Fix dso-edit-metadata.component which still used getDataServiceFor decorator 2024-03-18 13:45:42 +01:00
Giuseppe Digilio
58512b6eed [DURACOM-191] Fix test 2024-03-18 11:26:26 +01:00
Giuseppe Digilio
8409853be6 [DURACOM-191] Clean up suggestions-data.service implementation 2024-03-18 09:18:12 +01:00
Giuseppe Digilio
00479132ab [DURACOM-191] Add missing data service 2024-03-17 19:21:56 +01:00
Giuseppe Digilio
9e6fe526e1 [DURACOM-240] use BehaviorSubject 2024-03-17 19:07:09 +01:00
Andrea Barbasso
3e30f64e9c [DURACOM-240] add and fix tests 2024-03-17 18:32:38 +01:00
Andrea Barbasso
e1ba78c443 [DURACOM-240] refactor variable 2024-03-17 18:30:34 +01:00
Andrea Barbasso
e402ac482d [DURACOM-240] split service into SSR and CSR 2024-03-17 18:29:11 +01:00
Andrea Barbasso
68c9ef1051 [DURACOM-240] refactor markdownPipe to markdownDirective
missing tests and splitting the service into a browser one and a server one
2024-03-17 18:25:27 +01:00
Andrea Barbasso
825308e223 [DURACOM-240] working directive
need to change markdown pipe to markdown directive and put everything in there
2024-03-17 18:20:03 +01:00
Andrea Barbasso
c6b72f6c64 [DURACOM-240] pre-tests changes 2024-03-17 18:14:53 +01:00
Giuseppe Digilio
81b0d76f1b [DURACOM-240] Improve markdown pipe in order to check for empty values 2024-03-17 18:12:20 +01:00
Simone Ramundi
083a904043 Merged in DURACOM-237-align-to-angular-16 (pull request #1431)
DURACOM-237 align to angular 16

Approved-by: Giuseppe Digilio
2024-03-17 17:06:53 +00:00
Giuseppe Digilio
3e03b71479 [DURACOM-237] Add space before text 2024-03-17 18:06:06 +01:00
Giuseppe Digilio
1e95fdb300 [DURACOM-237] Fix lint 2024-03-17 17:50:14 +01:00
Giuseppe Digilio
61d5f49c13 Merge branch 'DURACOM-234' into DURACOM-237-align-to-angular-16
# Conflicts:
#	src/app/shared/form/chips/chips.component.ts
#	src/app/shared/form/form.module.ts
2024-03-17 17:44:35 +01:00
Giuseppe Digilio
0db7fffec6 Merge branch 'DURACOM-191' into DURACOM-234 2024-03-17 17:35:40 +01:00
Giuseppe Digilio
2e8817712a [DURACOM-191] Fix tests 2024-03-17 17:34:35 +01:00
Giuseppe Digilio
788e44a770 [DURACOM-191] Fix circular dependency 2024-03-17 15:48:05 +01:00
Giuseppe Digilio
f527810545 [DURACOM-191] Fix tests 2024-03-15 19:46:14 +01:00
Andrea Barbasso
aa4e4e6fce [DURACOM-234] fix build errors 2024-03-15 15:36:42 +01:00
Andrea Barbasso
4bc7df86b3 [DURACOM-234] remove useless import 2024-03-15 14:51:45 +01:00
Andrea Barbasso
c75c5f1199 [DURACOM-234] lint fix 2024-03-15 13:19:00 +01:00
Andrea Barbasso
0c3dd8d946 Merge branch 'DURACOM-191' into DURACOM-191-align-to-angular-16
# Conflicts:
#	package.json
#	src/app/access-control/epeople-registry/eperson-resolver.service.ts
#	src/app/admin/admin-registries/bitstream-formats/bitstream-formats.resolver.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.ts
#	src/app/app.module.ts
#	src/app/bitstream-page/bitstream-page.resolver.ts
#	src/app/bitstream-page/legacy-bitstream-url.resolver.ts
#	src/app/browse-by/browse-by-guard.ts
#	src/app/collection-page/collection-page.resolver.ts
#	src/app/collection-page/create-collection-page/create-collection-page.guard.ts
#	src/app/collection-page/edit-item-template-page/item-template-page.resolver.ts
#	src/app/community-page/community-page.resolver.ts
#	src/app/community-page/create-community-page/create-community-page.guard.ts
#	src/app/core/auth/auth-blocking.guard.ts
#	src/app/core/auth/authenticated.guard.ts
#	src/app/core/breadcrumbs/dso-breadcrumb.resolver.ts
#	src/app/core/breadcrumbs/i18n-breadcrumb.resolver.ts
#	src/app/core/breadcrumbs/quality-assurance-breadcrumb.resolver.ts
#	src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-single-feature.guard.spec.ts
#	src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.spec.ts
#	src/app/core/data/feature-authorization/feature-authorization-guard/dso-page-some-feature.guard.ts
#	src/app/core/data/feature-authorization/feature-authorization-guard/some-feature-authorization.guard.ts
#	src/app/core/end-user-agreement/abstract-end-user-agreement.guard.ts
#	src/app/core/feedback/feedback.guard.ts
#	src/app/core/reload/reload.guard.ts
#	src/app/core/server-check/server-check.guard.ts
#	src/app/core/submission/resolver/submission-object.resolver.ts
#	src/app/home-page/home-page.resolver.ts
#	src/app/init.service.ts
#	src/app/item-page/edit-item-page/edit-item-page.component.spec.ts
#	src/app/item-page/edit-item-page/edit-item-page.component.ts
#	src/app/item-page/item.resolver.ts
#	src/app/item-page/version-page/version.resolver.ts
#	src/app/lookup-by-id/lookup-guard.ts
#	src/app/menu.resolver.ts
#	src/app/my-dspace-page/my-dspace.guard.ts
#	src/app/process-page/process-breadcrumb.resolver.ts
#	src/app/process-page/process-page.resolver.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.resolver.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-data.resolver.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page-resolver.service.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page-resolver.service.ts
#	src/app/register-email-form/registration.resolver.ts
#	src/app/register-page/registration.guard.ts
#	src/app/request-copy/request-copy.resolver.ts
#	src/app/search-page/configuration-search-page.guard.ts
#	src/app/shared/context-help.directive.ts
#	src/app/shared/dso-page/dso-edit-menu.resolver.ts
#	src/app/shared/form/chips/chips.component.spec.ts
#	src/app/shared/form/chips/chips.component.ts
#	src/app/shared/form/form.module.ts
#	src/app/shared/metadata-representation/metadata-representation-loader.component.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts
#	src/app/shared/resource-policies/resolvers/resource-policy-target.resolver.ts
#	src/app/shared/resource-policies/resolvers/resource-policy.resolver.ts
#	src/app/shared/theme-support/themed.component.ts
#	src/app/shared/utils/markdown.pipe.ts
#	src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.ts
#	src/app/workflowitems-edit-page/item-from-workflow.resolver.ts
#	src/app/workflowitems-edit-page/workflow-item-page.resolver.ts
#	src/app/workspaceitems-edit-page/item-from-workspace.resolver.ts
#	src/app/workspaceitems-edit-page/workspace-item-page.resolver.ts
#	src/config/app-config.interface.ts
#	src/main.server.ts
#	src/modules/app/browser-app.module.ts
#	src/modules/app/browser-init.service.ts
#	src/modules/app/server-app.module.ts
#	src/modules/app/server-init.service.ts
#	src/ngx-translate-loaders/translate-browser.loader.ts
#	src/ngx-translate-loaders/translate-server.loader.ts
#	src/themes/custom/lazy-theme.module.ts
#	src/themes/dspace/lazy-theme.module.ts
#	yarn.lock
2024-03-15 13:07:20 +01:00
Giuseppe Digilio
fb47c9698d Merge remote-tracking branch '4scienceGithub/DURACOM-191' into DURACOM-191 2024-03-15 11:31:20 +01:00
Andrea Barbasso
5fc2ed9213 [DURACOM-191] fix some tests 2024-03-15 10:32:39 +01:00
Giuseppe Digilio
f29e70d8a4 [DURACOM-191] Remove duplicated route path definition 2024-03-15 09:00:09 +01:00
Giuseppe Digilio
762fceecc2 [DURACOM-191] optimize application states providers 2024-03-14 19:54:03 +01:00
Giuseppe Digilio
524f20232d Merge remote-tracking branch '4scienceGithub/DURACOM-191' into DURACOM-191 2024-03-14 18:44:54 +01:00
Giuseppe Digilio
f53d829337 [DURACOM-191] remove providers already provided in root 2024-03-14 18:44:41 +01:00
Giuseppe Digilio
748febdb88 [DURACOM-191] Provide resolver in root 2024-03-14 18:06:35 +01:00
Andrea Barbasso
4faa4ab77d [DURACOM-191] fix metadata-import-page.component tests 2024-03-14 17:57:30 +01:00
Andrea Barbasso
1a14f3fb75 [DURACOM-191] fix some tests 2024-03-14 17:24:03 +01:00
Andrea Barbasso
87552ce5d6 Merge remote-tracking branch 'github/DURACOM-191' into DURACOM-191 2024-03-14 16:53:13 +01:00
Giuseppe Digilio
56fc0a7cfb Merge remote-tracking branch '4scienceGithub/DURACOM-191' into DURACOM-191 2024-03-14 16:52:14 +01:00
Giuseppe Digilio
d72c2848f2 [DURACOM-191] Remove app-routing.module 2024-03-14 16:52:09 +01:00
Giuseppe Digilio
f244ea7160 [DURACOM-191] Fix missing import 2024-03-14 16:51:38 +01:00
Andrea Barbasso
e73e95ebaf [DURACOM-191] fix some tests and remaining decorator to be removed 2024-03-14 16:51:05 +01:00
Giuseppe Digilio
653de28586 [DURACOM-191] Remove system-wide-alert.module 2024-03-14 16:30:56 +01:00
Andrea Barbasso
f0a0e38302 [DURACOM-191] fix some tests 2024-03-14 16:01:09 +01:00
Giuseppe Digilio
c6cdb99213 [DURACOM-191] Remove submission.module 2024-03-14 15:54:05 +01:00
Giuseppe Digilio
88bcbfc27d [DURACOM-191] Remove statistics-page.module and statistics.module 2024-03-14 15:48:37 +01:00
Giuseppe Digilio
e630b6cfed [DURACOM-191] Remove subscriptions-page.module, subscriptions.module.ts and upload.module.ts 2024-03-14 15:32:42 +01:00
Andrea Barbasso
c8ae352740 [DURACOM-191] fix some tests 2024-03-14 15:22:25 +01:00
Giuseppe Digilio
a364cd8d27 [DURACOM-191] Remove menu.module, resource-policies.module and search.module 2024-03-14 15:11:07 +01:00
Giuseppe Digilio
5d21510144 Merge remote-tracking branch '4scienceGithub/DURACOM-191' into DURACOM-191 2024-03-14 14:12:01 +01:00
Giuseppe Digilio
cb44f0a098 [DURACOM-191] Remove register-email-form.module, form.module, shared-browse-by.module and process-page-shared.module 2024-03-14 14:11:55 +01:00
Andrea Barbasso
981597cb19 [DURACOM-191] fix some tests 2024-03-14 12:55:09 +01:00
Andrea Barbasso
0b78b042c9 [DURACOM-191] move data services to map 2024-03-14 12:15:37 +01:00
Andrea Barbasso
268bdb4bd4 [DURACOM-191] fix some tests 2024-03-14 11:12:38 +01:00
Andrea Barbasso
6ef5d7ef46 [DURACOM-191] fix some tests 2024-03-14 11:07:03 +01:00
Andrea Barbasso
2473a27681 [DURACOM-191] fix qa-event-notification.component test 2024-03-14 10:57:42 +01:00
Andrea Barbasso
4e69eedaf8 [DURACOM-191] fix workspace-item-search-result-detail-element.component test 2024-03-14 10:48:24 +01:00
Andrea Barbasso
0d1bd063e6 [DURACOM-191] fix notify-info.service test 2024-03-14 10:39:45 +01:00
Andrea Barbasso
e4ea7d3ae2 [DURACOM-191] fix footer.component test 2024-03-14 10:29:25 +01:00
Andrea Barbasso
d2f64d968b [DURACOM-191] fix untyped-item.component test 2024-03-14 10:18:56 +01:00
Andrea Barbasso
0a0b9ea7eb [DURACOM-191] fix test 2024-03-14 10:05:55 +01:00
Andrea Barbasso
3d871b2745 [DURACOM-191] fix test 2024-03-14 09:45:44 +01:00
Andrea Barbasso
9d0db66b4f [DURACOM-191] fix test 2024-03-14 08:32:58 +01:00
Giuseppe Digilio
e153ca3e89 [DURACOM-191] Remove navbar.module 2024-03-13 19:55:03 +01:00
Giuseppe Digilio
054a3d56c5 [DURACOM-191] Remove edit-item-page.module and item-versions.module.ts 2024-03-13 19:27:08 +01:00
Giuseppe Digilio
a29c60376a [DURACOM-191] Remove item-page.module 2024-03-13 18:39:14 +01:00
Giuseppe Digilio
2840a4207d [DURACOM-191] Remove browse-by-page.module 2024-03-13 18:19:45 +01:00
Giuseppe Digilio
eb230333dd [DURACOM-191] add provided in root 2024-03-13 18:18:15 +01:00
Giuseppe Digilio
5ff7b8c58b [DURACOM-191] Remove my-dspace-page.module and fix missing imports 2024-03-13 18:17:55 +01:00
Andrea Barbasso
464d793a6d [DURACOM-191] fix tests 2024-03-13 17:07:24 +01:00
Giuseppe Digilio
11a2170898 [DURACOM-191] Remove google-recaptcha.module 2024-03-13 16:07:33 +01:00
Giuseppe Digilio
2cabfc7752 [DURACOM-191] Remove lookup-by-id.module 2024-03-13 16:06:23 +01:00
Giuseppe Digilio
5edef2d782 [DURACOM-191] Fix issue with migration to standalone components 2024-03-13 16:00:52 +01:00
Giuseppe Digilio
1e2fabbf31 [DURACOM-191] Fix lint 2024-03-13 14:57:54 +01:00
Giuseppe Digilio
08aef91a0a Merge remote-tracking branch '4scienceGithub/DURACOM-191' into DURACOM-191 2024-03-13 14:52:11 +01:00
Giuseppe Digilio
8c435be8c0 [DURACOM-191] Remove admin-reports.module 2024-03-13 14:51:51 +01:00
Giuseppe Digilio
e5ed336692 [DURACOM-191] Remove admin-ldn-services.module 2024-03-13 14:51:32 +01:00
Giuseppe Digilio
8b4eedef32 [DURACOM-191] Remove admin-notify-dashboard.module 2024-03-13 14:51:02 +01:00
Giuseppe Digilio
44c608c445 [DURACOM-191] Remove access-control.module 2024-03-13 12:28:27 +01:00
Giuseppe Digilio
e03f68d239 [DURACOM-191] Refactoring in order to remove nested subscriptions 2024-03-13 12:28:15 +01:00
Andrea Barbasso
98b15658b0 [DURACOM-191] fix some test errors 2024-03-13 12:02:01 +01:00
Andrea Barbasso
0ff19db071 [DURACOM-191] convert components to standalone 2024-03-13 10:59:26 +01:00
Andrea Barbasso
06f8aa028b [DURACOM-191] fix build errors 2024-03-13 09:19:38 +01:00
Andrea Barbasso
4fde89e10c [DURACOM-191] fix wrong imports 2024-03-13 07:48:13 +01:00
Andrea Barbasso
3029802ad4 [DURACOM-191] fix lint errors manually and automatically 2024-03-12 21:06:12 +01:00
Andrea Barbasso
ee265f855b [DURACOM-191] run optimize imports and lint fix 2024-03-12 20:10:23 +01:00
Andrea Barbasso
fe23ac6a82 Merge remote-tracking branch 'github/main' into DURACOM-191-20240311-main-merge
# Conflicts:
#	src/app/access-control/access-control-routing.module.ts
#	src/app/access-control/access-control.module.ts
#	src/app/access-control/bulk-access/browse/bulk-access-browse.component.spec.ts
#	src/app/access-control/bulk-access/browse/bulk-access-browse.component.ts
#	src/app/access-control/bulk-access/bulk-access.component.spec.ts
#	src/app/access-control/bulk-access/bulk-access.component.ts
#	src/app/access-control/bulk-access/settings/bulk-access-settings.component.spec.ts
#	src/app/access-control/bulk-access/settings/bulk-access-settings.component.ts
#	src/app/access-control/epeople-registry/epeople-registry.component.spec.ts
#	src/app/access-control/epeople-registry/epeople-registry.component.ts
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.spec.ts
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts
#	src/app/access-control/group-registry/group-form/group-form.component.spec.ts
#	src/app/access-control/group-registry/group-form/group-form.component.ts
#	src/app/access-control/group-registry/group-form/members-list/members-list.component.spec.ts
#	src/app/access-control/group-registry/group-form/members-list/members-list.component.ts
#	src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.spec.ts
#	src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.ts
#	src/app/access-control/group-registry/groups-registry.component.spec.ts
#	src/app/access-control/group-registry/groups-registry.component.ts
#	src/app/admin/admin-curation-tasks/admin-curation-tasks.component.spec.ts
#	src/app/admin/admin-import-batch-page/batch-import-page.component.spec.ts
#	src/app/admin/admin-import-batch-page/batch-import-page.component.ts
#	src/app/admin/admin-import-metadata-page/metadata-import-page.component.spec.ts
#	src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts
#	src/app/admin/admin-ldn-services/admin-ldn-services-routes.ts
#	src/app/admin/admin-ldn-services/admin-ldn-services.module.ts
#	src/app/admin/admin-ldn-services/ldn-service-form/ldn-service-form.component.spec.ts
#	src/app/admin/admin-ldn-services/ldn-service-form/ldn-service-form.component.ts
#	src/app/admin/admin-ldn-services/ldn-services-directory/ldn-services-directory.component.spec.ts
#	src/app/admin/admin-ldn-services/ldn-services-directory/ldn-services-directory.component.ts
#	src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.spec.ts
#	src/app/admin/admin-notifications/admin-notifications-publication-claim-page/admin-notifications-publication-claim-page.component.ts
#	src/app/admin/admin-notifications/admin-notifications-routing.module.ts
#	src/app/admin/admin-notifications/admin-notifications.module.ts
#	src/app/admin/admin-registries/admin-registries-routing.module.ts
#	src/app/admin/admin-registries/admin-registries.module.ts
#	src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.spec.ts
#	src/app/admin/admin-registries/bitstream-formats/add-bitstream-format/add-bitstream-format.component.ts
#	src/app/admin/admin-registries/bitstream-formats/bitstream-formats-routing.module.ts
#	src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.spec.ts
#	src/app/admin/admin-registries/bitstream-formats/bitstream-formats.component.ts
#	src/app/admin/admin-registries/bitstream-formats/bitstream-formats.module.ts
#	src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.spec.ts
#	src/app/admin/admin-registries/bitstream-formats/edit-bitstream-format/edit-bitstream-format.component.ts
#	src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.spec.ts
#	src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.ts
#	src/app/admin/admin-registries/metadata-registry/metadata-registry.component.spec.ts
#	src/app/admin/admin-registries/metadata-registry/metadata-registry.component.ts
#	src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.spec.ts
#	src/app/admin/admin-registries/metadata-registry/metadata-schema-form/metadata-schema-form.component.ts
#	src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.spec.ts
#	src/app/admin/admin-registries/metadata-schema/metadata-field-form/metadata-field-form.component.ts
#	src/app/admin/admin-registries/metadata-schema/metadata-schema.component.spec.ts
#	src/app/admin/admin-registries/metadata-schema/metadata-schema.component.ts
#	src/app/admin/admin-reports/admin-reports-routing.module.ts
#	src/app/admin/admin-reports/admin-reports.module.ts
#	src/app/admin/admin-reports/filtered-collections/filtered-collections.component.spec.ts
#	src/app/admin/admin-reports/filtered-collections/filtered-collections.component.ts
#	src/app/admin/admin-reports/filtered-items/filtered-items.component.ts
#	src/app/admin/admin-reports/filters-section/filters-section.component.spec.ts
#	src/app/admin/admin-reports/filters-section/filters-section.component.ts
#	src/app/admin/admin-routing.module.ts
#	src/app/admin/admin-search-page/admin-search-page.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-page.component.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component.ts
#	src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/item-admin-search-result-actions.component.ts
#	src/app/admin/admin-search-page/admin-search.module.ts
#	src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.spec.ts
#	src/app/admin/admin-sidebar/admin-sidebar-section/admin-sidebar-section.component.ts
#	src/app/admin/admin-sidebar/admin-sidebar.component.spec.ts
#	src/app/admin/admin-sidebar/admin-sidebar.component.ts
#	src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.spec.ts
#	src/app/admin/admin-sidebar/expandable-admin-sidebar-section/expandable-admin-sidebar-section.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-page.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-page.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workflow-item/workflow-item-admin-workflow-actions.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-group-selector/supervision-order-group-selector.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/supervision-order-status/supervision-order-status.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/actions/workspace-item/workspace-item-admin-workflow-actions.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-list-element/workspace-item/workspace-item-search-result-admin-workflow-list-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow.module.ts
#	src/app/admin/admin.module.ts
#	src/app/app-routing.module.ts
#	src/app/app.component.ts
#	src/app/app.module.ts
#	src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.spec.ts
#	src/app/bitstream-page/bitstream-authorizations/bitstream-authorizations.component.ts
#	src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.spec.ts
#	src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.ts
#	src/app/bitstream-page/bitstream-page-routing.module.ts
#	src/app/bitstream-page/bitstream-page.module.ts
#	src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.spec.ts
#	src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts
#	src/app/breadcrumbs/breadcrumbs.component.spec.ts
#	src/app/breadcrumbs/breadcrumbs.component.ts
#	src/app/browse-by/browse-by-date/browse-by-date.component.spec.ts
#	src/app/browse-by/browse-by-date/browse-by-date.component.ts
#	src/app/browse-by/browse-by-guard.spec.ts
#	src/app/browse-by/browse-by-metadata/browse-by-metadata.component.spec.ts
#	src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts
#	src/app/browse-by/browse-by-page.module.ts
#	src/app/browse-by/browse-by-routing.module.ts
#	src/app/browse-by/browse-by-switcher/browse-by-decorator.ts
#	src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts
#	src/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts
#	src/app/browse-by/browse-by-switcher/dynamic-component-loader.directive.ts
#	src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.spec.ts
#	src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts
#	src/app/browse-by/browse-by-title/browse-by-title.component.spec.ts
#	src/app/browse-by/browse-by-title/browse-by-title.component.ts
#	src/app/browse-by/browse-by.module.ts
#	src/app/collection-page/collection-form/collection-form.component.ts
#	src/app/collection-page/collection-form/collection-form.module.ts
#	src/app/collection-page/collection-item-mapper/collection-item-mapper.component.spec.ts
#	src/app/collection-page/collection-item-mapper/collection-item-mapper.component.ts
#	src/app/collection-page/collection-page-routing.module.ts
#	src/app/collection-page/collection-page.component.ts
#	src/app/collection-page/collection-page.module.ts
#	src/app/collection-page/create-collection-page/create-collection-page.component.spec.ts
#	src/app/collection-page/create-collection-page/create-collection-page.component.ts
#	src/app/collection-page/delete-collection-page/delete-collection-page.component.spec.ts
#	src/app/collection-page/delete-collection-page/delete-collection-page.component.ts
#	src/app/collection-page/edit-collection-page/collection-access-control/collection-access-control.component.spec.ts
#	src/app/collection-page/edit-collection-page/collection-authorizations/collection-authorizations.component.spec.ts
#	src/app/collection-page/edit-collection-page/collection-curate/collection-curate.component.spec.ts
#	src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.spec.ts
#	src/app/collection-page/edit-collection-page/collection-metadata/collection-metadata.component.ts
#	src/app/collection-page/edit-collection-page/collection-roles/collection-roles.component.spec.ts
#	src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.spec.ts
#	src/app/collection-page/edit-collection-page/collection-source/collection-source-controls/collection-source-controls.component.ts
#	src/app/collection-page/edit-collection-page/collection-source/collection-source.component.spec.ts
#	src/app/collection-page/edit-collection-page/collection-source/collection-source.component.ts
#	src/app/collection-page/edit-collection-page/edit-collection-page.component.spec.ts
#	src/app/collection-page/edit-collection-page/edit-collection-page.component.ts
#	src/app/collection-page/edit-collection-page/edit-collection-page.module.ts
#	src/app/collection-page/edit-collection-page/edit-collection-page.routing.module.ts
#	src/app/collection-page/edit-item-template-page/edit-item-template-page.component.spec.ts
#	src/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts
#	src/app/community-list-page/community-list-page.component.spec.ts
#	src/app/community-list-page/community-list-page.module.ts
#	src/app/community-list-page/community-list-page.routing.module.ts
#	src/app/community-list-page/community-list/community-list.component.spec.ts
#	src/app/community-list-page/community-list/community-list.component.ts
#	src/app/community-page/community-form/community-form.component.ts
#	src/app/community-page/community-form/community-form.module.ts
#	src/app/community-page/community-page-routing.module.ts
#	src/app/community-page/community-page.component.ts
#	src/app/community-page/community-page.module.ts
#	src/app/community-page/create-community-page/create-community-page.component.spec.ts
#	src/app/community-page/create-community-page/create-community-page.component.ts
#	src/app/community-page/delete-community-page/delete-community-page.component.spec.ts
#	src/app/community-page/delete-community-page/delete-community-page.component.ts
#	src/app/community-page/edit-community-page/community-access-control/community-access-control.component.spec.ts
#	src/app/community-page/edit-community-page/community-access-control/community-access-control.component.ts
#	src/app/community-page/edit-community-page/community-authorizations/community-authorizations.component.spec.ts
#	src/app/community-page/edit-community-page/community-curate/community-curate.component.spec.ts
#	src/app/community-page/edit-community-page/community-metadata/community-metadata.component.spec.ts
#	src/app/community-page/edit-community-page/community-roles/community-roles.component.spec.ts
#	src/app/community-page/edit-community-page/community-roles/community-roles.component.ts
#	src/app/community-page/edit-community-page/edit-community-page.component.spec.ts
#	src/app/community-page/edit-community-page/edit-community-page.component.ts
#	src/app/community-page/edit-community-page/edit-community-page.module.ts
#	src/app/community-page/edit-community-page/edit-community-page.routing.module.ts
#	src/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.spec.ts
#	src/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts
#	src/app/community-page/sections/sub-com-col-section/sub-com-col-section.component.ts
#	src/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.spec.ts
#	src/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.ts
#	src/app/core/auth/auth.service.spec.ts
#	src/app/core/browse/browse-definition-data.service.ts
#	src/app/core/cache/builders/link.service.spec.ts
#	src/app/core/cache/builders/link.service.ts
#	src/app/core/coar-notify/notify-info/notify-info.component.spec.ts
#	src/app/core/coar-notify/notify-info/notify-info.component.ts
#	src/app/core/coar-notify/notify-info/notify-info.service.ts
#	src/app/core/config/bulk-access-config-data.service.ts
#	src/app/core/config/submission-accesses-config-data.service.ts
#	src/app/core/config/submission-uploads-config-data.service.ts
#	src/app/core/core.module.ts
#	src/app/core/data/access-status-data.service.ts
#	src/app/core/data/bitstream-data.service.ts
#	src/app/core/data/bitstream-format-data.service.ts
#	src/app/core/data/bundle-data.service.ts
#	src/app/core/data/collection-data.service.ts
#	src/app/core/data/community-data.service.ts
#	src/app/core/data/configuration-data.service.ts
#	src/app/core/data/dspace-object-data.service.ts
#	src/app/core/data/feature-authorization/authorization-data.service.ts
#	src/app/core/data/feature-authorization/feature-authorization-guard/site-administrator.guard.ts
#	src/app/core/data/feature-authorization/feature-authorization-guard/site-register.guard.ts
#	src/app/core/data/feature-authorization/feature-data.service.ts
#	src/app/core/data/href-only-data.service.ts
#	src/app/core/data/identifier-data.service.ts
#	src/app/core/data/item-data.service.spec.ts
#	src/app/core/data/item-data.service.ts
#	src/app/core/data/metadata-field-data.service.ts
#	src/app/core/data/metadata-schema-data.service.ts
#	src/app/core/data/processes/process-data.service.ts
#	src/app/core/data/processes/script-data.service.ts
#	src/app/core/data/relationship-data.service.ts
#	src/app/core/data/relationship-type-data.service.ts
#	src/app/core/data/root-data.service.ts
#	src/app/core/data/site-data.service.ts
#	src/app/core/data/system-wide-alert-data.service.ts
#	src/app/core/data/version-data.service.ts
#	src/app/core/data/version-history-data.service.ts
#	src/app/core/data/workflow-action-data.service.ts
#	src/app/core/eperson/eperson-data.service.spec.ts
#	src/app/core/eperson/eperson-data.service.ts
#	src/app/core/eperson/group-data.service.spec.ts
#	src/app/core/eperson/group-data.service.ts
#	src/app/core/feedback/feedback-data.service.ts
#	src/app/core/google-recaptcha/google-recaptcha.module.ts
#	src/app/core/orcid/orcid-history-data.service.ts
#	src/app/core/orcid/orcid-queue-data.service.ts
#	src/app/core/profile/researcher-profile-data.service.ts
#	src/app/core/registry/registry.service.spec.ts
#	src/app/core/resource-policy/resource-policy-data.service.ts
#	src/app/core/shared/non-hierarchical-browse-definition.ts
#	src/app/core/shared/search/search.service.spec.ts
#	src/app/core/statistics/usage-report-data.service.ts
#	src/app/core/submission/submission-cc-license-data.service.ts
#	src/app/core/submission/submission-cc-license-url-data.service.ts
#	src/app/core/submission/vocabularies/vocabulary-entry-details.data.service.ts
#	src/app/core/submission/workflowitem-data.service.ts
#	src/app/core/submission/workspaceitem-data.service.ts
#	src/app/core/supervision-order/supervision-order-data.service.ts
#	src/app/core/tasks/claimed-task-data.service.ts
#	src/app/core/tasks/pool-task-data.service.ts
#	src/app/curation-form/curation-form.component.spec.ts
#	src/app/curation-form/curation-form.component.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.spec.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.spec.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-headers/dso-edit-metadata-headers.component.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value-headers/dso-edit-metadata-value-headers.component.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.spec.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts
#	src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.spec.ts
#	src/app/dso-shared/dso-edit-metadata/metadata-field-selector/metadata-field-selector.component.ts
#	src/app/dso-shared/dso-shared.module.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/journal-issue/journal-issue-grid-element.component.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/journal-volume/journal-volume-grid-element.component.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/journal/journal-grid-element.component.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-issue/journal-issue-search-result-grid-element.component.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal-volume/journal-volume-search-result-grid-element.component.ts
#	src/app/entity-groups/journal-entities/item-grid-elements/search-result-grid-elements/journal/journal-search-result-grid-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-list-elements/journal-issue/journal-issue-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-list-elements/journal-volume/journal-volume-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-list-elements/journal/journal-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-issue/journal-issue-search-result-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal-volume/journal-volume-search-result-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.spec.ts
#	src/app/entity-groups/journal-entities/item-list-elements/search-result-list-elements/journal/journal-search-result-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-issue/journal-issue-sidebar-search-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal-volume/journal-volume-sidebar-search-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-list-elements/sidebar-search-list-elements/journal/journal-sidebar-search-list-element.component.ts
#	src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts
#	src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts
#	src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts
#	src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts
#	src/app/entity-groups/journal-entities/journal-entities.module.ts
#	src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-grid-elements/org-unit/org-unit-grid-element.component.ts
#	src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-grid-elements/person/person-grid-element.component.ts
#	src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-grid-elements/project/project-grid-element.component.ts
#	src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component.ts
#	src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component.ts
#	src/app/entity-groups/research-entities/item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-list-elements/org-unit/org-unit-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-list-elements/person/person-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-list-elements/project/project-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component.ts
#	src/app/entity-groups/research-entities/item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component.ts
#	src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts
#	src/app/entity-groups/research-entities/item-pages/person/person.component.ts
#	src/app/entity-groups/research-entities/item-pages/project/project.component.ts
#	src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/metadata-representations/org-unit/org-unit-item-metadata-list-element.component.ts
#	src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/metadata-representations/person/person-item-metadata-list-element.component.ts
#	src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.spec.ts
#	src/app/entity-groups/research-entities/metadata-representations/project/project-item-metadata-list-element.component.ts
#	src/app/entity-groups/research-entities/research-entities.module.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.spec.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.spec.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.spec.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/person/person-suggestions/person-input-suggestions.component.ts
#	src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.spec.ts
#	src/app/entity-groups/research-entities/submission/name-variant-modal/name-variant-modal.component.ts
#	src/app/footer/footer.component.spec.ts
#	src/app/footer/footer.component.ts
#	src/app/forbidden/forbidden.component.ts
#	src/app/forgot-password/forgot-password-email/forgot-email.component.spec.ts
#	src/app/forgot-password/forgot-password-email/forgot-email.component.ts
#	src/app/forgot-password/forgot-password-email/themed-forgot-email.component.ts
#	src/app/forgot-password/forgot-password-form/forgot-password-form.component.spec.ts
#	src/app/forgot-password/forgot-password-form/forgot-password-form.component.ts
#	src/app/forgot-password/forgot-password-form/themed-forgot-password-form.component.ts
#	src/app/forgot-password/forgot-password-routing.module.ts
#	src/app/forgot-password/forgot-password.module.ts
#	src/app/header-nav-wrapper/header-navbar-wrapper.component.ts
#	src/app/header/context-help-toggle/context-help-toggle.component.spec.ts
#	src/app/header/context-help-toggle/context-help-toggle.component.ts
#	src/app/header/header.component.spec.ts
#	src/app/header/header.component.ts
#	src/app/health-page/health-info/health-info-component/health-info-component.component.spec.ts
#	src/app/health-page/health-info/health-info-component/health-info-component.component.ts
#	src/app/health-page/health-info/health-info.component.spec.ts
#	src/app/health-page/health-info/health-info.component.ts
#	src/app/health-page/health-page.component.spec.ts
#	src/app/health-page/health-page.component.ts
#	src/app/health-page/health-page.module.ts
#	src/app/health-page/health-page.routing.module.ts
#	src/app/health-page/health-panel/health-component/health-component.component.spec.ts
#	src/app/health-page/health-panel/health-component/health-component.component.ts
#	src/app/health-page/health-panel/health-panel.component.spec.ts
#	src/app/health-page/health-panel/health-panel.component.ts
#	src/app/health-page/health-panel/health-status/health-status.component.spec.ts
#	src/app/health-page/health-panel/health-status/health-status.component.ts
#	src/app/home-page/home-news/home-news.component.ts
#	src/app/home-page/home-page-routing.module.ts
#	src/app/home-page/home-page.component.ts
#	src/app/home-page/home-page.module.ts
#	src/app/home-page/recent-item-list/recent-item-list.component.spec.ts
#	src/app/home-page/recent-item-list/recent-item-list.component.ts
#	src/app/home-page/top-level-community-list/top-level-community-list.component.spec.ts
#	src/app/home-page/top-level-community-list/top-level-community-list.component.ts
#	src/app/import-external-page/import-external-page.component.spec.ts
#	src/app/import-external-page/import-external-page.component.ts
#	src/app/import-external-page/import-external-page.module.ts
#	src/app/import-external-page/import-external-routing.module.ts
#	src/app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component.spec.ts
#	src/app/info/end-user-agreement/end-user-agreement-content/end-user-agreement-content.component.ts
#	src/app/info/end-user-agreement/end-user-agreement.component.spec.ts
#	src/app/info/end-user-agreement/end-user-agreement.component.ts
#	src/app/info/feedback/feedback-form/feedback-form.component.spec.ts
#	src/app/info/feedback/feedback-form/feedback-form.component.ts
#	src/app/info/feedback/feedback.component.spec.ts
#	src/app/info/feedback/feedback.component.ts
#	src/app/info/info-routing.module.ts
#	src/app/info/info.module.ts
#	src/app/info/privacy/privacy-content/privacy-content.component.spec.ts
#	src/app/info/privacy/privacy-content/privacy-content.component.ts
#	src/app/info/privacy/privacy.component.spec.ts
#	src/app/info/privacy/privacy.component.ts
#	src/app/init.service.ts
#	src/app/item-page/alerts/item-alerts.component.spec.ts
#	src/app/item-page/alerts/item-alerts.component.ts
#	src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.spec.ts
#	src/app/item-page/bitstreams/request-a-copy/bitstream-request-a-copy-page.component.ts
#	src/app/item-page/bitstreams/upload/upload-bitstream.component.spec.ts
#	src/app/item-page/bitstreams/upload/upload-bitstream.component.ts
#	src/app/item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts
#	src/app/item-page/edit-item-page/edit-item-page.component.spec.ts
#	src/app/item-page/edit-item-page/edit-item-page.component.ts
#	src/app/item-page/edit-item-page/edit-item-page.module.ts
#	src/app/item-page/edit-item-page/edit-item-page.routing.module.ts
#	src/app/item-page/edit-item-page/item-access-control/item-access-control.component.spec.ts
#	src/app/item-page/edit-item-page/item-access-control/item-access-control.component.ts
#	src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.spec.ts
#	src/app/item-page/edit-item-page/item-authorizations/item-authorizations.component.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.spec.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-bitstreams.component.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.spec.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.spec.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/paginated-drag-and-drop-bitstream-list/paginated-drag-and-drop-bitstream-list.component.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-drag-handle/item-edit-bitstream-drag-handle.component.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.spec.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.ts
#	src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.spec.ts
#	src/app/item-page/edit-item-page/item-collection-mapper/item-collection-mapper.component.ts
#	src/app/item-page/edit-item-page/item-curate/item-curate.component.spec.ts
#	src/app/item-page/edit-item-page/item-curate/item-curate.component.ts
#	src/app/item-page/edit-item-page/item-delete/item-delete.component.spec.ts
#	src/app/item-page/edit-item-page/item-delete/item-delete.component.ts
#	src/app/item-page/edit-item-page/item-move/item-move.component.spec.ts
#	src/app/item-page/edit-item-page/item-move/item-move.component.ts
#	src/app/item-page/edit-item-page/item-operation/item-operation.component.spec.ts
#	src/app/item-page/edit-item-page/item-operation/item-operation.component.ts
#	src/app/item-page/edit-item-page/item-private/item-private.component.spec.ts
#	src/app/item-page/edit-item-page/item-private/item-private.component.ts
#	src/app/item-page/edit-item-page/item-public/item-public.component.spec.ts
#	src/app/item-page/edit-item-page/item-public/item-public.component.ts
#	src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.spec.ts
#	src/app/item-page/edit-item-page/item-register-doi/item-register-doi.component.ts
#	src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.spec.ts
#	src/app/item-page/edit-item-page/item-reinstate/item-reinstate.component.ts
#	src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts
#	src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.ts
#	src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.spec.ts
#	src/app/item-page/edit-item-page/item-relationships/edit-relationship/edit-relationship.component.ts
#	src/app/item-page/edit-item-page/item-relationships/item-relationships.component.spec.ts
#	src/app/item-page/edit-item-page/item-relationships/item-relationships.component.ts
#	src/app/item-page/edit-item-page/item-status/item-status.component.ts
#	src/app/item-page/edit-item-page/item-version-history/item-version-history.component.spec.ts
#	src/app/item-page/edit-item-page/item-version-history/item-version-history.component.ts
#	src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.spec.ts
#	src/app/item-page/edit-item-page/item-withdraw/item-withdraw.component.ts
#	src/app/item-page/edit-item-page/modify-item-overview/modify-item-overview.component.ts
#	src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.spec.ts
#	src/app/item-page/edit-item-page/simple-item-action/abstract-simple-item-action.component.ts
#	src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.spec.ts
#	src/app/item-page/edit-item-page/virtual-metadata/virtual-metadata.component.ts
#	src/app/item-page/field-components/collections/collections.component.spec.ts
#	src/app/item-page/field-components/collections/collections.component.ts
#	src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.spec.ts
#	src/app/item-page/field-components/metadata-uri-values/metadata-uri-values.component.ts
#	src/app/item-page/field-components/metadata-values/metadata-values.component.spec.ts
#	src/app/item-page/field-components/metadata-values/metadata-values.component.ts
#	src/app/item-page/full/field-components/file-section/full-file-section.component.spec.ts
#	src/app/item-page/full/field-components/file-section/full-file-section.component.ts
#	src/app/item-page/full/full-item-page.component.spec.ts
#	src/app/item-page/full/full-item-page.component.ts
#	src/app/item-page/item-page-routing.module.ts
#	src/app/item-page/item-page.module.ts
#	src/app/item-page/item-shared.module.ts
#	src/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts
#	src/app/item-page/media-viewer/media-viewer.component.spec.ts
#	src/app/item-page/media-viewer/media-viewer.component.ts
#	src/app/item-page/mirador-viewer/mirador-viewer.component.spec.ts
#	src/app/item-page/mirador-viewer/mirador-viewer.component.ts
#	src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.spec.ts
#	src/app/item-page/orcid-page/orcid-auth/orcid-auth.component.ts
#	src/app/item-page/orcid-page/orcid-page.component.html
#	src/app/item-page/orcid-page/orcid-page.component.spec.ts
#	src/app/item-page/orcid-page/orcid-page.component.ts
#	src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.spec.ts
#	src/app/item-page/orcid-page/orcid-queue/orcid-queue.component.ts
#	src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.spec.ts
#	src/app/item-page/orcid-page/orcid-sync-settings/orcid-sync-settings.component.ts
#	src/app/item-page/simple/field-components/file-section/file-section.component.spec.ts
#	src/app/item-page/simple/field-components/file-section/file-section.component.ts
#	src/app/item-page/simple/field-components/file-section/themed-file-section.component.ts
#	src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts
#	src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts
#	src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts
#	src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts
#	src/app/item-page/simple/field-components/specific-field/img/item-page-img-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/img/item-page-img-field.component.ts
#	src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts
#	src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts
#	src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.spec.ts
#	src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts
#	src/app/item-page/simple/item-page.component.spec.ts
#	src/app/item-page/simple/item-page.component.ts
#	src/app/item-page/simple/item-types/publication/publication.component.spec.ts
#	src/app/item-page/simple/item-types/shared/item.component.spec.ts
#	src/app/item-page/simple/item-types/shared/item.component.ts
#	src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts
#	src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.spec.ts
#	src/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
#	src/app/item-page/simple/notify-requests-status/notify-requests-status-component/notify-requests-status.component.spec.ts
#	src/app/item-page/simple/notify-requests-status/notify-requests-status-component/notify-requests-status.component.ts
#	src/app/item-page/simple/qa-event-notification/qa-event-notification.component.spec.ts
#	src/app/item-page/simple/qa-event-notification/qa-event-notification.component.ts
#	src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.spec.ts
#	src/app/item-page/simple/related-entities/related-entities-search/related-entities-search.component.ts
#	src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.spec.ts
#	src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.ts
#	src/app/item-page/simple/related-items/related-items-component.ts
#	src/app/item-page/simple/related-items/related-items.component.spec.ts
#	src/app/item-page/version-page/version-page/version-page.component.ts
#	src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.spec.ts
#	src/app/item-page/versions/item-versions-delete-modal/item-versions-delete-modal.component.ts
#	src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.spec.ts
#	src/app/item-page/versions/item-versions-summary-modal/item-versions-summary-modal.component.ts
#	src/app/item-page/versions/item-versions.component.spec.ts
#	src/app/item-page/versions/item-versions.component.ts
#	src/app/item-page/versions/item-versions.module.ts
#	src/app/item-page/versions/notice/item-versions-notice.component.spec.ts
#	src/app/item-page/versions/notice/item-versions-notice.component.ts
#	src/app/login-page/login-page-routing.module.ts
#	src/app/login-page/login-page.component.spec.ts
#	src/app/login-page/login-page.component.ts
#	src/app/login-page/login-page.module.ts
#	src/app/login-page/themed-login-page.component.ts
#	src/app/logout-page/logout-page-routing.module.ts
#	src/app/logout-page/logout-page.component.spec.ts
#	src/app/logout-page/logout-page.component.ts
#	src/app/logout-page/logout-page.module.ts
#	src/app/logout-page/themed-logout-page.component.ts
#	src/app/lookup-by-id/lookup-by-id-routes.ts
#	src/app/lookup-by-id/lookup-by-id.module.ts
#	src/app/lookup-by-id/objectnotfound/objectnotfound.component.spec.ts
#	src/app/lookup-by-id/objectnotfound/objectnotfound.component.ts
#	src/app/menu.resolver.spec.ts
#	src/app/menu.resolver.ts
#	src/app/my-dspace-page/collection-selector/collection-selector.component.spec.ts
#	src/app/my-dspace-page/collection-selector/collection-selector.component.ts
#	src/app/my-dspace-page/my-dspace-configuration.service.ts
#	src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.spec.ts
#	src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-external-dropdown/my-dspace-new-external-dropdown.component.ts
#	src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.spec.ts
#	src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission-dropdown/my-dspace-new-submission-dropdown.component.ts
#	src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.spec.ts
#	src/app/my-dspace-page/my-dspace-new-submission/my-dspace-new-submission.component.ts
#	src/app/my-dspace-page/my-dspace-page-routing.module.ts
#	src/app/my-dspace-page/my-dspace-page.component.spec.ts
#	src/app/my-dspace-page/my-dspace-page.component.ts
#	src/app/my-dspace-page/my-dspace-page.module.ts
#	src/app/my-dspace-page/my-dspace-qa-events-notifications/my-dspace-qa-events-notifications.component.spec.ts
#	src/app/my-dspace-page/my-dspace-qa-events-notifications/my-dspace-qa-events-notifications.component.ts
#	src/app/my-dspace-page/my-dspace-search.module.ts
#	src/app/my-dspace-page/themed-my-dspace-page.component.ts
#	src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.spec.ts
#	src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts
#	src/app/navbar/navbar-section/navbar-section.component.spec.ts
#	src/app/navbar/navbar-section/navbar-section.component.ts
#	src/app/navbar/navbar.component.spec.ts
#	src/app/navbar/navbar.component.ts
#	src/app/navbar/navbar.module.ts
#	src/app/notifications/notifications.module.ts
#	src/app/notifications/qa/events/ePerson-data/ePerson-data.component.spec.ts
#	src/app/notifications/qa/events/ePerson-data/ePerson-data.component.ts
#	src/app/notifications/qa/events/quality-assurance-events.component.spec.ts
#	src/app/notifications/qa/events/quality-assurance-events.component.ts
#	src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.spec.ts
#	src/app/notifications/qa/project-entry-import-modal/project-entry-import-modal.component.ts
#	src/app/notifications/qa/source/quality-assurance-source.component.spec.ts
#	src/app/notifications/qa/source/quality-assurance-source.component.ts
#	src/app/notifications/qa/topics/quality-assurance-topics.component.spec.ts
#	src/app/notifications/qa/topics/quality-assurance-topics.component.ts
#	src/app/notifications/suggestion-actions/suggestion-actions.component.ts
#	src/app/notifications/suggestion-list-element/suggestion-evidences/suggestion-evidences.component.ts
#	src/app/notifications/suggestion-list-element/suggestion-list-element.component.spec.ts
#	src/app/notifications/suggestion-list-element/suggestion-list-element.component.ts
#	src/app/notifications/suggestion-targets/publication-claim/publication-claim.component.ts
#	src/app/notifications/suggestions-notification/suggestions-notification.component.ts
#	src/app/notifications/suggestions-popup/suggestions-popup.component.spec.ts
#	src/app/notifications/suggestions-popup/suggestions-popup.component.ts
#	src/app/page-error/page-error.component.spec.ts
#	src/app/page-error/page-error.component.ts
#	src/app/page-internal-server-error/page-internal-server-error.component.ts
#	src/app/pagenotfound/pagenotfound.component.ts
#	src/app/process-page/detail/process-detail-field/process-detail-field.component.spec.ts
#	src/app/process-page/detail/process-detail-field/process-detail-field.component.ts
#	src/app/process-page/detail/process-detail.component.spec.ts
#	src/app/process-page/detail/process-detail.component.ts
#	src/app/process-page/form/process-form.component.spec.ts
#	src/app/process-page/form/process-form.component.ts
#	src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.spec.ts
#	src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.spec.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.spec.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/date-value-input/date-value-input.component.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.spec.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/file-value-input/file-value-input.component.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.spec.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/parameter-value-input.component.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.spec.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/string-value-input/string-value-input.component.ts
#	src/app/process-page/form/process-parameters/process-parameters.component.spec.ts
#	src/app/process-page/form/process-parameters/process-parameters.component.ts
#	src/app/process-page/form/script-help/script-help.component.spec.ts
#	src/app/process-page/form/script-help/script-help.component.ts
#	src/app/process-page/form/scripts-select/scripts-select.component.spec.ts
#	src/app/process-page/form/scripts-select/scripts-select.component.ts
#	src/app/process-page/new/new-process.component.spec.ts
#	src/app/process-page/overview/process-overview.component.spec.ts
#	src/app/process-page/overview/process-overview.component.ts
#	src/app/process-page/overview/table/process-overview-table.component.ts
#	src/app/process-page/process-page-routing.module.ts
#	src/app/process-page/process-page-shared.module.ts
#	src/app/process-page/process-page.module.ts
#	src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.spec.ts
#	src/app/profile-page/profile-claim-item-modal/profile-claim-item-modal.component.ts
#	src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.spec.ts
#	src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts
#	src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.spec.ts
#	src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.ts
#	src/app/profile-page/profile-page-routing.module.ts
#	src/app/profile-page/profile-page-security-form/profile-page-security-form.component.spec.ts
#	src/app/profile-page/profile-page-security-form/profile-page-security-form.component.ts
#	src/app/profile-page/profile-page.component.spec.ts
#	src/app/profile-page/profile-page.component.ts
#	src/app/profile-page/profile-page.module.ts
#	src/app/profile-page/themed-profile-page.component.ts
#	src/app/quality-assurance-notifications-pages/notifications-pages-routing.module.ts
#	src/app/quality-assurance-notifications-pages/notifications-pages.module.ts
#	src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.spec.ts
#	src/app/quality-assurance-notifications-pages/notifications-suggestion-targets-page/notifications-suggestion-targets-page.component.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component.spec.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-source-page-component/quality-assurance-source-page.component.spec.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page.component.spec.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page.component.ts
#	src/app/register-email-form/register-email-form.component.spec.ts
#	src/app/register-email-form/register-email-form.component.ts
#	src/app/register-email-form/register-email-form.module.ts
#	src/app/register-page/create-profile/create-profile.component.spec.ts
#	src/app/register-page/create-profile/create-profile.component.ts
#	src/app/register-page/create-profile/themed-create-profile.component.ts
#	src/app/register-page/register-email/register-email.component.spec.ts
#	src/app/register-page/register-email/register-email.component.ts
#	src/app/register-page/register-page-routing.module.ts
#	src/app/register-page/register-page.module.ts
#	src/app/request-copy/deny-request-copy/deny-request-copy.component.spec.ts
#	src/app/request-copy/deny-request-copy/deny-request-copy.component.ts
#	src/app/request-copy/email-request-copy/email-request-copy.component.spec.ts
#	src/app/request-copy/email-request-copy/email-request-copy.component.ts
#	src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.spec.ts
#	src/app/request-copy/grant-deny-request-copy/grant-deny-request-copy.component.ts
#	src/app/request-copy/grant-request-copy/grant-request-copy.component.spec.ts
#	src/app/request-copy/grant-request-copy/grant-request-copy.component.ts
#	src/app/request-copy/request-copy-routing.module.ts
#	src/app/request-copy/request-copy.module.ts
#	src/app/root.module.ts
#	src/app/root/root.component.spec.ts
#	src/app/root/root.component.ts
#	src/app/search-navbar/search-navbar.component.spec.ts
#	src/app/search-navbar/search-navbar.component.ts
#	src/app/search-page/configuration-search-page.component.ts
#	src/app/search-page/search-page-routing.module.ts
#	src/app/search-page/search-page.component.ts
#	src/app/search-page/search-page.module.ts
#	src/app/shared/abstract-component-loader/dynamic-component-loader.directive.ts
#	src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.spec.ts
#	src/app/shared/access-control-form-container/access-control-array-form/access-control-array-form.component.ts
#	src/app/shared/access-control-form-container/access-control-array-form/to-date.pipe.ts
#	src/app/shared/access-control-form-container/access-control-form-container.component.spec.ts
#	src/app/shared/access-control-form-container/access-control-form-container.component.ts
#	src/app/shared/access-control-form-container/access-control-form.module.ts
#	src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.spec.ts
#	src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.ts
#	src/app/shared/alert/alert.component.spec.ts
#	src/app/shared/alert/alert.component.ts
#	src/app/shared/auth-nav-menu/auth-nav-menu.component.spec.ts
#	src/app/shared/auth-nav-menu/auth-nav-menu.component.ts
#	src/app/shared/auth-nav-menu/user-menu/themed-user-menu.component.ts
#	src/app/shared/auth-nav-menu/user-menu/user-menu.component.spec.ts
#	src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
#	src/app/shared/browse-by/browse-by.component.spec.ts
#	src/app/shared/browse-by/browse-by.component.ts
#	src/app/shared/browse-by/shared-browse-by.module.ts
#	src/app/shared/browse-by/themed-browse-by.component.ts
#	src/app/shared/collection-dropdown/collection-dropdown.component.spec.ts
#	src/app/shared/collection-dropdown/collection-dropdown.component.ts
#	src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.spec.ts
#	src/app/shared/comcol/comcol-forms/comcol-form/comcol-form.component.ts
#	src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.spec.ts
#	src/app/shared/comcol/comcol-forms/create-comcol-page/create-comcol-page.component.ts
#	src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.spec.ts
#	src/app/shared/comcol/comcol-forms/delete-comcol-page/delete-comcol-page.component.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.spec.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-metadata/comcol-metadata.component.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.spec.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/comcol-role/comcol-role.component.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.spec.ts
#	src/app/shared/comcol/comcol-forms/edit-comcol-page/edit-comcol-page.component.ts
#	src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts
#	src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts
#	src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.spec.ts
#	src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts
#	src/app/shared/comcol/comcol-page-header/comcol-page-header.component.ts
#	src/app/shared/comcol/comcol.module.ts
#	src/app/shared/comcol/sections/comcol-search-section/comcol-search-section.component.ts
#	src/app/shared/confirmation-modal/confirmation-modal.component.spec.ts
#	src/app/shared/context-help-wrapper/context-help-wrapper.component.spec.ts
#	src/app/shared/context-help-wrapper/context-help-wrapper.component.ts
#	src/app/shared/context-help.directive.spec.ts
#	src/app/shared/correction-suggestion/withdrawn-reinstate-modal.component.ts
#	src/app/shared/ds-select/ds-select.component.ts
#	src/app/shared/dso-page/dso-edit-menu.resolver.spec.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.spec.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.spec.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.spec.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-menu.component.ts
#	src/app/shared/dso-page/dso-page.module.ts
#	src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.spec.ts
#	src/app/shared/dso-selector/dso-selector/authorized-collection-selector/authorized-collection-selector.component.ts
#	src/app/shared/dso-selector/dso-selector/dso-selector.component.spec.ts
#	src/app/shared/dso-selector/dso-selector/dso-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/themed-create-collection-parent-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/themed-create-community-parent-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/themed-create-item-parent-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-collection-selector/themed-edit-collection-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-community-selector/themed-edit-community-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/edit-item-selector/themed-edit-item-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/import-batch-selector/import-batch-selector.component.ts
#	src/app/shared/entity-dropdown/entity-dropdown.component.spec.ts
#	src/app/shared/entity-dropdown/entity-dropdown.component.ts
#	src/app/shared/eperson-group-list/eperson-group-list.component.spec.ts
#	src/app/shared/eperson-group-list/eperson-group-list.component.ts
#	src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.spec.ts
#	src/app/shared/eperson-group-list/eperson-search-box/eperson-search-box.component.ts
#	src/app/shared/eperson-group-list/group-search-box/group-search-box.component.spec.ts
#	src/app/shared/eperson-group-list/group-search-box/group-search-box.component.ts
#	src/app/shared/error/error.component.spec.ts
#	src/app/shared/error/error.component.ts
#	src/app/shared/file-download-link/file-download-link.component.spec.ts
#	src/app/shared/file-download-link/file-download-link.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/existing-metadata-list-element/existing-metadata-list-element.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/existing-relation-list-element/existing-relation-list-element.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/array-group/dynamic-form-array.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker-inline/dynamic-date-picker-inline.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/disabled/dynamic-disabled.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/form-group/dynamic-form-group.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/lookup/dynamic-lookup.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/onebox/dynamic-onebox.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/relation-group/dynamic-relation-group.components.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/tag/dynamic-tag.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts
#	src/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.spec.ts
#	src/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.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/selection-tab/dynamic-lookup-relation-selection-tab.component.ts
#	src/app/shared/form/chips/chips.component.spec.ts
#	src/app/shared/form/chips/chips.component.ts
#	src/app/shared/form/directives/authority-confidence-state.directive.ts
#	src/app/shared/form/form.component.spec.ts
#	src/app/shared/form/form.component.ts
#	src/app/shared/form/form.module.ts
#	src/app/shared/form/number-picker/number-picker.component.spec.ts
#	src/app/shared/form/number-picker/number-picker.component.ts
#	src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.spec.ts
#	src/app/shared/form/vocabulary-treeview-modal/vocabulary-treeview-modal.component.ts
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.spec.ts
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts
#	src/app/shared/google-recaptcha/google-recaptcha.component.spec.ts
#	src/app/shared/hover-class.directive.spec.ts
#	src/app/shared/hover-class.directive.ts
#	src/app/shared/idle-modal/idle-modal.component.spec.ts
#	src/app/shared/idle-modal/idle-modal.component.ts
#	src/app/shared/impersonate-navbar/impersonate-navbar.component.spec.ts
#	src/app/shared/impersonate-navbar/impersonate-navbar.component.ts
#	src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.spec.ts
#	src/app/shared/input-suggestions/dso-input-suggestions/dso-input-suggestions.component.ts
#	src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.spec.ts
#	src/app/shared/input-suggestions/filter-suggestions/filter-input-suggestions.component.ts
#	src/app/shared/input-suggestions/input-suggestions.component.spec.ts
#	src/app/shared/input-suggestions/input-suggestions.component.ts
#	src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.spec.ts
#	src/app/shared/input-suggestions/validation-suggestions/validation-suggestions.component.ts
#	src/app/shared/lang-switch/lang-switch.component.spec.ts
#	src/app/shared/lang-switch/lang-switch.component.ts
#	src/app/shared/loading/loading.component.spec.ts
#	src/app/shared/loading/loading.component.ts
#	src/app/shared/log-in/container/log-in-container.component.spec.ts
#	src/app/shared/log-in/container/log-in-container.component.ts
#	src/app/shared/log-in/log-in.component.spec.ts
#	src/app/shared/log-in/log-in.component.ts
#	src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts
#	src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.ts
#	src/app/shared/log-in/methods/log-in.methods-decorator.ts
#	src/app/shared/log-in/methods/password/log-in-password.component.spec.ts
#	src/app/shared/log-in/methods/password/log-in-password.component.ts
#	src/app/shared/log-in/themed-log-in.component.ts
#	src/app/shared/log-out/log-out.component.spec.ts
#	src/app/shared/log-out/log-out.component.ts
#	src/app/shared/menu/menu-item/external-link-menu-item.component.spec.ts
#	src/app/shared/menu/menu-item/external-link-menu-item.component.ts
#	src/app/shared/menu/menu-item/link-menu-item.component.spec.ts
#	src/app/shared/menu/menu-item/link-menu-item.component.ts
#	src/app/shared/menu/menu-item/onclick-menu-item.component.spec.ts
#	src/app/shared/menu/menu-item/onclick-menu-item.component.ts
#	src/app/shared/menu/menu-item/text-menu-item.component.spec.ts
#	src/app/shared/menu/menu-item/text-menu-item.component.ts
#	src/app/shared/menu/menu-section.decorator.ts
#	src/app/shared/menu/menu-section/menu-section.component.spec.ts
#	src/app/shared/menu/menu-section/menu-section.component.ts
#	src/app/shared/menu/menu.component.ts
#	src/app/shared/menu/menu.module.ts
#	src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.spec.ts
#	src/app/shared/metadata-field-wrapper/metadata-field-wrapper.component.ts
#	src/app/shared/metadata-representation/metadata-representation-loader.component.spec.ts
#	src/app/shared/metadata-representation/metadata-representation-loader.component.ts
#	src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/approve/claimed-task-actions-approve.component.ts
#	src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.ts
#	src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/decline-task/claimed-task-actions-decline-task.component.ts
#	src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/edit-metadata/claimed-task-actions-edit-metadata.component.ts
#	src/app/shared/mydspace-actions/claimed-task/rating/advanced-claimed-task-action-rating.component.ts
#	src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/reject/claimed-task-actions-reject.component.ts
#	src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/return-to-pool/claimed-task-actions-return-to-pool.component.ts
#	src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/select-reviewer/advanced-claimed-task-action-select-reviewer.component.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-decorator.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts
#	src/app/shared/mydspace-actions/item/item-actions.component.spec.ts
#	src/app/shared/mydspace-actions/item/item-actions.component.ts
#	src/app/shared/mydspace-actions/mydspace-actions.module.ts
#	src/app/shared/mydspace-actions/mydspace-reloadable-actions.spec.ts
#	src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.spec.ts
#	src/app/shared/mydspace-actions/pool-task/pool-task-actions.component.ts
#	src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.spec.ts
#	src/app/shared/mydspace-actions/workflowitem/workflowitem-actions.component.ts
#	src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.spec.ts
#	src/app/shared/mydspace-actions/workspaceitem/workspaceitem-actions.component.ts
#	src/app/shared/notifications/notification/notification.component.spec.ts
#	src/app/shared/notifications/notification/notification.component.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.ts
#	src/app/shared/notifications/notifications.reducers.spec.ts
#	src/app/shared/notifications/notifications.service.spec.ts
#	src/app/shared/object-collection/object-collection.component.spec.ts
#	src/app/shared/object-collection/object-collection.component.ts
#	src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.spec.ts
#	src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts
#	src/app/shared/object-collection/shared/badges/badges.component.spec.ts
#	src/app/shared/object-collection/shared/badges/badges.component.ts
#	src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.spec.ts
#	src/app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component.ts
#	src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.spec.ts
#	src/app/shared/object-collection/shared/badges/status-badge/status-badge.component.ts
#	src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.spec.ts
#	src/app/shared/object-collection/shared/badges/type-badge/type-badge.component.ts
#	src/app/shared/object-collection/shared/importable-list-item-control/importable-list-item-control.component.ts
#	src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts
#	src/app/shared/object-collection/shared/mydspace-item-collection/item-collection.component.ts
#	src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.spec.ts
#	src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.ts
#	src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.spec.ts
#	src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts
#	src/app/shared/object-detail/object-detail.component.spec.ts
#	src/app/shared/object-detail/object-detail.component.ts
#	src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.spec.ts
#	src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.ts
#	src/app/shared/object-grid/community-grid-element/community-grid-element.component.spec.ts
#	src/app/shared/object-grid/community-grid-element/community-grid-element.component.ts
#	src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.spec.ts
#	src/app/shared/object-grid/item-grid-element/item-types/item/item-grid-element.component.ts
#	src/app/shared/object-grid/object-grid.component.ts
#	src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.spec.ts
#	src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.ts
#	src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.spec.ts
#	src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.ts
#	src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.spec.ts
#	src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.ts
#	src/app/shared/object-grid/search-result-grid-element/search-result-grid-element.component.ts
#	src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.spec.ts
#	src/app/shared/object-list/bitstream-list-item/bitstream-list-item.component.ts
#	src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.spec.ts
#	src/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts
#	src/app/shared/object-list/bundle-list-element/bundle-list-element.component.ts
#	src/app/shared/object-list/collection-list-element/collection-list-element.component.spec.ts
#	src/app/shared/object-list/collection-list-element/collection-list-element.component.ts
#	src/app/shared/object-list/community-list-element/community-list-element.component.spec.ts
#	src/app/shared/object-list/community-list-element/community-list-element.component.ts
#	src/app/shared/object-list/identifier-data/identifier-data.component.ts
#	src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.spec.ts
#	src/app/shared/object-list/item-list-element/item-types/item/item-list-element.component.ts
#	src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.spec.ts
#	src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.ts
#	src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.spec.ts
#	src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-list-element.component.ts
#	src/app/shared/object-list/metadata-representation-list-element/item/item-metadata-representation-list-element.component.ts
#	src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.spec.ts
#	src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts
#	src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.spec.ts
#	src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/themed-item-list-preview.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/item-search-result/item-search-result-list-element-submission.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/workflow-item-search-result/workflow-item-search-result-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/workspace-item-search-result/workspace-item-search-result-list-element.component.ts
#	src/app/shared/object-list/object-list.component.spec.ts
#	src/app/shared/object-list/object-list.component.ts
#	src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/search-result-list-element/collection-search-result/collection-search-result-list-element.component.ts
#	src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/search-result-list-element/community-search-result/community-search-result-list-element.component.ts
#	src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts
#	src/app/shared/object-list/search-result-list-element/search-result-list-element.component.ts
#	src/app/shared/object-list/sidebar-search-list-element/collection/collection-sidebar-search-list-element.component.ts
#	src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts
#	src/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts
#	src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.spec.ts
#	src/app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.ts
#	src/app/shared/object-select/collection-select/collection-select.component.spec.ts
#	src/app/shared/object-select/collection-select/collection-select.component.ts
#	src/app/shared/object-select/item-select/item-select.component.spec.ts
#	src/app/shared/object-select/item-select/item-select.component.ts
#	src/app/shared/page-size-selector/page-size-selector.component.spec.ts
#	src/app/shared/page-size-selector/page-size-selector.component.ts
#	src/app/shared/pagination/pagination.component.spec.ts
#	src/app/shared/pagination/pagination.component.ts
#	src/app/shared/resource-policies/create/resource-policy-create.component.spec.ts
#	src/app/shared/resource-policies/create/resource-policy-create.component.ts
#	src/app/shared/resource-policies/edit/resource-policy-edit.component.spec.ts
#	src/app/shared/resource-policies/edit/resource-policy-edit.component.ts
#	src/app/shared/resource-policies/entry/resource-policy-entry.component.spec.ts
#	src/app/shared/resource-policies/entry/resource-policy-entry.component.ts
#	src/app/shared/resource-policies/form/resource-policy-form.component.spec.ts
#	src/app/shared/resource-policies/form/resource-policy-form.component.ts
#	src/app/shared/resource-policies/resource-policies.component.spec.ts
#	src/app/shared/resource-policies/resource-policies.component.ts
#	src/app/shared/resource-policies/resource-policies.module.ts
#	src/app/shared/results-back-button/results-back-button.component.spec.ts
#	src/app/shared/results-back-button/results-back-button.component.ts
#	src/app/shared/results-back-button/results-back-button.module.ts
#	src/app/shared/roles/role.directive.ts
#	src/app/shared/rss-feed/rss.component.spec.ts
#	src/app/shared/rss-feed/rss.component.ts
#	src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.spec.ts
#	src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.ts
#	src/app/shared/search-form/search-form.component.spec.ts
#	src/app/shared/search-form/search-form.component.ts
#	src/app/shared/search/advanced-search/advanced-search.component.spec.ts
#	src/app/shared/search/advanced-search/advanced-search.component.ts
#	src/app/shared/search/search-export-csv/search-export-csv.component.spec.ts
#	src/app/shared/search/search-export-csv/search-export-csv.component.ts
#	src/app/shared/search/search-filters/search-filter/search-authority-filter/search-authority-filter.component.ts
#	src/app/shared/search/search-filters/search-filter/search-boolean-filter/search-boolean-filter.component.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-option/search-facet-option.component.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-range-option/search-facet-range-option.component.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter-options/search-facet-selected-option/search-facet-selected-option.component.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter-wrapper/search-facet-filter-wrapper.component.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-facet-filter/search-facet-filter.component.ts
#	src/app/shared/search/search-filters/search-filter/search-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-filter.component.ts
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts
#	src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-range-filter/search-range-filter.component.ts
#	src/app/shared/search/search-filters/search-filter/search-text-filter/search-text-filter.component.ts
#	src/app/shared/search/search-filters/search-filters.component.spec.ts
#	src/app/shared/search/search-filters/search-filters.component.ts
#	src/app/shared/search/search-labels/search-label/search-label.component.spec.ts
#	src/app/shared/search/search-labels/search-label/search-label.component.ts
#	src/app/shared/search/search-labels/search-labels.component.spec.ts
#	src/app/shared/search/search-labels/search-labels.component.ts
#	src/app/shared/search/search-results/search-results.component.spec.ts
#	src/app/shared/search/search-results/search-results.component.ts
#	src/app/shared/search/search-settings/search-settings.component.spec.ts
#	src/app/shared/search/search-settings/search-settings.component.ts
#	src/app/shared/search/search-sidebar/search-sidebar.component.spec.ts
#	src/app/shared/search/search-sidebar/search-sidebar.component.ts
#	src/app/shared/search/search-switch-configuration/search-switch-configuration.component.spec.ts
#	src/app/shared/search/search-switch-configuration/search-switch-configuration.component.ts
#	src/app/shared/search/search.component.spec.ts
#	src/app/shared/search/search.component.ts
#	src/app/shared/search/search.module.ts
#	src/app/shared/shared.module.ts
#	src/app/shared/sidebar/page-with-sidebar.component.spec.ts
#	src/app/shared/sidebar/sidebar-dropdown.component.ts
#	src/app/shared/starts-with/date/starts-with-date.component.spec.ts
#	src/app/shared/starts-with/date/starts-with-date.component.ts
#	src/app/shared/starts-with/starts-with-abstract.component.ts
#	src/app/shared/starts-with/starts-with-decorator.spec.ts
#	src/app/shared/starts-with/starts-with-loader.component.spec.ts
#	src/app/shared/starts-with/starts-with-loader.component.ts
#	src/app/shared/starts-with/text/starts-with-text.component.spec.ts
#	src/app/shared/starts-with/text/starts-with-text.component.ts
#	src/app/shared/subscriptions/subscription-modal/subscription-modal.component.spec.ts
#	src/app/shared/subscriptions/subscription-modal/subscription-modal.component.ts
#	src/app/shared/subscriptions/subscription-view/subscription-view.component.spec.ts
#	src/app/shared/subscriptions/subscription-view/subscription-view.component.ts
#	src/app/shared/subscriptions/subscriptions-data.service.ts
#	src/app/shared/subscriptions/subscriptions.module.ts
#	src/app/shared/testing/browser-only-mock.pipe.ts
#	src/app/shared/testing/dynamic-form-mock-services.ts
#	src/app/shared/testing/route-service.stub.ts
#	src/app/shared/testing/test-module.ts
#	src/app/shared/testing/utils.test.ts
#	src/app/shared/theme-support/themed.component.spec.ts
#	src/app/shared/trackable/abstract-trackable.component.spec.ts
#	src/app/shared/trackable/abstract-trackable.component.ts
#	src/app/shared/truncatable/truncatable-part/truncatable-part.component.spec.ts
#	src/app/shared/truncatable/truncatable-part/truncatable-part.component.ts
#	src/app/shared/truncatable/truncatable.component.spec.ts
#	src/app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component.ts
#	src/app/shared/upload/upload.module.ts
#	src/app/shared/upload/uploader/uploader.component.spec.ts
#	src/app/shared/upload/uploader/uploader.component.ts
#	src/app/shared/utils/auto-focus.directive.ts
#	src/app/shared/utils/browser-only.pipe.ts
#	src/app/shared/utils/capitalize.pipe.ts
#	src/app/shared/utils/click-outside.directive.ts
#	src/app/shared/utils/console.pipe.ts
#	src/app/shared/utils/drag-click.directive.ts
#	src/app/shared/utils/file-value-accessor.directive.ts
#	src/app/shared/utils/in-list-validator.directive.ts
#	src/app/shared/utils/markdown.pipe.ts
#	src/app/shared/utils/metadatafield-validator.directive.ts
#	src/app/shared/utils/object-keys-pipe.ts
#	src/app/shared/utils/object-ngfor.pipe.ts
#	src/app/shared/utils/object-values-pipe.ts
#	src/app/shared/utils/require-file.validator.ts
#	src/app/shared/utils/short-number.pipe.ts
#	src/app/shared/utils/split.pipe.ts
#	src/app/shared/utils/truncate.pipe.ts
#	src/app/shared/view-mode-switch/view-mode-switch.component.spec.ts
#	src/app/shared/view-mode-switch/view-mode-switch.component.ts
#	src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.spec.ts
#	src/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts
#	src/app/statistics-page/community-statistics-page/community-statistics-page.component.spec.ts
#	src/app/statistics-page/community-statistics-page/community-statistics-page.component.ts
#	src/app/statistics-page/item-statistics-page/item-statistics-page.component.spec.ts
#	src/app/statistics-page/item-statistics-page/item-statistics-page.component.ts
#	src/app/statistics-page/site-statistics-page/site-statistics-page.component.spec.ts
#	src/app/statistics-page/site-statistics-page/site-statistics-page.component.ts
#	src/app/statistics-page/statistics-page-routing.module.ts
#	src/app/statistics-page/statistics-page.module.ts
#	src/app/statistics-page/statistics-page/statistics-page.directive.ts
#	src/app/statistics-page/statistics-table/statistics-table.component.spec.ts
#	src/app/statistics-page/statistics-table/statistics-table.component.ts
#	src/app/statistics/statistics.module.ts
#	src/app/submission/edit/submission-edit.component.spec.ts
#	src/app/submission/edit/submission-edit.component.ts
#	src/app/submission/edit/themed-submission-edit.component.ts
#	src/app/submission/form/collection/submission-form-collection.component.spec.ts
#	src/app/submission/form/collection/submission-form-collection.component.ts
#	src/app/submission/form/footer/submission-form-footer.component.spec.ts
#	src/app/submission/form/footer/submission-form-footer.component.ts
#	src/app/submission/form/section-add/submission-form-section-add.component.spec.ts
#	src/app/submission/form/section-add/submission-form-section-add.component.ts
#	src/app/submission/form/submission-form.component.spec.ts
#	src/app/submission/form/submission-form.component.ts
#	src/app/submission/form/submission-upload-files/submission-upload-files.component.spec.ts
#	src/app/submission/form/submission-upload-files/submission-upload-files.component.ts
#	src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.spec.ts
#	src/app/submission/import-external/import-external-collection/submission-import-external-collection.component.ts
#	src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.spec.ts
#	src/app/submission/import-external/import-external-preview/submission-import-external-preview.component.ts
#	src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.spec.ts
#	src/app/submission/import-external/import-external-searchbar/submission-import-external-searchbar.component.ts
#	src/app/submission/import-external/submission-import-external.component.spec.ts
#	src/app/submission/import-external/submission-import-external.component.ts
#	src/app/submission/import-external/themed-submission-import-external.component.ts
#	src/app/submission/sections/accesses/section-accesses.component.spec.ts
#	src/app/submission/sections/accesses/section-accesses.component.ts
#	src/app/submission/sections/cc-license/submission-section-cc-licenses.component.spec.ts
#	src/app/submission/sections/cc-license/submission-section-cc-licenses.component.ts
#	src/app/submission/sections/container/section-container.component.spec.ts
#	src/app/submission/sections/container/section-container.component.ts
#	src/app/submission/sections/form/section-form-operations.service.spec.ts
#	src/app/submission/sections/form/section-form.component.spec.ts
#	src/app/submission/sections/form/section-form.component.ts
#	src/app/submission/sections/identifiers/section-identifiers.component.spec.ts
#	src/app/submission/sections/identifiers/section-identifiers.component.ts
#	src/app/submission/sections/license/section-license.component.spec.ts
#	src/app/submission/sections/license/section-license.component.ts
#	src/app/submission/sections/section-coar-notify/section-coar-notify.component.ts
#	src/app/submission/sections/sections.directive.ts
#	src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.spec.ts
#	src/app/submission/sections/sherpa-policies/content-accordion/content-accordion.component.ts
#	src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.spec.ts
#	src/app/submission/sections/sherpa-policies/metadata-information/metadata-information.component.ts
#	src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.spec.ts
#	src/app/submission/sections/sherpa-policies/publication-information/publication-information.component.ts
#	src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.spec.ts
#	src/app/submission/sections/sherpa-policies/publisher-policy/publisher-policy.component.ts
#	src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.spec.ts
#	src/app/submission/sections/sherpa-policies/section-sherpa-policies.component.ts
#	src/app/submission/sections/upload/accessConditions/submission-section-upload-access-conditions.component.ts
#	src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts
#	src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts
#	src/app/submission/sections/upload/file/section-upload-file.component.spec.ts
#	src/app/submission/sections/upload/file/section-upload-file.component.ts
#	src/app/submission/sections/upload/file/themed-section-upload-file.component.ts
#	src/app/submission/sections/upload/file/view/section-upload-file-view.component.spec.ts
#	src/app/submission/sections/upload/file/view/section-upload-file-view.component.ts
#	src/app/submission/sections/upload/section-upload.component.spec.ts
#	src/app/submission/sections/upload/section-upload.component.ts
#	src/app/submission/submission.module.ts
#	src/app/submission/submit/submission-submit.component.spec.ts
#	src/app/submission/submit/submission-submit.component.ts
#	src/app/submission/submit/themed-submission-submit.component.ts
#	src/app/submit-page/submit-page-routing.module.ts
#	src/app/submit-page/submit-page.module.ts
#	src/app/subscriptions-page/subscriptions-page-routing.module.ts
#	src/app/subscriptions-page/subscriptions-page.component.spec.ts
#	src/app/subscriptions-page/subscriptions-page.component.ts
#	src/app/subscriptions-page/subscriptions-page.module.ts
#	src/app/suggestions-page/suggestions-page-routing.module.ts
#	src/app/suggestions-page/suggestions-page.component.spec.ts
#	src/app/suggestions-page/suggestions-page.component.ts
#	src/app/suggestions-page/suggestions-page.module.ts
#	src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.spec.ts
#	src/app/system-wide-alert/alert-banner/system-wide-alert-banner.component.ts
#	src/app/system-wide-alert/alert-form/system-wide-alert-form.component.spec.ts
#	src/app/system-wide-alert/alert-form/system-wide-alert-form.component.ts
#	src/app/system-wide-alert/system-wide-alert-routing.module.ts
#	src/app/system-wide-alert/system-wide-alert.module.ts
#	src/app/thumbnail/thumbnail.component.spec.ts
#	src/app/thumbnail/thumbnail.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-page/advanced-workflow-action-page.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-rating/advanced-workflow-action-rating.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.spec.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action/advanced-workflow-action.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.spec.ts
#	src/app/workflowitems-edit-page/workflow-item-action-page.component.spec.ts
#	src/app/workflowitems-edit-page/workflow-item-action-page.component.ts
#	src/app/workflowitems-edit-page/workflow-item-delete/themed-workflow-item-delete.component.ts
#	src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.spec.ts
#	src/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts
#	src/app/workflowitems-edit-page/workflow-item-send-back/themed-workflow-item-send-back.component.ts
#	src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.spec.ts
#	src/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts
#	src/app/workflowitems-edit-page/workflowitems-edit-page-routing.module.ts
#	src/app/workflowitems-edit-page/workflowitems-edit-page.module.ts
#	src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts
#	src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.spec.ts
#	src/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts
#	src/app/workspaceitems-edit-page/workspaceitems-edit-page-routing.module.ts
#	src/app/workspaceitems-edit-page/workspaceitems-edit-page.module.ts
#	src/config/app-config.interface.ts
#	src/modules/app/browser-app.module.ts
#	src/modules/app/server-app.module.ts
#	src/test.ts
#	src/themes/custom/app/admin/admin-sidebar/admin-sidebar.component.ts
#	src/themes/custom/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts
#	src/themes/custom/app/breadcrumbs/breadcrumbs.component.ts
#	src/themes/custom/app/browse-by/browse-by-title/browse-by-title.component.ts
#	src/themes/custom/app/collection-page/collection-page.component.ts
#	src/themes/custom/app/collection-page/edit-item-template-page/edit-item-template-page.component.ts
#	src/themes/custom/app/community-list-page/community-list-page.component.ts
#	src/themes/custom/app/community-list-page/community-list/community-list.component.ts
#	src/themes/custom/app/community-page/community-page.component.ts
#	src/themes/custom/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts
#	src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts
#	src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts
#	src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts
#	src/themes/custom/app/entity-groups/research-entities/item-pages/person/person.component.ts
#	src/themes/custom/app/footer/footer.component.ts
#	src/themes/custom/app/forbidden/forbidden.component.ts
#	src/themes/custom/app/forgot-password/forgot-password-email/forgot-email.component.ts
#	src/themes/custom/app/forgot-password/forgot-password-form/forgot-password-form.component.ts
#	src/themes/custom/app/header-nav-wrapper/header-navbar-wrapper.component.ts
#	src/themes/custom/app/home-page/home-news/home-news.component.ts
#	src/themes/custom/app/home-page/home-page.component.ts
#	src/themes/custom/app/home-page/top-level-community-list/top-level-community-list.component.ts
#	src/themes/custom/app/info/end-user-agreement/end-user-agreement.component.ts
#	src/themes/custom/app/info/feedback/feedback-form/feedback-form.component.ts
#	src/themes/custom/app/info/feedback/feedback.component.ts
#	src/themes/custom/app/info/privacy/privacy.component.ts
#	src/themes/custom/app/item-page/edit-item-page/item-status/item-status.component.ts
#	src/themes/custom/app/item-page/full/field-components/file-section/full-file-section.component.ts
#	src/themes/custom/app/item-page/full/full-item-page.component.ts
#	src/themes/custom/app/item-page/media-viewer/media-viewer-image/media-viewer-image.component.ts
#	src/themes/custom/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
#	src/themes/custom/app/item-page/media-viewer/media-viewer.component.ts
#	src/themes/custom/app/item-page/simple/field-components/file-section/file-section.component.ts
#	src/themes/custom/app/item-page/simple/field-components/specific-field/title/item-page-title-field.component.ts
#	src/themes/custom/app/item-page/simple/item-page.component.ts
#	src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts
#	src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts
#	src/themes/custom/app/item-page/simple/metadata-representation-list/metadata-representation-list.component.ts
#	src/themes/custom/app/login-page/login-page.component.ts
#	src/themes/custom/app/logout-page/logout-page.component.ts
#	src/themes/custom/app/lookup-by-id/objectnotfound/objectnotfound.component.ts
#	src/themes/custom/app/my-dspace-page/my-dspace-page.component.ts
#	src/themes/custom/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts
#	src/themes/custom/app/navbar/navbar.component.ts
#	src/themes/custom/app/pagenotfound/pagenotfound.component.ts
#	src/themes/custom/app/profile-page/profile-page.component.ts
#	src/themes/custom/app/register-email-form/register-email-form.component.ts
#	src/themes/custom/app/register-page/create-profile/create-profile.component.ts
#	src/themes/custom/app/register-page/register-email/register-email.component.ts
#	src/themes/custom/app/request-copy/deny-request-copy/deny-request-copy.component.ts
#	src/themes/custom/app/request-copy/email-request-copy/email-request-copy.component.ts
#	src/themes/custom/app/request-copy/grant-request-copy/grant-request-copy.component.ts
#	src/themes/custom/app/root/root.component.ts
#	src/themes/custom/app/search-navbar/search-navbar.component.ts
#	src/themes/custom/app/search-page/configuration-search-page.component.ts
#	src/themes/custom/app/search-page/search-page.component.ts
#	src/themes/custom/app/shared/auth-nav-menu/auth-nav-menu.component.ts
#	src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts
#	src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts
#	src/themes/custom/app/shared/dso-selector/modal-wrappers/create-collection-parent-selector/create-collection-parent-selector.component.ts
#	src/themes/custom/app/shared/dso-selector/modal-wrappers/create-community-parent-selector/create-community-parent-selector.component.ts
#	src/themes/custom/app/shared/dso-selector/modal-wrappers/create-item-parent-selector/create-item-parent-selector.component.ts
#	src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-collection-selector/edit-collection-selector.component.ts
#	src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-community-selector/edit-community-selector.component.ts
#	src/themes/custom/app/shared/dso-selector/modal-wrappers/edit-item-selector/edit-item-selector.component.ts
#	src/themes/custom/app/shared/file-download-link/file-download-link.component.ts
#	src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component.ts
#	src/themes/custom/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component.ts
#	src/themes/custom/app/shared/loading/loading.component.ts
#	src/themes/custom/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts
#	src/themes/custom/app/shared/object-list/collection-list-element/collection-list-element.component.ts
#	src/themes/custom/app/shared/object-list/community-list-element/community-list-element.component.ts
#	src/themes/custom/app/shared/object-list/object-list.component.ts
#	src/themes/custom/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.ts
#	src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts
#	src/themes/custom/app/shared/results-back-button/results-back-button.component.ts
#	src/themes/custom/app/shared/search-form/search-form.component.ts
#	src/themes/custom/app/shared/search/search-filters/search-filters.component.ts
#	src/themes/custom/app/shared/search/search-results/search-results.component.ts
#	src/themes/custom/app/shared/search/search-settings/search-settings.component.ts
#	src/themes/custom/app/shared/search/search-sidebar/search-sidebar.component.ts
#	src/themes/custom/app/shared/starts-with/date/starts-with-date.component.ts
#	src/themes/custom/app/shared/starts-with/text/starts-with-text.component.ts
#	src/themes/custom/app/statistics-page/collection-statistics-page/collection-statistics-page.component.ts
#	src/themes/custom/app/statistics-page/community-statistics-page/community-statistics-page.component.ts
#	src/themes/custom/app/statistics-page/item-statistics-page/item-statistics-page.component.ts
#	src/themes/custom/app/statistics-page/site-statistics-page/site-statistics-page.component.ts
#	src/themes/custom/app/submission/edit/submission-edit.component.ts
#	src/themes/custom/app/submission/import-external/submission-import-external.component.ts
#	src/themes/custom/app/submission/sections/upload/file/section-upload-file.component.ts
#	src/themes/custom/app/submission/submit/submission-submit.component.ts
#	src/themes/custom/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component.ts
#	src/themes/custom/app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component.ts
#	src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts
#	src/themes/custom/eager-theme.module.ts
#	src/themes/custom/lazy-theme.module.ts
#	src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.ts
#	src/themes/dspace/app/header/header.component.ts
#	src/themes/dspace/app/home-page/home-news/home-news.component.ts
#	src/themes/dspace/app/navbar/navbar.component.ts
#	src/themes/dspace/eager-theme.module.ts
#	src/themes/dspace/lazy-theme.module.ts
2024-03-12 17:47:51 +01:00
Yury Bondarenko
55573c5827 Merge remote-tracking branch 'origin/main' into disable-inline-css 2024-03-12 17:17:39 +01:00
Alan Orth
a8f31948bc Merge pull request #2777 from TAMULib/dynamic-tag-on-blur
Element reference for typeahead directive is only defined when model has authority
2024-03-08 23:12:59 +03:00
Giuseppe Digilio
f90880bbac [DURACOM-191] Fix error on home when coar is not enabled 2024-03-08 19:14:03 +01:00
Andrea Barbasso
ae436fbd5f [DURACOM-191] remove already present strings 2024-03-08 17:22:13 +01:00
Andrea Barbasso
cc8d931263 [DURACOM-191] fix missing pipe in createReportMenuSections 2024-03-08 16:58:42 +01:00
Tim Donohue
a2531e5f6e Merge pull request #2343 from ybnd/more-eslint
Stricter ESLint configuration for code quality, consistency & cleaner merges
2024-03-08 09:24:30 -06:00
Andrea Barbasso
a9c975b72a [DURACOM-191] fix runtime errors for store features 2024-03-08 15:59:50 +01:00
Andrea Barbasso
dbbf99229a [DURACOM-191] delete core module 2024-03-08 15:27:38 +01:00
Andrea Barbasso
a147f78a1d [DURACOM-191] fix errors at runtime 2024-03-08 13:12:05 +01:00
Yury Bondarenko
33d5253d47 Only log errors for DspaceRestService.get
When refactoring to meet the rxjs/no-implicit-any-catch ESLint rule, I'd made it so errors were logged for DspaceRestService.request calls as well, making it a lot more noisy
The console.log in .get is explicitly required by tests though
2024-03-08 11:02:48 +01:00
Andrea Barbasso
19f806caf2 [DURACOM-191] fix dynamicComponentLoader 2024-03-07 15:41:37 +01:00
Yury Bondarenko
86885f7dce Merge remote-tracking branch 'origin/main' into more-eslint 2024-03-07 09:56:55 +01:00
Yury Bondarenko
5edc689bc1 Fix null/undefined incosistencies
- Introduced pipes for combined null/undefined checks: dsHasValue & dsHasNoValue
- Safer to async !== true than async === false
- Went over other instances of async === to confirm that they should be fine
2024-03-07 09:55:36 +01:00
Andrea Barbasso
a8b4c82b9a [DURACOM-191] fix errors at runtime 2024-03-06 17:19:31 +01:00
Tim Donohue
a9c58a1d5a Merge pull request #2856 from 4Science/coar-notify-itempage-error-on-ldnenabled-false
fix 'undefined' error on anonymous item page landing
2024-03-06 09:22:40 -06:00
Andrea Barbasso
3a5f9cdd63 [DURACOM-191] fix circular dependencies 2024-03-06 15:35:29 +01:00
Yury Bondarenko
ebbbd64bae Fix tests 2024-03-06 11:56:17 +01:00
Yury Bondarenko
3b48d9a26d Manually fix lint issues 2024-03-06 11:56:17 +01:00
Yury Bondarenko
2b540cd91c Autofix lint issues 2024-03-06 10:30:19 +01:00
Yury Bondarenko
dbf7fd67fd Merge remote-tracking branch 'origin/main' into more-eslint 2024-03-06 10:26:07 +01:00
frabacche
e6389a73df fix e2e test 18x aria on <ul> html tag 2024-03-06 09:30:42 +01:00
Andrea Barbasso
92c944a8fb [DURACOM-191] run migration script 2024-03-05 16:25:21 +01:00
Andrea Barbasso
59cb88ee45 [DURACOM-191] fix build errors 2024-03-05 16:22:53 +01:00
frabacche
dd9fc1881f fix 'undefined' error on anonymous item page landing 2024-03-05 16:13:00 +01:00
Tim Donohue
230055ce6f Merge pull request #2851 from saschaszott/patch-19
fix selector value in CommunitySidebarSearchListElementComponent
2024-03-05 09:12:58 -06:00
Simone Ramundi
3907bc114f [DURACOM-237] - Added imports inside ts component 2024-03-05 12:20:33 +01:00
Andrea Barbasso
a38f96d13b [DURACOM-191] delete useless modules 2024-03-05 12:01:41 +01:00
Andrea Barbasso
c5730e554d [DURACOM-191] fix build errors 2024-03-05 11:45:57 +01:00
Simone Ramundi
6970f1ee67 [DURACOM-237] - Refactoring ts based on @angular/cdk/drag-drop 2024-03-05 11:39:22 +01:00
Simone Ramundi
4b0bf74d29 [DURACOM-237] - Refactoring html based on @angular/cdk/drag-drop 2024-03-05 11:39:22 +01:00
Simone Ramundi
478783f1f3 [DURACOM-237] - Refactoring scss based on @angular/cdk/drag-drop 2024-03-05 11:39:22 +01:00
Simone Ramundi
671fa8f220 [DURACOM-237] - Refactoring html based on @angular/cdk/drag-drop 2024-03-05 11:39:22 +01:00
Simone Ramundi
61bf50e152 [DURACOM-237] - Refactoring html based on @angular/cdk/drag-drop 2024-03-05 11:39:22 +01:00
Simone Ramundi
9e724f38c9 [DURACOM-237] - Refactoring scss based on @angular/cdk/drag-drop 2024-03-05 11:39:22 +01:00
Simone Ramundi
e092914c00 [DURACOM-237] - Refactoring html based on @angular/cdk/drag-drop 2024-03-05 11:39:22 +01:00
Simone Ramundi
dbf6b9d1f9 [DURACOM-237] - Refactoring scss based on @angular/cdk/drag-drop 2024-03-05 11:39:21 +01:00
Simone Ramundi
0c80b1a366 [DURACOM-237] - Refactoring html based on @angular/cdk/drag-drop 2024-03-05 11:39:21 +01:00
Simone Ramundi
3807a3563c [DURACOM-237] - Refactoring ts based on @angular/cdk/drag-drop 2024-03-05 11:36:58 +01:00
Simone Ramundi
3051fa8d8d [DURACOM-237] - Added DragDropModule which replaced the SortablejsModule inside form.module.ts 2024-03-05 11:31:37 +01:00
Andrea Barbasso
9cd1db54c0 [DURACOM-191] fix browse-by-decorator map 2024-03-05 11:17:25 +01:00
Sascha Szott
ad3ef56e06 fix selector value in CommunitySidebarSearchListElementComponent 2024-03-05 11:10:12 +01:00
Andrea Barbasso
36edc58979 [DURACOM-191] migrate components to standalone 2024-03-05 10:44:39 +01:00
Andrea Barbasso
8bfb776eef [DURACOM-191] fix standalone components 2024-03-05 09:55:31 +01:00
Andrea Barbasso
7b3571e606 [DURACOM-191] make section-coar-notify standalone 2024-03-05 09:32:43 +01:00
Andrea Barbasso
344cbf1111 [DURACOM-191] run migration script 2024-03-05 09:28:13 +01:00
Andrea Barbasso
e5d7f11e15 [DURACOM-191] fix missing import 2024-03-05 08:46:42 +01:00
Andrea Barbasso
ad1a3e6172 [DURACOM-191] fix routing module 2024-03-05 08:46:03 +01:00
Andrea Barbasso
0f97fc3d86 [DURACOM-191] fix routing modules 2024-03-05 08:44:07 +01:00
Andrea Barbasso
5ec649f329 [DURACOM-191] fix routing modules 2024-03-05 08:14:13 +01:00
Tim Donohue
761b0c2203 Merge pull request #2751 from 4Science/coar-notify-7-part-two
Coar Notify Integration - Administer/Log
2024-03-04 16:32:23 -06:00
Tim Donohue
76f5d34bbe Merge pull request #2847 from DSpace/dependabot/npm_and_yarn/sanitize-html-2.12.1
Bump sanitize-html from 2.10.0 to 2.12.1
2024-03-04 16:02:23 -06:00
Tim Donohue
4cc5a383cc Merge pull request #2371 from alexandrevryghem/fix-specs-without-expectations_contribute-main
Fix Spec has no expectations errors
2024-03-04 14:11:29 -06:00
Andrea Barbasso
923c375d67 [DURACOM-191] add more fixes 2024-03-04 17:26:21 +01:00
frabacche
0f7965ea6e Merge remote-tracking branch 'github/main' into coar-notify-7-part-two 2024-03-04 17:26:17 +01:00
Andrea Barbasso
8503b4a476 [DURACOM-191] run migration script 2024-03-04 16:40:12 +01:00
Andrea Barbasso
5a57035b61 [DURACOM-191] merge fixes 2024-03-04 16:30:46 +01:00
Tim Donohue
f6f396221d Merge pull request #2749 from the-library-code/DSpace_detect_duplicates_PR
Basic Duplicate Detection
2024-03-04 09:28:26 -06:00
Andrea Barbasso
914ca68ca2 Merge remote-tracking branch 'github/main' into DURACOM-191-20240304-align-to-main
# Conflicts:
#	src/app/admin/admin-notifications/admin-notifications-routing.module.ts
#	src/app/admin/admin-notifications/admin-notifications.module.ts
#	src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component.spec.ts
#	src/app/admin/admin-notifications/admin-quality-assurance-source-page-component/admin-quality-assurance-source-page.component.ts
#	src/app/admin/admin-notifications/admin-quality-assurance-topics-page/admin-quality-assurance-topics-page.component.spec.ts
#	src/app/admin/admin-routing.module.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.spec.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workspace-item/workspace-item-search-result-admin-workflow-grid-element.component.ts
#	src/app/admin/admin.module.ts
#	src/app/app-routing.module.ts
#	src/app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component.ts
#	src/app/browse-by/browse-by-date-page/themed-browse-by-date-page.component.ts
#	src/app/browse-by/browse-by-date/browse-by-date.component.spec.ts
#	src/app/browse-by/browse-by-date/browse-by-date.component.ts
#	src/app/browse-by/browse-by-guard.spec.ts
#	src/app/browse-by/browse-by-metadata-page/themed-browse-by-metadata-page.component.ts
#	src/app/browse-by/browse-by-metadata/browse-by-metadata.component.spec.ts
#	src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts
#	src/app/browse-by/browse-by-page.module.ts
#	src/app/browse-by/browse-by-routing.module.ts
#	src/app/browse-by/browse-by-switcher/browse-by-data-type.ts
#	src/app/browse-by/browse-by-switcher/browse-by-decorator.spec.ts
#	src/app/browse-by/browse-by-switcher/browse-by-decorator.ts
#	src/app/browse-by/browse-by-switcher/browse-by-switcher.component.spec.ts
#	src/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts
#	src/app/browse-by/browse-by-switcher/dynamic-component-loader.directive.ts
#	src/app/browse-by/browse-by-switcher/themed-browse-by-switcher.component.ts
#	src/app/browse-by/browse-by-taxonomy-page/themed-browse-by-taxonomy-page.component.ts
#	src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.spec.ts
#	src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts
#	src/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts
#	src/app/browse-by/browse-by-title-page/themed-browse-by-title-page.component.ts
#	src/app/browse-by/browse-by-title/browse-by-title.component.spec.ts
#	src/app/browse-by/browse-by.module.ts
#	src/app/collection-page/collection-page-routing.module.ts
#	src/app/collection-page/collection-page.component.ts
#	src/app/collection-page/collection-page.module.ts
#	src/app/community-page/community-page-routing.module.ts
#	src/app/community-page/community-page.module.ts
#	src/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.spec.ts
#	src/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts
#	src/app/community-page/sections/sub-com-col-section/sub-collection-list/themed-community-page-sub-collection-list.component.ts
#	src/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.spec.ts
#	src/app/community-page/sections/sub-com-col-section/sub-community-list/community-page-sub-community-list.component.ts
#	src/app/community-page/sections/sub-com-col-section/sub-community-list/themed-community-page-sub-community-list.component.ts
#	src/app/core/data/processes/process-data.service.ts
#	src/app/core/shared/non-hierarchical-browse-definition.ts
#	src/app/core/submission/vocabularies/vocabulary.data.service.ts
#	src/app/core/submission/workspaceitem-data.service.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.spec.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.ts
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata.component.ts
#	src/app/dso-shared/dso-shared.module.ts
#	src/app/footer/footer.component.spec.ts
#	src/app/header-nav-wrapper/header-navbar-wrapper.component.ts
#	src/app/header/header.component.ts
#	src/app/home-page/home-page.component.ts
#	src/app/home-page/home-page.module.ts
#	src/app/info/info-routing.module.ts
#	src/app/item-page/alerts/item-alerts.component.spec.ts
#	src/app/item-page/alerts/item-alerts.component.ts
#	src/app/item-page/field-components/metadata-values/metadata-values.component.ts
#	src/app/item-page/full/full-item-page.component.spec.ts
#	src/app/item-page/full/full-item-page.component.ts
#	src/app/item-page/item-shared.module.ts
#	src/app/item-page/simple/item-page.component.spec.ts
#	src/app/item-page/simple/item-page.component.ts
#	src/app/menu.resolver.spec.ts
#	src/app/my-dspace-page/my-dspace-page.module.ts
#	src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.ts
#	src/app/navbar/navbar.component.spec.ts
#	src/app/notifications/notifications.module.ts
#	src/app/notifications/qa/events/quality-assurance-events.component.ts
#	src/app/notifications/qa/source/quality-assurance-source.component.ts
#	src/app/notifications/qa/topics/quality-assurance-topics.component.spec.ts
#	src/app/notifications/qa/topics/quality-assurance-topics.component.ts
#	src/app/process-page/detail/process-detail.component.spec.ts
#	src/app/process-page/detail/process-detail.component.ts
#	src/app/process-page/form/process-form.component.ts
#	src/app/process-page/overview/process-overview.component.spec.ts
#	src/app/process-page/overview/process-overview.component.ts
#	src/app/process-page/process-page-shared.module.ts
#	src/app/profile-page/profile-page.module.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component.spec.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-events-page/quality-assurance-events-page.component.ts
#	src/app/quality-assurance-notifications-pages/quality-assurance-topics-page/quality-assurance-topics-page.component.ts
#	src/app/root/root.component.ts
#	src/app/search-page/configuration-search-page.component.ts
#	src/app/shared/auth-nav-menu/auth-nav-menu.component.spec.ts
#	src/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts
#	src/app/shared/comcol/comcol.module.ts
#	src/app/shared/dso-page/dso-edit-menu.resolver.spec.ts
#	src/app/shared/dso-selector/modal-wrappers/dso-selector-modal-wrapper.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/custom-switch/custom-switch.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts
#	src/app/shared/menu/menu-item/external-link-menu-item.component.ts
#	src/app/shared/menu/menu-item/link-menu-item.component.ts
#	src/app/shared/menu/menu-item/onclick-menu-item.component.ts
#	src/app/shared/menu/menu-item/text-menu-item.component.ts
#	src/app/shared/metadata-representation/metadata-representation-loader.component.spec.ts
#	src/app/shared/metadata-representation/metadata-representation-loader.component.ts
#	src/app/shared/metadata-representation/metadata-representation.directive.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions.directive.ts
#	src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.spec.ts
#	src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts
#	src/app/shared/object-collection/shared/listable-object/listable-object.directive.ts
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts
#	src/app/shared/search/search-filters/search-filters.component.spec.ts
#	src/app/shared/search/search-filters/search-filters.component.ts
#	src/app/shared/search/search-settings/search-settings.component.spec.ts
#	src/app/shared/search/search.component.spec.ts
#	src/app/shared/search/search.component.ts
#	src/app/shared/search/themed-search.component.ts
#	src/app/shared/shared.module.ts
#	src/app/shared/starts-with/date/starts-with-date.component.spec.ts
#	src/app/shared/starts-with/date/starts-with-date.component.ts
#	src/app/shared/starts-with/text/starts-with-text.component.spec.ts
#	src/app/shared/testing/vocabulary-service.stub.ts
#	src/app/submission/form/submission-form.component.html
#	src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.spec.ts
#	src/app/submission/sections/upload/file/edit/section-upload-file-edit.component.ts
#	src/app/submission/sections/upload/section-upload.component.html
#	src/app/submission/sections/upload/section-upload.component.ts
#	src/app/submission/submission.module.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.spec.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.ts
#	src/app/workflowitems-edit-page/workflowitems-edit-page.module.ts
#	src/config/app-config.interface.ts
#	src/themes/custom/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts
#	src/themes/custom/app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component.ts
#	src/themes/custom/app/browse-by/browse-by-switcher/browse-by-switcher.component.ts
#	src/themes/custom/app/browse-by/browse-by-taxonomy-page/browse-by-taxonomy-page.component.ts
#	src/themes/custom/app/browse-by/browse-by-title-page/browse-by-title-page.component.ts
#	src/themes/custom/app/community-page/sub-collection-list/community-page-sub-collection-list.component.ts
#	src/themes/custom/app/community-page/sub-community-list/community-page-sub-community-list.component.ts
#	src/themes/custom/eager-theme.module.ts
#	src/themes/custom/lazy-theme.module.ts
#	src/themes/dspace/app/header-nav-wrapper/header-navbar-wrapper.component.ts
#	src/themes/dspace/app/header/header.component.ts
2024-03-04 15:04:33 +01:00
frabacche
add125790a Merge pull request #78 from 4Science/coar-notify-7-part-two-refactor-enqueue
ldn message: move enqueueretry from get to post
2024-03-04 13:25:32 +01:00
FrancescoMolinaro
1fd16a2d3e Merge remote-tracking branch 'origin/coar-notify-7-part-two' into coar-notify-7-part-two 2024-03-04 11:40:30 +01:00
FrancescoMolinaro
fd1483d537 restyle header 2024-03-04 11:40:06 +01:00
FrancescoMolinaro
c03ab07556 add route guard 2024-03-04 11:38:56 +01:00
FrancescoMolinaro
a79c4036cb fix menu resolver condition for LDN 2024-03-04 11:38:56 +01:00
FrancescoMolinaro
23cb4ca7b7 Add components descriptions, fix bug on navigation, align labels, add config example 2024-03-04 11:38:56 +01:00
FrancescoMolinaro
38ac31eafe add route guard 2024-03-04 11:37:27 +01:00
FrancescoMolinaro
f925273d90 fix menu resolver condition for LDN 2024-03-04 11:31:35 +01:00
FrancescoMolinaro
c27e758ffb Add components descriptions, fix bug on navigation, align labels, add config example 2024-03-04 11:29:02 +01:00
frabacche
4fdade892b ldn message: move enqueueretry from get to post 2024-03-04 11:17:15 +01:00
Kim Shepherd
e4a91e7261 [TLC-674] New duplicate data service, object reducer tests 2024-03-04 14:29:26 +13:00
Kim Shepherd
ca32314951 [TLC-674] Fix findDuplicates error in claimed task (old code)
Update spec tests
2024-03-04 13:31:48 +13:00
Kim Shepherd
2000b1b240 [TLC-674] Resolve sections type list problem (introduced in conflict merge) 2024-03-04 12:00:51 +13:00
Kim Shepherd
1206d61440 [TLC-674] Update duplicate data service to use searchBy method 2024-03-04 11:50:55 +13:00
Kim Shepherd
1e36a10dd5 [TLC-674] Properly test for existence of duplicates section 2024-03-04 11:50:55 +13:00
Kim Shepherd
e76b6c962c [TLC-674] Duplicate detection frontend changes as per feedback 2024-03-04 11:50:54 +13:00
Kim Shepherd
6229966f7a [TLC-674] Mock duplicateDataService.findDuplicates() 2024-03-04 11:50:15 +13:00
Kim Shepherd
b79dab3fcb [TLC-674] Mock duplicateDataService providers in spec tests 2024-03-04 11:50:15 +13:00
Kim Shepherd
0d42af38cd [TLC-674] Refactor Basic Duplicate detection endpoint / data service 2024-03-04 11:50:14 +13:00
Kim Shepherd
911cf8905c [TLC-674] Hide empty duplicate section UNLESS config overrides
A new config property allows the user to force the duplicate
section to be displayed even if there are no duplicates
as sometimes this is useful information to a reviewer or
submitter
2024-03-04 11:49:24 +13:00
Kim Shepherd
68dd35095c [TLC-674] Do not display duplicate section if data is empty 2024-03-04 11:49:24 +13:00
Kim Shepherd
a9a87d31ef [TLC-674] Allow for no duplicate section in submitted workspace item 2024-03-04 11:49:24 +13:00
Kim Shepherd
b4591b1372 [TLC-674] Potential duplicate msg shown as warning alert 2024-03-04 11:49:24 +13:00
Kim Shepherd
7a10834f82 [TLC-674] Dupe layout changes as per review
i18n fix
alignment fix
comment fix
2024-03-04 11:49:24 +13:00
Kim Shepherd
b8e2cac399 [TLC-674] Fix duplicate section unit test 2024-03-04 11:49:24 +13:00
Kim Shepherd
db8d47e598 [TLC-674] Refactor duplicates from item link to searchBy 2024-03-04 11:49:24 +13:00
Pascal-Nicolas Becker
140cb88510 Tiny code style fix in pool-search-result-list-element.component.ts 2024-03-04 11:49:24 +13:00
Kim Shepherd
e474862edf [TLC-674] Lint fixes 2024-03-04 11:49:24 +13:00
Kim Shepherd
aceffa0468 [TLC-674] TypeDoc 2024-03-04 11:49:24 +13:00
Kim Shepherd
d06d5b1b13 [TLC-674] Unit test fixes for comp, claimed/pooled tasks 2024-03-04 11:49:24 +13:00
Kim Shepherd
43620a44f2 [TLC-674] Lint fixes 2024-03-04 11:49:22 +13:00
Kim Shepherd
0e4ad5e674 [TLC-674] Tidy up components, WIP spec tests 2024-03-04 11:48:13 +13:00
Kim Shepherd
b672668e15 [TLC-674] Duplicate detection comp, template, i18n
Duplicate data is accessed in the submission section,
pooled tasks list and claimed tasks list.
2024-03-04 11:48:11 +13:00
dependabot[bot]
e7eaa9f61b Bump sanitize-html from 2.10.0 to 2.12.1
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.10.0 to 2.12.1.
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.10.0...2.12.1)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 17:25:29 +00:00
frabacche
0e4b220db1 Merge pull request #77 from 4Science/coar-notify-7-part-two-submission-patch-remove
coar-notify-7 item submission coar section send patch remove on blanking notify services
2024-03-01 17:12:01 +01:00
frabacche
c00134f372 coar-notify-7 item submission coar section send patch remove on blanking services 2024-03-01 14:57:57 +01:00
FrancescoMolinaro
b94167ad7b resolve issue #2842 2024-03-01 10:05:43 +01:00
FrancescoMolinaro
1f463f7329 Merge branch 'main' into coar-notify-7-part-two 2024-03-01 08:59:28 +01:00
Alexandre Vryghem
371e766078 Fixed tests without expectations from #2759 & #2681
Added the necessary done() calls back & fixed tests
2024-02-29 23:42:17 +01:00
Alexandre Vryghem
87788e7e02 Merge remote-tracking branch 'upstream/main' into fix-specs-without-expectations_contribute-main 2024-02-29 23:12:00 +01:00
Tim Donohue
061129ecb7 Merge pull request #2822 from DSpace/dependabot/npm_and_yarn/ip-2.0.1
Bump ip from 2.0.0 to 2.0.1
2024-02-29 15:26:14 -06:00
Tim Donohue
4fa5237b58 Merge pull request #2356 from mwoodiupui/node20
Update dependencies for Node v20
2024-02-29 15:10:35 -06:00
Tim Donohue
ae15fe5fa5 Merge pull request #2676 from 4Science/DURACOM-195
Header, navbar, and admin sidebar refactoring
2024-02-29 14:38:17 -06:00
Tim Donohue
25955aec8a Merge pull request #2840 from jeffmorin/main
Removed 250 and 1000 items/page options and set 10 as default value
2024-02-29 14:13:34 -06:00
Alexandre Vryghem
a340eb2a07 Removed broken tests
https://github.com/DSpace/dspace-angular/pull/2371#issuecomment-1637089839
2024-02-29 21:06:43 +01:00
Jean-François Morin
bb20b8d18a Cleaned obsolete code 2024-02-29 15:00:39 -05:00
jeffmorin
c5463eab8d Merge branch 'DSpace:main' into main 2024-02-29 13:16:12 -05:00
Davide Negretti
91f01ad542 Merge branch 'main' into DURACOM-195
# Conflicts:
#	src/assets/i18n/en.json5
#	src/themes/dspace/app/navbar/navbar.component.html
2024-02-29 19:11:03 +01:00
Tim Donohue
c195175fd7 Merge pull request #2681 from 4Science/coar-notify-7
Coar Notify Integration
2024-02-29 12:00:23 -06:00
FrancescoMolinaro
4fcb66022b fix lint, fix tests 2024-02-29 15:30:02 +01:00
FrancescoMolinaro
0a3f884793 Resolve conflicts after merge of part 1 2024-02-29 15:13:53 +01:00
FrancescoMolinaro
eab079124c Merge branch 'coar-notify-7' into coar-notify-7-part-two 2024-02-29 15:00:35 +01:00
Simone Ramundi
2660601dff Merged in DURACOM-238-update-ng2-file-upload (pull request #1413)
DURACOM-238 update ng2 file upload

Approved-by: Andrea Barbasso
2024-02-29 10:17:36 +00:00
Andrea Barbasso
6b538faf0d Merged DURACOM-191-align-to-angular-16 into DURACOM-238-update-ng2-file-upload 2024-02-29 10:16:04 +00:00
FrancescoMolinaro
cd6a00e48b resolve conflicts after alignment with main 2024-02-29 09:04:17 +01:00
FrancescoMolinaro
6fc4c05627 Merge branch 'main' into coar-notify-7 2024-02-29 08:56:49 +01:00
Jean-François Morin
0bc60a0187 Removed 250 and 1000 items/page options and set 10 as default value 2024-02-28 22:51:00 -05:00
Tim Donohue
ff05094008 Merge pull request #2163 from jeffmorin/main
Content reports ported from DSpace 6.x
2024-02-28 11:49:36 -06:00
FrancescoMolinaro
5eb2405a68 resolve conflicts after main alignment 2024-02-28 17:58:24 +01:00
FrancescoMolinaro
47a907c1d2 Merge branch 'main' into coar-notify-7 2024-02-28 15:41:07 +01:00
Jean-François Morin
410a278eca Resolved conflicts 2024-02-27 22:06:24 -05:00
Tim Donohue
0d63a851e1 Merge pull request #2759 from 4Science/CST-12109-WITHDRAWN-REINSTATE-requests
WITHDRAW / REINSTATE requests for an item
2024-02-27 16:07:43 -06:00
frabacche
aaf0ce24e0 coar-notify-7 item submission coar section show label if no inbound pattern are configured on LDN Notify Services 2024-02-27 20:59:56 +01:00
FrancescoMolinaro
6be10a81f4 fix section data load for coar section in submission 2024-02-27 18:19:34 +01:00
Jean-François Morin
26caab1741 Merge branch 'main' of github.com:jeffmorin/dspace-angular 2024-02-27 11:34:46 -05:00
Jean-François Morin
92553e04cd Requested changes and fixes 2024-02-27 11:34:37 -05:00
Alisa Ismailati
e4b28146ca Merge branch 'main' of https://bitbucket.org/4Science/dspace-angular into CST-12109-WITHDRAWN-REINSTATE-requests 2024-02-27 16:22:08 +01:00
Andrea Barbasso
576f262052 [DURACOM-238] add missing imports in standalone component 2024-02-27 16:04:39 +01:00
Andrea Barbasso
377b217e5d [DURACOM-238] add missing imports in standalone component 2024-02-27 16:03:25 +01:00
Andrea Barbasso
a2e3b08f27 [DURACOM-238] add missing imports in standalone component 2024-02-27 15:59:43 +01:00
Simone Ramundi
0ce10b489e Upgrade ng2-file-upload to v5.0.0 2024-02-27 15:03:51 +01:00
Davide Negretti
a88282d70b [DURACOM-195] fix spacing in collapsible menu 2024-02-27 14:05:48 +01:00
frabacche
3ed617eb69 NOtifyService item-filter patch fix 2024-02-27 12:10:18 +01:00
Alisa Ismailati
447b275387 [CST-12109] Updated notification text messages 2024-02-27 10:33:03 +01:00
frabacche
c1b22826c6 en double label 2024-02-27 09:39:59 +01:00
frabacche
153cbc1848 Merge remote-tracking branch 'origin/main' into coar-notify-7 2024-02-27 09:34:58 +01:00
jeffmorin
ba5f50e473 Merge branch 'DSpace:main' into main 2024-02-26 20:02:55 -05:00
gaurav patel
91a419fb0f Advance search search page (#2608)
* Update homepage-config.interface.ts

change comment of homepage-config.interface.ts

* advance Search add

* slove error while unti test

* write unit test

* Ensures select element has an accessible name

* change data pass into url

* error resolve

* Search.Filters.Applied.F.Title given name as Title

* Advanced filters configurable in the User interface (in config.*.yml)

* turn on/off and add filters as a list

* remove currenturl

* resolve

* change envierment config and url pass data

* set enabled: false ,and remove debugger ,remove searchConfig

* expect clauses  add

* reslove conflict

* merge added

* remove  commented and design change advance search

* moving the "add" button to its own col-lg-12

* resolve conflict

* reslove error

* merge en.json5 file

* remove trailing spaces

* resolve Conflicts

* Fix typo. property is filter not filters

---------

Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2024-02-26 14:11:28 -06:00
Davide Negretti
fdbe7a6005 [DURACOM-195] fix 2024-02-26 20:41:44 +01:00
Davide Negretti
d1dc8e6038 [DURACOM-195] replace ul/li with div in sidebar 2024-02-26 20:32:31 +01:00
Davide Negretti
8e35c0f713 [DURACOM-195] add background on mouse over to dropdown user menu items 2024-02-26 20:24:12 +01:00
Davide Negretti
bff93a0847 [DURACOM-195] fix issue with logo on small screens 2024-02-26 18:23:51 +01:00
Davide Negretti
abba806d40 [DURACOM-195] replace ul/li with div in navbar 2024-02-26 16:22:28 +01:00
FrancescoMolinaro
03ee758f63 update filter labels 2024-02-26 15:42:41 +01:00
frabacche
14976e0e06 fix Test errors, hide COAR requests with no LDN associable 2024-02-26 15:30:26 +01:00
frabacche
fbd5dd41ed Merge remote-tracking branch 'origin/main' into coar-notify-7 2024-02-26 14:40:17 +01:00
FrancescoMolinaro
2b57275e6d map constraints, add guard, small restyle (badge), remove unused patterns 2024-02-26 13:07:47 +01:00
Davide Negretti
1fb742c00a Merge branch 'main' into DURACOM-195
# Conflicts:
#	src/assets/i18n/en.json5
#	src/styles/_custom_variables.scss
#	src/themes/dspace/styles/_theme_css_variable_overrides.scss
2024-02-26 12:44:31 +01:00
Alisa Ismailati
d0ed40536d [CST-12109] added discernable text to delete button for non-admin users 2024-02-26 10:26:35 +01:00
Alexandre Vryghem
db710c59bb Fixed some components not destroying their ViewContainerRef 2024-02-24 14:20:35 +01:00
Alexandre Vryghem
109418bcdf Merge remote-tracking branch 'upstream/main' into fix-specs-without-expectations_contribute-main
# Conflicts:
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts
2024-02-24 13:33:56 +01:00
Jean-François Morin
91d97f8af0 Fixed unit test 2024-02-23 17:12:38 -05:00
gaurav patel
bfeeeac96f only add Display Search Facets to the Homepage (#2275)
* Update homepage-config.interface.ts

change comment of homepage-config.interface.ts

* advance Search add

* slove error while unti test

* write unit test

* Ensures select element has an accessible name

* change data pass into url

* error resolve

* Search.Filters.Applied.F.Title given name as Title

* Advanced filters configurable in the User interface (in config.*.yml)

* Search Facets on all Home, Community, Collection

* should pass accessibility tests error resolve

* change label name

* unique role or role/label/title

* remove same role name

* order of headings is semantically correct

* semantically correct advance search and global css

* URL pattern

* headings is semantically correct

* Merge branch 'Search-Facets-home-community-collection' of https://github.com/GauravD2t/Advanced-search into Search-Facets-home-community-collection

* change update

* change update

* remove advance search code from here

* removing all code relating to Community/Collection pages

* resolve  code conflict

* remove the space

* remove commented code

* add  'merge'

* resolve confilt

* remove back file

* add lable dynamic

* Update search-navbar.component.spec.ts

* Update search-filter.component.html

* showDiscoverFilters config in yml file

* Ensures the order of headings is semantically correct

* showDiscoverFilters change default to false

* Update homepage-config.interface.ts to use boolean instead of false

---------

Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2024-02-23 16:01:36 -06:00
Jean-François Morin
600c99178a Fixed for loops over arrays 2024-02-23 16:56:52 -05:00
Jean-François Morin
1cea4690da Fixed styling errors 2024-02-23 16:49:48 -05:00
Jean-François Morin
e2bf9d2bcf Switched to GET requests for Content Reports 2024-02-23 16:34:29 -05:00
jeffmorin
04979919f7 Merge branch 'DSpace:main' into main 2024-02-23 16:20:48 -05:00
Tim Donohue
fc4f0ec6a3 Merge pull request #2653 from toniprieto/edit-item-authorities
Implement vocabulary value selectors in item’s metadata edit form
2024-02-23 15:04:45 -06:00
Tim Donohue
fc6da94827 Merge pull request #2756 from atmire/process-admin-ui-redesign-8.0.0-next
Split processes overview page into sections
2024-02-23 14:53:55 -06:00
Alisa Ismailati
49a3310273 [CST-12109] rewrite unit test case 2024-02-23 17:16:06 +01:00
Alisa Ismailati
37dc8ccd11 [CST-12109] logo alignment 2024-02-23 15:47:58 +01:00
Alisa Ismailati
e7579b7bf5 [CST-12109] fix of text messages / source image 2024-02-23 15:03:52 +01:00
Toni Prieto
1fc046249b Preserve the confidence value when loading the initial value of the model into the DsDynamicOneboxComponent. Previously, the accepted confidence value was always displayed if a valid vocabulary entry was retrieved, incorrectly displaying it for values without accepted authority. 2024-02-23 11:05:26 +01:00
Toni Prieto
7253a5917c Update the value with the searched text in the onBlur() event of DsDynamicOneBoxComponent when the user doesn't select any typeahead suggestion. The previous code attempted to maintain focus on the input field to not lose changes but it wasn't working. 2024-02-23 10:54:14 +01:00
Andreas Awouters
ff4b4a6881 Merge remote-tracking branch 'dspace/main' into process-admin-ui-redesign-8.0.0-next 2024-02-23 08:12:47 +01:00
Jean-François Morin
c7649505e2 Second attempt to fix menu.resolver.spec.ts 2024-02-22 18:42:32 -05:00
Jean-François Morin
1c6216d40a Revert to original version 2024-02-22 17:00:55 -05:00
Jean-François Morin
5f41bc275a The newly added ConfigurationDataService seemed to be missing in the unit test class (according to cryptic error message). 2024-02-22 16:38:02 -05:00
Jean-François Morin
f1cfe9991d Fixed single-quote constraint 2024-02-22 16:07:32 -05:00
Jean-François Morin
64e3149e7e Added enable/disable Conte Reports functionality 2024-02-22 15:49:41 -05:00
jeffmorin
513b28b3ef Merge branch 'DSpace:main' into main 2024-02-22 14:57:40 -05:00
Toni Prieto
b4a9a0dd1e Add a new mode to AuthorityConfidenceStateDirective to configure use fontawesome icons instead of class defined in style property 2024-02-22 20:29:53 +01:00
Toni Prieto
f3a64bcadc Implement vocabulary selector for new fields input 2024-02-22 20:29:53 +01:00
Toni Prieto
a5512f08e7 No display authority key if confidence is unset (-1) or no-value (0) 2024-02-22 20:29:52 +01:00
Toni Prieto
45eaa87f9c Implementation of controlled vocabularies value selectors during item editing 2024-02-22 20:29:52 +01:00
Toni Prieto
439739ab42 Add support for MetadataValue class to AuthorityConfidenceStateDirective 2024-02-22 20:29:52 +01:00
Toni Prieto
c596c6eb14 Add aria-label and loadingInitialValue property to DsDynamicOneboxComponent 2024-02-22 20:29:52 +01:00
Toni Prieto
8d25ba764c Implement getVocabularyByMetadataAndCollection in VocabularyService 2024-02-22 20:29:52 +01:00
frabacche
c3d5b4cbe5 remove coar-notify.enable config, use ldn.enabled instead 2024-02-22 20:13:52 +01:00
Mark H. Wood
44cb4ec9c9 Address merge conflict. 2024-02-22 13:11:09 -05:00
frabacche
e4a03404ad LDN Service link always visible to admin 2024-02-22 18:53:54 +01:00
Mark H. Wood
82267fe2d2 Merge remote-tracking branch 'upstream/main' into node20 2024-02-22 12:46:53 -05:00
Mark H. Wood
5e8a767c1f Update locked versions. 2024-02-22 12:42:18 -05:00
frabacche
1f80d7f456 qa-coar-notify-logo.png file 2024-02-22 18:22:25 +01:00
frabacche
57b777b42a fix suggestion.service.ts main merge 2024-02-22 17:45:51 +01:00
Tim Donohue
45650c1a2a Merge pull request #2480 from atmire/feature-process_polling
Feature process polling
2024-02-22 10:43:14 -06:00
frabacche
fbab8ef70e Merge remote-tracking branch 'origin/main' into coar-notify-7 2024-02-22 17:33:31 +01:00
jeffmorin
79993ce502 Merge branch 'DSpace:main' into main 2024-02-22 11:19:55 -05:00
Alisa Ismailati
6c73a2e3a8 Merge branch 'main' into CST-12109-WITHDRAWN-REINSTATE-requests 2024-02-22 17:19:08 +01:00
frabacche
58c8dd6516 Merge remote-tracking branch 'github/main' into coar-notify-7 2024-02-22 17:15:29 +01:00
frabacche
7e11b74eed coar-notify-7 remove useless files 2024-02-22 17:11:03 +01:00
Tim Donohue
1c7f098ddd Merge pull request #2830 from 4Science/fix-issue-9355
[issue-9355] fix error on e2e tests
2024-02-22 10:09:13 -06:00
FrancescoMolinaro
10e8768fc2 [issue-9355] fix error on e2e tests 2024-02-22 16:25:47 +01:00
Sascha Szott
d5aca7633c site search should not adopt existing URL query string parameters (#2818)
src/app/search-navbar: do not merge existing query params

Do not merge existing query params when using site search from MyDSpace workflow.
2024-02-22 11:10:02 +03:00
frabacche
97dfe7998b Merge branch 'coar-notify-7' of bitbucket.org:4Science/dspace-angular into coar-notify-7 2024-02-22 08:55:43 +01:00
frabacche
ff1444b241 coar-notify-7 LDN Service menu show/hide configuration 2024-02-22 08:55:23 +01:00
jeffmorin
2a65bd81b3 Merge branch 'DSpace:main' into main 2024-02-21 14:26:33 -05:00
Jean-François Morin
27a9ce5280 Merge branch 'main' of github.com:jeffmorin/dspace-angular 2024-02-21 14:24:03 -05:00
Jean-François Morin
8bcd82e855 Forgot styling on two buttons 2024-02-21 14:23:50 -05:00
Tim Donohue
32bac12bbd Merge pull request #2732 from alexandrevryghem/added-recently-added-section-to-community-page_contribute-main
Added search facets to community & collection pages
2024-02-21 12:17:09 -06:00
Alisa Ismailati
c34a49e55a [CST-12109] lint fix 2024-02-21 18:11:30 +01:00
Alisa Ismailati
7350fdd125 [CST-12109] qa-event notification box fixes 2024-02-21 18:06:45 +01:00
Tim Donohue
d61d688848 Merge pull request #2820 from philipprumpf/multiple-import
Add translation for DOI multiple parallel import source.
2024-02-21 09:47:35 -06:00
FrancescoMolinaro
a64e4c9f71 remove duplicated log, unused translations, refactor ldn discard button 2024-02-21 11:55:42 +01:00
Alisa Ismailati
8d0971d9ff Merge branch 'main' into CST-12109-WITHDRAWN-REINSTATE-requests 2024-02-21 10:14:50 +01:00
Andreas Awouters
adea818306 Merge remote-tracking branch 'dspace/main' into process-admin-ui-redesign-8.0.0-next 2024-02-21 08:51:41 +01:00
Andreas Awouters
b1d9b4bd62 Merge remote-tracking branch 'atmire/feature-process_polling' into process-admin-ui-redesign-8.0.0-next 2024-02-21 08:51:13 +01:00
Andreas Awouters
5ef168b57b Merge branch 'w2p-111638_Process-admin-UI-redesign_Overview-page-tables_PR-feedback' into process-admin-ui-redesign-8.0.0-next 2024-02-21 08:50:25 +01:00
Art Lowel
f887997fb3 update tests 2024-02-21 08:13:51 +01:00
Andreas Awouters
960bfbbfe5 111638: Fix autoRefreshingSearchBy test 2024-02-21 08:13:51 +01:00
Andreas Awouters
fa2f3e63e7 111638: Clean up autoRefreshing calls 2024-02-21 08:13:51 +01:00
Andreas Awouters
08299e5c78 111638: Only collapse tables on initial page open 2024-02-21 08:13:51 +01:00
Tim Donohue
dcf583670f Merge pull request #2631 from vNovski/CST-12044-visualize-the-primary-bitstream
CST-12044 visualize the primary bitstream & CST-12043 primary bitstream flag
2024-02-20 17:09:45 -06:00
jeffmorin
2d2a74a408 Merge branch 'DSpace:main' into main 2024-02-20 15:59:16 -05:00
dependabot[bot]
c147c7d6ea Bump ip from 2.0.0 to 2.0.1
Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1.
- [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-20 20:49:23 +00:00
Tim Donohue
daf6dfeeeb Merge pull request #2733 from atmire/w2p-110088_keyboard-to-select-values
Use keyboard to select values
2024-02-20 09:38:30 -06:00
Philipp Rumpf
22919eb7fd Add translation for DOI multiple parallel import source.
Goes with DSpace#9132.
2024-02-20 14:54:12 +00:00
Jean-François Morin
998dd94fd4 Merge branch 'main' of github.com:jeffmorin/dspace-angular 2024-02-19 15:48:59 -05:00
Jean-François Morin
cadd1df8bf Applied Bootstrap styles to tables and form controls 2024-02-19 15:48:39 -05:00
Alexandre Vryghem
049fbb8778 Merge branch 'feature-process_polling-7.6' into feature-process_polling 2024-02-19 18:57:38 +01:00
Alexandre Vryghem
8ddc62168e 108915: Prevent self links & unresolved followLinks to be added as dependencies 2024-02-19 18:56:43 +01:00
FrancescoMolinaro
9336e793de FIx issues from main alignment, remove leftover removed in Suggestion PR 2024-02-19 12:34:48 +01:00
Jens Vannerum
f7f86b0a9e 111768: move original code back to init only for performance 2024-02-19 11:42:57 +01:00
Andreas Awouters
ab479251ad 111638: Fix lint errors & small typo 2024-02-19 08:54:55 +01:00
Alexandre Vryghem
bba6971440 Fixed new failing tests 2024-02-18 21:42:49 +01:00
Alexandre Vryghem
b57712094d Merge remote-tracking branch 'upstream/main' into fix-specs-without-expectations_contribute-main 2024-02-18 21:23:03 +01:00
Alexandre Vryghem
629c06cc16 Merge branch 'added-recently-added-section-to-community-page_contribute-7.6' into added-recently-added-section-to-community-page_contribute-main 2024-02-18 18:50:44 +01:00
Alexandre Vryghem
7968f68976 110889: Fixed trackStatistics still sending backend requests to track search event when trackStatistics is false 2024-02-18 18:49:55 +01:00
Alexandre Vryghem
5590ef46bb Merge branch 'added-recently-added-section-to-community-page_contribute-7.6' into added-recently-added-section-to-community-page_contribute-main 2024-02-18 17:54:28 +01:00
Alexandre Vryghem
37c534b809 110889: Don't retrieve the accessStatus when item.showAccessStatuses is false 2024-02-18 17:54:01 +01:00
Alexandre Vryghem
9ff3ed4351 Merge remote-tracking branch 'upstream/main' into added-recently-added-section-to-community-page_contribute-main
# Conflicts:
#	config/config.example.yml
#	src/app/shared/search-form/search-form.component.ts
#	src/assets/i18n/en.json5
#	src/config/default-app-config.ts
2024-02-18 15:32:39 +01:00
Alexandre Vryghem
877c2d4eaa 110889: Added discovery configuration to community & collection search sections 2024-02-18 15:13:09 +01:00
Alexandre Vryghem
9e7a59ddd0 110889: Prevent vocabulary undefined from being retrieved in hierarchy filter when none is configured 2024-02-18 11:58:04 +01:00
Alexandre Vryghem
cbe3f2f8f5 110889: Fixed searchevents request containing the query params in the clickedObject
Also fixed minor CSS issue in mobile mode where sidebar is still visible
2024-02-18 11:55:23 +01:00
Alexandre Vryghem
7bf7ee0ba7 110889: Added config to disable community/collection sidebar 2024-02-18 02:00:51 +01:00
Alexandre Vryghem
0bee02a501 110889: Remove the scope query parameter from the search on comcol pages 2024-02-18 00:32:53 +01:00
Alexandre Vryghem
0e2630d729 110889: Added search form to the community & collection pages 2024-02-18 00:32:52 +01:00
Francesco Molinaro
f4f48c8bb2 Merged in align-coar-notify-7-with-main (pull request #1366)
Align coar notify 7 with main
2024-02-16 14:53:39 +00:00
FrancescoMolinaro
251729e869 fix empty result js error 2024-02-16 15:18:42 +01:00
jeffmorin
872a670f02 Merge branch 'DSpace:main' into main 2024-02-16 08:47:39 -05:00
FrancescoMolinaro
6380abc759 Fix merge conflicts 2024-02-16 13:10:38 +01:00
FrancescoMolinaro
a249cf5986 Merge branch 'main' into coar-notify-7 2024-02-16 11:00:24 +01:00
Tim Donohue
055122918f Merge pull request #2770 from saschaszott/patch-13
German translations of feedback page translation keys
2024-02-15 16:11:22 -06:00
Jean-François Morin
85630ba5ea Fixed i18n files 2024-02-15 16:14:17 -05:00
Jean-François Morin
4cd20d6dcd Removed unneeded actions file and fixed invalid TS file 2024-02-15 15:49:25 -05:00
Tim Donohue
4c3d374e9c Merge pull request #2794 from alexandrevryghem/fix-scope-issues-on-search-form_contribute-main
Added scope @Input() to the SearchComponent & fixed related bugs
2024-02-15 14:37:46 -06:00
Jean-François Morin
5f88a07673 Removed non-working tests 2024-02-15 15:34:02 -05:00
Alexandre Vryghem
e23c1f7b5d 110889: Replaced recently added component with search comcol section 2024-02-15 21:27:59 +01:00
Tim Donohue
5c3f51b9fb Merge pull request #2647 from mspalti/access-conditions
File edit component updated to work for forms without access conditions.
2024-02-15 14:00:28 -06:00
Alexandre Vryghem
bae48007b3 Merge remote-tracking branch 'alex/fix-scope-issues-on-search-form_contribute-7.6' into added-recently-added-section-to-community-page_contribute-7.6 2024-02-15 19:57:31 +01:00
Vlad Nouski
02baf86831 [CST-12044] removed aria hidden attribute 2024-02-15 17:32:46 +01:00
Tim Donohue
eb433c8727 Merge pull request #1638 from 4Science/CST-5249_suggestion
Openaire suggestions (publication claim)
2024-02-15 10:24:31 -06:00
FrancescoMolinaro
75f5462a5b [CST-5249] fix ssr rendering 2024-02-15 16:10:13 +01:00
jeffmorin
d686cb1909 Merge branch 'DSpace:main' into main 2024-02-15 09:00:53 -05:00
Tim Donohue
e1c639edcd Merge pull request #2719 from 4Science/main_CST-12825
ROR Integration - Identifier Visualization
2024-02-14 15:16:32 -06:00
Davide Negretti
523850bc45 [DURACOM-195] fixes 2024-02-14 12:05:55 +01:00
FrancescoMolinaro
2b3339748d fix conflicts with main 2024-02-14 11:20:09 +01:00
Andrea Barbasso
5ff253e581 remove mathjax (it uses the xmldom-sre library, that has a documentElement.setAttribute error) 2024-02-14 11:16:33 +01:00
FrancescoMolinaro
47f1b843e4 Merge branch 'main' into coar-notify-7 2024-02-14 11:14:14 +01:00
FrancescoMolinaro
f475a4f516 [CST-5249] fix deletion propagation 2024-02-14 11:08:06 +01:00
Andrea Barbasso
387f5ee26f update missing dependencies 2024-02-14 10:57:27 +01:00
Jens Vannerum
9767260b9a 111768: add back necessary setCurrentValue calls that were removed earlier 2024-02-14 10:41:24 +01:00
Francesco Molinaro
824cdfaf37 Merged in CST-13526-untrusted-ip-mapping (pull request #1312)
CST-13526 untrusted ip mapping

Approved-by: Stefano Maffei
2024-02-14 09:14:33 +00:00
Jens Vannerum
5c84ede728 Merge remote-tracking branch 'dspaceMain/main' into w2p-110088_keyboard-to-select-values 2024-02-14 09:42:54 +01:00
Davide Negretti
5b096deb36 Merge branch 'main' into DURACOM-195
# Conflicts:
#	src/app/shared/log-in/methods/password/log-in-password.component.html
2024-02-13 22:12:54 +01:00
Alexandre Vryghem
21cc311d2a Merge remote-tracking branch 'upstream/main' into feature-process_polling 2024-02-13 21:28:51 +01:00
Tim Donohue
c75e6e29e8 Merge pull request #2722 from alexandrevryghem/refactor-comcol-pages_contribute-main
Refactored community & collection pages
2024-02-13 14:22:20 -06:00
Tim Donohue
56b38f621e Merge pull request #2624 from 4Science/DURACOM-204
[#2622] Makes forgot-password link removable
2024-02-13 14:19:22 -06:00
Vincenzo Mecca
678d0896c5 [#2719][CST-12825] Refactors item-page-img-field component 2024-02-13 18:21:51 +01:00
Vincenzo Mecca
26bfc58278 [#2719][CST-12825] Refactors item-page-img-field component 2024-02-13 18:08:31 +01:00
Andrea Barbasso
53e8b69aab remove or update libraries 2024-02-13 16:59:22 +01:00
FrancescoMolinaro
5d85e511a1 [CST-5249] fix tests 2024-02-13 16:13:47 +01:00
Andrea Barbasso
bc29293411 change TransferState import 2024-02-13 14:14:34 +01:00
Andrea Barbasso
3794007e9e do not use componentFactories anymore 2024-02-13 14:10:54 +01:00
Vincenzo Mecca
0e4151efa8 [#2624][DURACOM-204] Created new guard for forgot route 2024-02-13 13:43:14 +01:00
FrancescoMolinaro
62dc53d006 Fix merge conflicts with main 2024-02-13 13:04:12 +01:00
FrancescoMolinaro
c09a6e819f Merge branch 'main' into coar-notify-7 2024-02-13 12:52:33 +01:00
FrancescoMolinaro
8dc7eeb242 [CST-5249] fix suggestion refresh after ignore 2024-02-13 12:37:29 +01:00
Art Lowel
cb6ed39219 ensure all subscriptions are tracked and cleaned up 2024-02-13 11:48:47 +01:00
Andrea Barbasso
6cdb3d1eb2 provide APP_ID instead of BrowserModule.withServerTransition, remove BrowserModule import 2024-02-13 11:21:04 +01:00
Vincenzo Mecca
ca3749be4a Merge remote-tracking branch 'github/main' into main_CST-12825
# Conflicts:
#	src/assets/i18n/en.json5
#	src/styles/_custom_variables.scss
2024-02-13 11:20:26 +01:00
Andrea Barbasso
4e6d90b501 import renderModule instead of renderModuleFactory 2024-02-13 11:18:17 +01:00
Vincenzo Mecca
5a970775ae [#2719][CST-12825] Extracts new image-page-field component with css variable 2024-02-13 11:16:54 +01:00
jeffmorin
16708d6bbb Merge branch 'DSpace:main' into main 2024-02-12 13:17:37 -05:00
Andrea Barbasso
2195ca415b update custom-webpack 2024-02-12 17:02:00 +01:00
Vincenzo Mecca
8f488220fb [#2719][CST-12825] Adds i18n missing keys 2024-02-12 16:56:06 +01:00
Andrea Barbasso
9b213b6381 run ng update @angular/core@16 @angular/cli@16 --force 2024-02-12 16:22:22 +01:00
Andrea Barbasso
a98039c687 update typescript 2024-02-12 16:09:43 +01:00
Alisa Ismailati
d72610f562 Merge branch 'main' into CST-12109-WITHDRAWN-REINSTATE-requests 2024-02-12 12:01:28 +01:00
Alexandre Vryghem
193d56d422 Merge branch 'refactor-comcol-pages_contribute-7.6' into refactor-comcol-pages_contribute-main 2024-02-09 23:25:49 +01:00
Tim Donohue
645024d6f0 Merge pull request #2339 from alexandrevryghem/generify-component-loaders_contribute-main
Created abstract component loader class
2024-02-09 15:13:39 -06:00
Tim Donohue
cb7c2c9f0b Merge pull request #2373 from alexandrevryghem/w2p-102415_Remote-lookup-entity-on-admin-edit_contribute-main
Added support to import from external source on Edit Item > Relationships
2024-02-09 12:16:53 -06:00
FrancescoMolinaro
c860faa452 Align translations 2024-02-09 13:37:13 +01:00
FrancescoMolinaro
3561063af7 Merge branch 'main' into coar-notify-7 2024-02-09 13:18:59 +01:00
FrancescoMolinaro
5b7ca7cfa5 CST-5249 fix lint 2024-02-09 09:32:03 +01:00
FrancescoMolinaro
0ee6ee8ea1 CST-5249 resolve conflicts 2024-02-09 09:24:58 +01:00
FrancescoMolinaro
f6eac0936b Merge branch 'main' into CST-5249_suggestion 2024-02-09 09:17:59 +01:00
Alexandre Vryghem
7f842f10a5 Merge branch 'w2p-102415_Remote-lookup-entity-on-admin-edit_contribute-7.4' into w2p-102415_Remote-lookup-entity-on-admin-edit_contribute-7.6
# Conflicts:
#	src/assets/i18n/en.json5
2024-02-08 18:15:14 +01:00
Alexandre Vryghem
bb5ee5f512 Merge branch 'w2p-102415_Remote-lookup-entity-on-admin-edit_contribute-7.2' into w2p-102415_Remote-lookup-entity-on-admin-edit_contribute-7.4 2024-02-08 18:14:38 +01:00
Alexandre Vryghem
f7dbdb37ea 102415: Added additional i18n keys for the relationship modal 2024-02-08 18:12:12 +01:00
Alexandre Vryghem
110633c692 Merge branch 'feature-process_polling-7.6' into feature-process_polling 2024-02-08 16:24:22 +01:00
Alexandre Vryghem
ecb20bbcbf 108915: Fixed Proxy Timout error when retrieving a non-existing process 2024-02-08 16:16:06 +01:00
Alexandre Vryghem
252b3673ee 108915: Fixed issue that redirected you to 404 page when deleting the process on the process page 2024-02-08 16:14:38 +01:00
Andreas Awouters
4e195b61b6 111638: Fix table collapsing when it has no processes 2024-02-08 13:31:13 +01:00
Andreas Awouters
c5b5a3b18b 111638: Remove 'container' class from processes table 2024-02-08 13:31:06 +01:00
Andreas Awouters
024fd17244 111638: Fix table collapsing when it has no processes 2024-02-08 13:28:04 +01:00
Andreas Awouters
244a7db868 111638: Remove 'container' class from processes table 2024-02-08 13:22:59 +01:00
Tim Donohue
44e84f8912 Merge pull request #2705 from ilri/i18n-fixes
Minor updates to i18n strings for clarity and consistency
2024-02-07 11:22:48 -06:00
Tim Donohue
a8000937bc Merge pull request #2766 from amgciadev/fix-2765-b
Fix missing Register DOI button if configuration enabled
2024-02-07 10:57:04 -06:00
Tim Donohue
e35fed1be4 Merge pull request #2799 from DSpace/dependabot/npm_and_yarn/follow-redirects-1.15.5
Bump follow-redirects from 1.15.3 to 1.15.5
2024-02-07 10:34:08 -06:00
Andreas Awouters
27d05aea95 Merge branch 'w2p-111638_Process-admin-UI-redesign_Overview-page-tables_PR-feedback' into process-admin-ui-redesign-8.0.0-next 2024-02-07 11:18:28 +01:00
Vlad Nouski
c596b6c7ec [CST-12044] refactor: code 2024-02-07 08:31:06 +01:00
Alexandre Vryghem
6e29f306a7 108588: Fixed browse by date tab's year dropdown always being empty
- The data passed to the injector in BrowseByComponent was not updated by ngOnChanges
- Also refactored the injector logic to StartsWithLoaderComponent
2024-02-07 00:44:18 +01:00
Alexandre Vryghem
6f51bd866c 108588: Fixed browse by issue date show loading icon indefinitely when empty 2024-02-07 00:44:18 +01:00
Alexandre Vryghem
b240b2c160 108588: Fixed scope not being set when browsing by taxonomy on community/collection pages 2024-02-07 00:44:18 +01:00
Alexandre Vryghem
ca5fc8217e 108588: Fix header ordering issues on community & collection pages 2024-02-07 00:44:18 +01:00
Alexandre Vryghem
d95f9d0140 108588: Passed the scope to the browse sections 2024-02-07 00:44:18 +01:00
Alexandre Vryghem
d9759d1136 108588: Renamed components, because now these aren't page components anymore 2024-02-07 00:44:17 +01:00
Alexandre Vryghem
fb2c7cee9d 108588: Created separate section for communities & collections browse sections 2024-02-07 00:44:17 +01:00
Alexandre Vryghem
a695784fc8 108588: Removed the community & collection parts from the browse sections 2024-02-07 00:44:17 +01:00
Alexandre Vryghem
12478cf7e2 108588: Updated browse by switcher to work more like the new AbstractLoaderComponent 2024-02-07 00:44:17 +01:00
Alexandre Vryghem
15342b3903 108588: Updated CollectionPageRoutingModule to use custom sections 2024-02-07 00:44:17 +01:00
Alexandre Vryghem
e66a14cffd 108588: Fixed accessibility issues on ds-comcol-page-browse-by 2024-02-07 00:44:17 +01:00
Alexandre Vryghem
2c543ad570 108588: Updated CommunityPageRoutingModule to use custom sections 2024-02-07 00:22:14 +01:00
Alexandre Vryghem
bb0b66f927 108588: Moved sub communities & collections from community page to new component 2024-02-07 00:22:14 +01:00
Alexandre Vryghem
0483612819 108588: Moved CommunityPageSubCommunityListComponent & CommunityPageSubCollectionListComponent to a custom sections folder 2024-02-07 00:22:14 +01:00
Kim Shepherd
68475d1ed6 Improve cfg handling in item-status.component.ts 2024-02-07 12:09:16 +13:00
Kim Shepherd
3e33785311 Improve cfg handling in item-status.component.ts 2024-02-07 11:55:44 +13:00
Alexandre Vryghem
4602cdde1a Merge branch 'memory-leak-fixes_contribute-7.6' into generify-component-loaders_contribute-main 2024-02-06 23:33:49 +01:00
dependabot[bot]
90a277fbeb Bump follow-redirects from 1.15.3 to 1.15.5
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.5.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.5)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-06 22:29:37 +00:00
Tim Donohue
0d09bbe853 Merge pull request #2795 from saschaszott/patch-16
fix German translation of admin.workflow.item.workflow
2024-02-06 16:02:56 -06:00
Alexandre Vryghem
82d4ccfb29 Merge branch 'generify-component-loaders_contribute-7.6' into generify-component-loaders_contribute-main 2024-02-06 22:37:16 +01:00
Alexandre Vryghem
2fb393db7f Removed the AbstractBrowseByTypeComponent 2024-02-06 21:45:22 +01:00
Vlad Nouski
18e62f4706 [CST-12044] fix accept/reject the license bug 2024-02-06 14:57:03 +01:00
Andreas Awouters
4651d3a0d0 111638: Fix typeError when useAutoRefreshing is set to false 2024-02-06 14:21:40 +01:00
Andreas Awouters
ca18d5ff90 111638: Highlight newly created processes 2024-02-06 14:21:40 +01:00
Andreas Awouters
4da63cc30e 111638: Serialize processId as string to match type
processId was originally of type 'number' even though it has 'string'
as type annotation. With this change it actually is a string.
2024-02-06 14:21:40 +01:00
Andreas Awouters
8d473eaead 111638: Show process ID instead of status 2024-02-06 14:21:40 +01:00
Andreas Awouters
14294e20ee 111638: Disable autorefreshing on non-browser platforms 2024-02-06 14:21:40 +01:00
Andreas Awouters
545b17fc9e 111638: Clean up process-overview component
Removed all unused code & reduced the tests to the minimum necessary
without removing testcases.
2024-02-06 14:21:40 +01:00
Andreas Awouters
8e11777e5b 111638: Change completed processes header to 'Succeeded processes' 2024-02-06 14:21:40 +01:00
Andreas Awouters
4af303d0f2 111638: Use hasValue instead of nullCheck 2024-02-06 14:21:40 +01:00
Andreas Awouters
72c04cfc77 111638: Sort processes with creationTime as default field 2024-02-06 14:21:40 +01:00
Andreas Awouters
5569d7fd32 111638: Use creation time for scheduled processes 2024-02-06 14:21:40 +01:00
Andreas Awouters
d64f521f0c 111638: Add creationTime to process model 2024-02-06 14:21:40 +01:00
Andreas Awouters
e96a7582f4 111638: Duplicate buttons at bottom of page 2024-02-06 14:21:40 +01:00
Andreas Awouters
e25ce44a47 111638: Collapse table when it contains no processes 2024-02-06 14:21:40 +01:00
Vlad Nouski
b86525990d [CST-12044] refactor: code 2024-02-06 13:23:02 +01:00
Alisa Ismailati
f916bd7776 [CST-12109] fixes 2024-02-05 19:37:08 +01:00
Tim Donohue
c67e90b808 Merge pull request #2791 from tdonohue/fix_docker_issues
Fix issue with cli.yml not using same network as backend.
2024-02-05 11:12:43 -06:00
FrancescoMolinaro
71e3d40c79 fix breadcrumb test 2024-02-05 17:49:49 +01:00
FrancescoMolinaro
044ec06cb1 update breadcrumb label 2024-02-05 16:53:21 +01:00
Tim Donohue
be0a6c71ef Resync docker-compose-ci and docker/docker-compose-rest with DSpace/DSpace docker scripts 2024-02-05 08:52:46 -06:00
Tim Donohue
9043f63cd2 Bug fix to GitHub CI build. Set compose project name via env variable. Also add default name if unspecified 2024-02-05 08:50:43 -06:00
FrancescoMolinaro
47c3d3cf66 CST-13526 update filter label 2024-02-05 15:43:47 +01:00
Andreas Awouters
1c73a0c509 111638: Improve accessibility 2024-02-05 15:10:53 +01:00
FrancescoMolinaro
020103fbd7 Merge branch 'coar-notify-7-part-two' into CST-13526-untrusted-ip-mapping 2024-02-05 15:04:32 +01:00
FrancescoMolinaro
c2a29924ff CST-13526 update status mapping 2024-02-05 15:04:00 +01:00
FrancescoMolinaro
06cc944f2b fix test 2024-02-05 13:00:08 +01:00
FrancescoMolinaro
937687c414 fix routing, update issue, adapt labels 2024-02-05 12:48:23 +01:00
Sascha Szott
ac5670a514 remove translation (use singular form instead of plural form) 2024-02-05 12:06:11 +01:00
Alexandre Vryghem
239f082cce Moved the context @Input() to the loaders (since they are not always required for all the loaders) & added AbstractComponentLoaderComponent documentation 2024-02-03 19:10:46 +01:00
Alexandre Vryghem
2433082ea7 Merge remote-tracking branch 'upstream/main' into fix-scope-issues-on-search-form_contribute-main
# Conflicts:
#	src/app/shared/search/themed-search.component.ts
2024-02-03 15:23:15 +01:00
Alexandre Vryghem
93b22cba1f 111639: Fixed search settings not using the scope 2024-02-03 14:51:35 +01:00
Alexandre Vryghem
22e87a5f5a 111639: Added scope @Input() and made the search facets & search results use that scope 2024-02-03 14:51:34 +01:00
Tim Donohue
2c2f59c7ef Update cli.yml to reference dspacenet in docker-compose-rest. Remove unnecessary network from cli.assetstore.yml 2024-02-02 14:27:33 -06:00
Davide Negretti
46fe7f63e3 [DURACOM-195] fix prefix of custom CSS variables 2024-02-02 14:01:42 +01:00
Davide Negretti
87d3383bba [DURACOM-195] misc fixes 2024-02-02 14:01:42 +01:00
Vincenzo Mecca
833033dac0 Merge branch 'main' into DURACOM-204
# Conflicts:
#	src/app/core/data/feature-authorization/feature-id.ts
2024-02-02 11:26:26 +01:00
Davide Negretti
6d82c77c00 Merge branch 'main' into DURACOM-195 2024-02-02 10:41:47 +01:00
Andrea Barbasso
9ead6f5b33 [DURACOM-191] fix missing imports 2024-02-02 10:12:29 +01:00
Alan Orth
5a42f391cf Merge pull request #2778 from TAMULib/dedupe-patch-operations
Dedupe patch operations by op and path
2024-02-01 22:00:35 +03:00
Andrea Barbasso
16bd9b17ac [DURACOM-191] fix tests 2024-02-01 17:52:19 +01:00
Andrea Barbasso
dc8d3ace09 Merge branch 'main' into DURACOM-191
# Conflicts:
#	src/app/community-list-page/community-list/community-list.component.ts
#	src/app/entity-groups/research-entities/submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component.spec.ts
#	src/app/forgot-password/forgot-password-form/forgot-password-form.component.spec.ts
2024-02-01 17:27:00 +01:00
FrancescoMolinaro
2da613bff1 clean up 2024-02-01 11:31:26 +01:00
Tim Donohue
85369aac10 Merge pull request #2717 from alexandrevryghem/fix-accessibility-issues_contribute-main
Fix accessibility issues (part 2)
2024-01-31 09:34:58 -06:00
Alexandre Vryghem
6497a156aa Destroy dynamically generated components in onDestroy & replace deprecated createComponent 2024-01-31 00:06:44 +01:00
Alexandre Vryghem
ca24713d6d Fixed dropdown accessibility issue
- Removed non-existing dropdownMenuButton references
- Added appropriate roles to dropdown menus
2024-01-30 23:24:29 +01:00
Alexandre Vryghem
9e29cfb68d Fixed user authentication/registration accessibility issue
- Added the correct autocomplete value
- Removed dangling labels, because aria labels already describe those input fields & we can't use ids in this component because otherwise there are duplicate ids on the /login page
2024-01-30 23:24:29 +01:00
Alexandre Vryghem
e36bf645f4 Fixed edit metadata page accessibility issue
- Hide fontawesome icons for screen readers
- Added missing aria-label to metadata field input
2024-01-30 23:24:29 +01:00
Alexandre Vryghem
8ad1b4b0d4 Fixed feedback form page accessibility issue
- The form used a fieldset tag instead of a form tag
2024-01-30 23:24:28 +01:00
Alexandre Vryghem
7f0264ed1c Fixed remaining community/collection page accessibility issues
- Hide fontawesome icons for screen readers
- Replaced dangling labels with spans and added more descriptive aria label to browse link
- Fixed empty label/missing header in edit resource policy table
- Added missing comcol logo al text
- Refactored dso-edit-menu-section to not display empty link buttons and duplicate titles
2024-01-30 23:24:28 +01:00
Alexandre Vryghem
07e89acab5 Fixed accessibility issues on AccessControlFormContainerComponent
- Replaced invisible label in AccessControlArrayFormComponent that was only used for styling with span
- Fixed radio buttons not being part of a fieldset
- Fixed empty table header
2024-01-30 23:24:28 +01:00
Alexandre Vryghem
c30a2eea45 Fixed accessibility issues on BitstreamFormatsComponent
- Removed empty label of the select box and replaced it with an aria-label
- Fixed empty table header
2024-01-30 23:24:28 +01:00
Alexandre Vryghem
54ef97d607 Fixed accessibility issues on MetadataRegistryComponent
- Removed empty label of the select box and replaced it with an aria-label
- Fixed empty table header
2024-01-30 23:24:28 +01:00
Alexandre Vryghem
8ab4f1c074 Fixed accessibility issues on MetadataSchemaComponent
- Removed empty label of the select box and replaced it with an aria-label
- Fixed empty table header
2024-01-30 23:24:28 +01:00
Alexandre Vryghem
1989a6c042 Fixed accessibility issues with pagination button
- Replaced the h6 tags with the role heading
- Gave the gear button the roles in order to be detected as an expandable menu
- Replaced the dropdown structure to render a menu of listboxes
- Added the aria-selected attribute
2024-01-30 23:24:27 +01:00
Stefano Maffei
47e6bc8070 [CST-13444] configured label for date facet for LDN Message Entity 2024-01-30 18:27:57 +01:00
Andreas Awouters
87bb3cae30 Merge remote-tracking branch 'dspace/main' into process-admin-ui-redesign-8.0.0-next 2024-01-29 11:19:42 +01:00
Andreas Awouters
5d00c6bae2 107873: Add number of processes badge 2024-01-29 11:05:05 +01:00
Andreas Awouters
e8ed533874 107873: Remove pagination gear 2024-01-29 11:04:55 +01:00
Andreas Awouters
21f1beb8e9 107873: Set process overview table column widths 2024-01-29 11:04:47 +01:00
Andreas Awouters
73e823e969 107873: Add number of processes badge 2024-01-29 10:57:41 +01:00
Francesco Molinaro
7b42d41580 Merged in CST-13397-fix-ssr-issue (pull request #1285)
fix ssr issue

Approved-by: Stefano Maffei
2024-01-29 08:40:57 +00:00
Andreas Awouters
536c02a078 107873: Remove pagination gear 2024-01-29 09:12:50 +01:00
Andreas Awouters
2ad97d2845 107873: Set process overview table column widths 2024-01-29 09:08:46 +01:00
William Welling
f40639de86 Dedupe patch operations by op and path 2024-01-26 16:01:01 -06:00
William Welling
018d44c616 NgbTypeahead instance is only defined when model has authority 2024-01-26 15:50:41 -06:00
FrancescoMolinaro
2f943bbb72 fix ssr issue 2024-01-26 18:39:39 +01:00
Stefano Maffei
8d49fe6266 Merge remote-tracking branch 'origin/coar-notify-7' into coar-notify-7-part-two 2024-01-26 16:41:07 +01:00
Francesco Molinaro
5bf9cead0d Merged in CST-13401-coar-metadata (pull request #1280)
CST-13401 add missing metadata

Approved-by: Stefano Maffei
2024-01-26 15:36:20 +00:00
Francesco Molinaro
58da92d2a2 Merged in CST-13405-ui-fine-tuning-part-1 (pull request #1281)
CST-13405 fix QA breadcrumbs, ldn iprange hint

Approved-by: Stefano Maffei
2024-01-26 15:35:11 +00:00
Francesco Molinaro
4ff0c7920d Merged in CST-13397-ui-fine-tuning-part-2 (pull request #1282)
CST-13397 - fine tune UI

Approved-by: Stefano Maffei
2024-01-26 15:32:17 +00:00
FrancescoMolinaro
9b045070c8 CST-13397 - fine tune UI 2024-01-26 16:19:10 +01:00
FrancescoMolinaro
e0a30bd86a CST-13405 fix QA breadcrumbs, ldn iprange hint 2024-01-26 15:54:37 +01:00
FrancescoMolinaro
db0c82b9b2 CST-13401 add missing metadata 2024-01-26 15:18:32 +01:00
Francesco Molinaro
a27e55ec6b Merged in CST-13383-breadcrumb-bug (pull request #1277)
CST-13383 breadcrumb bug

Approved-by: Stefano Maffei
2024-01-26 13:31:26 +00:00
FrancescoMolinaro
9056e9830d fix issue with breadcrumb 2024-01-26 13:42:58 +01:00
FrancescoMolinaro
b8555f53c3 add commented example 2024-01-26 11:53:56 +01:00
FrancescoMolinaro
dfaaf298b1 refactor, adapt breadcrumbs for non admin users, fix translations 2024-01-26 11:47:18 +01:00
Tim Donohue
5b9a98adc1 Merge pull request #2755 from 4Science/DURACOM-223
Add logo max constraints
2024-01-25 15:07:54 -06:00
FrancescoMolinaro
80174817fd add breadcrumbs, adapt tests, fix issue on page loading 2024-01-25 19:32:12 +01:00
Tim Donohue
38ae9ce0e0 Merge pull request #2769 from saschaszott/patch-12
fixed typo in info.feedback.page_help
2024-01-25 10:25:33 -06:00
Sascha Szott
e03b492dbd minor improvement of German translation 2024-01-25 16:51:25 +01:00
Sascha Szott
26ebc9f8fc added german translations of feedback page translation keys 2024-01-25 16:42:36 +01:00
Sascha Szott
4b7798fcc7 fixed typo 2024-01-25 16:10:00 +01:00
FrancescoMolinaro
0caacd98da small clean up 2024-01-25 15:26:44 +01:00
Art Lowel
db813621f1 Merge branch 'w2p-107873_Process-admin-UI-redesign-01-Overview-page-tables' into process-admin-ui-redesign-8.0.0-next 2024-01-25 14:19:19 +01:00
Art Lowel
ba31670db7 style tweaks 2024-01-25 14:18:48 +01:00
FrancescoMolinaro
604d355902 update labels 2024-01-25 13:59:17 +01:00
FrancescoMolinaro
e77343604e refactor and add tests 2024-01-25 13:50:23 +01:00
FrancescoMolinaro
4cca9015a1 remove unused imports 2024-01-25 13:23:01 +01:00
FrancescoMolinaro
d4bf3a519a refactor, clean up 2024-01-25 13:22:17 +01:00
FrancescoMolinaro
66cd035f87 refactor, fix tests 2024-01-25 11:50:02 +01:00
FrancescoMolinaro
f82ba8c5ad add width 100% to prevent overflow on mobile 2024-01-25 09:00:05 +01:00
frabacche
afa6559b19 CST-5249_suggestion refactor deleting 'reciter', docs 2024-01-24 18:32:21 +01:00
Davide Negretti
80cc4c5d9a [DURACOM-195] fix comment 2024-01-24 18:23:14 +01:00
Andreas Awouters
5857a8d972 Fix Processes Overview accessibility issues
See commit 4ea487cc0d
2024-01-24 15:36:57 +01:00
Andreas Awouters
a2f5f8291c Merge remote-tracking branch 'dspace/main' into process-admin-ui-redesign-8.0.0-next 2024-01-24 15:25:45 +01:00
Andreas Awouters
151bac5d3a Merge remote-tracking branch 'atmire/feature-process_polling' into process-admin-ui-redesign-8.0.0-next 2024-01-24 15:25:27 +01:00
Andrea Barbasso
4ecfdf2b79 [DURACOM-191] fix missing imports and providers 2024-01-24 14:26:31 +01:00
Andrea Barbasso
1afec99f91 Merge branch 'main' into DURACOM-191
# Conflicts:
#	src/app/shared/confirmation-modal/confirmation-modal.component.ts
#	src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts
#	src/app/shared/dso-selector/modal-wrappers/export-metadata-selector/export-metadata-selector.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.ts
2024-01-24 11:45:45 +01:00
Alisa Ismailati
1b5007aae0 [CST-12109] display user's email info on topic list 2024-01-24 10:12:47 +01:00
Andreas Awouters
6b36f0e03f 107873: Fix ProcessOverviewTableComponent tests 2024-01-24 08:54:55 +01:00
Andreas Awouters
d5ac25a1a5 107873: Fix ProcessOverviewService doc comment 2024-01-24 08:54:55 +01:00
Andreas Awouters
41bbf81f18 107873: Precompute process info for display in table 2024-01-24 08:54:55 +01:00
Agustina Martinez
e77898eaac Update item-status.component.ts
Fix initialOperations typo and return ops with register doi op
2024-01-23 21:47:29 +00:00
Alisa Ismailati
ac6c890d78 [CST-12109] tests & translations 2024-01-23 17:51:12 +01:00
frabacche
2bb421c7cf CST-5249_suggestion community first code review 2024-01-23 17:44:49 +01:00
frabacche
956d661e62 Merge remote-tracking branch 'origin/main' into CST-5249_suggestion 2024-01-23 15:01:00 +01:00
Alisa Ismailati
2f43bb71a0 [CST-12109] small fixes 2024-01-23 14:53:41 +01:00
frabacche
1a4536ebb9 Merge branch 'CST-5249_suggestion' of github.com:4Science/dspace-angular into CST-5249_suggestion 2024-01-23 14:31:51 +01:00
frabacche
4dedda3f9f CST-5249_suggestion refactor label name openaire 2024-01-23 14:30:07 +01:00
Alisa Ismailati
8cc45e8cbe [CST-12109] request reinstate for normal users 2024-01-23 12:59:47 +01:00
Andrea Barbasso
b53f5a1ea2 [DURACOM-191] fix edit item relationships 2024-01-23 12:21:50 +01:00
FrancescoMolinaro
d9e25882ce remove class from template 2024-01-23 09:17:18 +01:00
FrancescoMolinaro
d3c788a4e1 adapt solution to prevent img overflow 2024-01-23 09:16:06 +01:00
Jens Vannerum
c02b46ca7d 110088: new implementation for keyboard support in dropdowns 2024-01-23 11:15:40 +03:00
Andreas Awouters
f784523d61 107873: Add small margins so buttons don't stick to next component 2024-01-23 08:49:03 +01:00
Andreas Awouters
907f2e83e6 107873: Shorten paginationId
I chose 2 characters instead of one in case a 'SUCCEEDED' process status
is added in the future. 'SUCCEEDED' could encompass both 'COMPLETED' and
'FAILED' processes, but it's paginationId would clash with 'SCHEDULED'
(both start with 's'). By choosing the first 2 characters of the status,
this clash does not occur (ids would be 'sc' and 'su').
2024-01-23 08:22:22 +01:00
Andreas Awouters
492f4c22fc 107873: Add redirect on 4xx 2024-01-23 08:17:03 +01:00
Davide Negretti
f25ec6210b [DURACOM-195] fix issue with event handling in expandable admin sidebar section 2024-01-23 00:08:57 +01:00
Alisa Ismailati
ad5e3af141 [CST-12109] "refresh" page refactor 2024-01-22 16:59:10 +01:00
Jens Vannerum
05eb21250e 110088: changes to keyboard navigation / selection 2024-01-22 15:06:57 +01:00
Andrea Barbasso
2a5fd4e3a2 [DURACOM-191] fix tests after merge 2024-01-22 11:01:49 +01:00
Andrea Barbasso
c3b31f0144 [DURACOM-191] fix missing import after merge 2024-01-22 09:47:53 +01:00
FrancescoMolinaro
e4eb8b5a63 add tests 2024-01-20 13:36:24 +01:00
FrancescoMolinaro
b77aa2d9d8 add tests 2024-01-20 11:24:42 +01:00
Tim Donohue
eee7267669 Merge pull request #2338 from alexandrevryghem/improve-confirmation-modal_contribute-main
Made ConfirmationModalComponent more generic
2024-01-19 16:32:27 -06:00
Andrea Barbasso
3eb91a0aab Merge branch 'main' into DURACOM-191
# Conflicts:
#	src/app/shared/form/number-picker/number-picker.component.spec.ts
#	src/app/shared/form/number-picker/number-picker.component.ts
2024-01-19 19:05:23 +01:00
Andrea Barbasso
4322bca859 [DURACOM-191] add deprecated comment 2024-01-19 18:54:43 +01:00
FrancescoMolinaro
d497689317 add role to not semantic tag with aria-label (span) 2024-01-19 18:45:53 +01:00
Andrea Barbasso
107e960a9f Merge remote-tracking branch 'github/DURACOM-191' into DURACOM-191 2024-01-19 18:00:15 +01:00
Giuseppe Digilio
4716a3c492 [DURACOM-191] fix unit test with missing providers 2024-01-19 17:59:49 +01:00
Andrea Barbasso
47a257e7a0 [DURACOM-191] add deprecated in jsdocs for decorators 2024-01-19 17:56:24 +01:00
Andrea Barbasso
d63caf5242 Merge branch 'main' into DURACOM-191
# Conflicts:
#	src/app/access-control/group-registry/group-form/members-list/members-list.component.ts
#	src/app/core/eperson/eperson-data.service.ts
2024-01-19 16:47:40 +01:00
Davide Negretti
45e4335437 Merge branch 'main' into DURACOM-195
# Conflicts:
#	src/app/shared/auth-nav-menu/auth-nav-menu.component.scss
2024-01-19 16:30:49 +01:00
Tim Donohue
a59f371ecf Merge pull request #2691 from misilot/fix-2690
Decrease min-height for Login Dropdown Menu
2024-01-19 09:22:36 -06:00
Tim Donohue
6536fbff62 Merge pull request #2736 from saschaszott/patch-11
use localized error message
2024-01-19 09:21:26 -06:00
FrancescoMolinaro
1600bd5af2 add tests 2024-01-19 15:48:40 +01:00
Andrea Barbasso
31f89e8cb9 [DURACOM-191] fix errors 2024-01-19 14:30:45 +01:00
Andrea Barbasso
59e9e0fe62 Merge remote-tracking branch 'github/DURACOM-191' into DURACOM-191 2024-01-19 14:20:10 +01:00
Giuseppe Digilio
cfe802096c [DURACOM-191] fix circular dependencies 2024-01-19 13:11:49 +01:00
Andrea Barbasso
8e3a145bf8 Merge remote-tracking branch 'github/DURACOM-191' into DURACOM-191 2024-01-19 12:25:17 +01:00
Andrea Barbasso
891f18d96d [DURACOM-191] remove leftover provide files, use exported consts instead 2024-01-19 12:24:27 +01:00
Giuseppe Digilio
8861a21a2a [DURACOM-191] fix circular dependencies 2024-01-19 12:21:26 +01:00
FrancescoMolinaro
32e3141b19 add logo max costraints 2024-01-19 08:57:12 +01:00
Alan Orth
477ea93fd1 Merge pull request #2721 from alanorth/fix-community-cdk-tree-links
Fix whitespace in links due to newlines
2024-01-19 08:13:42 +03:00
Davide Negretti
8f73b8ff9d [DURACOM-195] accessibility issue fixed on log-out button 2024-01-18 21:07:52 +01:00
Giuseppe Digilio
171e0e3dc9 [DURACOM-191] fix circular dependencies 2024-01-18 19:13:43 +01:00
Alisa Ismailati
e4858f2239 [CST-12109] fixes 2024-01-18 18:48:31 +01:00
Alisa Ismailati
415bdeabc1 cherry-picked "[CST-12145] get qa-sources by target for item-page & refactor" into [CST-12109] 2024-01-18 17:35:59 +01:00
FrancescoMolinaro
5dcd52da26 fix tests 2024-01-18 17:35:42 +01:00
Alisa Ismailati
80a0cd40cb [CST-12109] "refresh" page on item withdrawn from details page 2024-01-18 17:27:13 +01:00
Andrea Barbasso
bb64be3a2b [DURACOM-191] remove provide-render-auth-method, use exported const instead 2024-01-18 15:53:31 +01:00
Andrea Barbasso
e287e25906 [DURACOM-191] add withEntryComponents() to listable.module.ts 2024-01-18 15:26:59 +01:00
Andrea Barbasso
25381697e0 [DURACOM-191] remove provide-render-browse-by, use exported const instead 2024-01-18 15:18:18 +01:00
Alisa Ismailati
a4b0c5a13d cherry-picked "[CST-12791] changed the route for suggestions to be be accessible to any logged in user" to CST-12109 2024-01-18 12:46:49 +01:00
Andrea Barbasso
93853ba542 [DURACOM-191] fix missing listable components 2024-01-18 11:10:19 +01:00
FrancescoMolinaro
532e529201 resolve conflict on missing IpV4Validator 2024-01-18 10:33:11 +01:00
FrancescoMolinaro
c2f44c33f3 resolve conflict on missing IpV4Validator 2024-01-18 10:28:05 +01:00
FrancescoMolinaro
f83d75fb41 Merge branch 'coar-notify-7' into coar-notify-7-part-two 2024-01-18 10:27:35 +01:00
Stefano Maffei
abfdaa0690 Merge remote-tracking branch 'origin/CST-13316-improvments-part-two' into coar-notify-7-part-two 2024-01-18 09:31:00 +01:00
Stefano Maffei
a1ad620a04 [CST-13316] added missing labels and fixed typo 2024-01-18 09:30:41 +01:00
Andrea Barbasso
4d23626aed [DURACOM-191] fix lint 2024-01-18 09:08:32 +01:00
Andrea Barbasso
579bedc352 [DURACOM-191] fix tests 2024-01-18 08:44:08 +01:00
Alexandre Vryghem
b8e0401388 Fix header ordering 2024-01-17 23:26:11 +01:00
Alexandre Vryghem
d876fadd2a Fixed accessibility issues on SubmissionImportExternalSearchbarComponent
- Fixed input not describing itself
- Put the items from the dropdown in an ul
- Fixed broken aria labels
- Removed titles who where identical to the displayed value
2024-01-17 23:26:11 +01:00
Alexandre Vryghem
3c1243f6f1 Fixed search filters having empty input buttons 2024-01-17 23:26:11 +01:00
Alexandre Vryghem
086c5463a8 Removed invisible buttons on the CommunityListComponent & fixed content displacement when expanding com/col 2024-01-17 23:26:10 +01:00
Alexandre Vryghem
2f5370a085 Fixed accessibility issues related to dso selectors
- Fixed header ordering
- Fixed input field not having a description what it does (because the header isn't always shown I decided to use aria-labels instead of regular labels)
2024-01-17 23:26:10 +01:00
Davide Negretti
6dec34cb00 Merge branch 'main' into DURACOM-195
# Conflicts:
#	cypress/e2e/collection-statistics.cy.ts
#	cypress/e2e/community-statistics.cy.ts
#	cypress/e2e/item-statistics.cy.ts
2024-01-17 22:24:06 +01:00
Tim Donohue
1c782b2656 Merge pull request #2711 from tdonohue/add_accessibility_tests
Add more automated accessibility scanning to e2e tests & fix a few minor accessibility bugs
2024-01-17 13:37:49 -06:00
Giuseppe Digilio
65e5ec801f [DURACOM-191] fix tests 2024-01-17 20:22:08 +01:00
Tim Donohue
a5a89a4b98 Add environment variable for Person collection name. Use it in submission e2e tests. 2024-01-17 12:05:00 -06:00
Giuseppe Digilio
f0b094e609 [DURACOM-191] fix lint errors 2024-01-17 19:04:29 +01:00
Tim Donohue
0aaf3131fa Move increment/decrement to i18n. Update to use "name". 2024-01-17 11:49:00 -06:00
Alisa Ismailati
805e98b837 [CST-12109] fixed failing unit tests after merge 2024-01-17 18:39:54 +01:00
FrancescoMolinaro
f6851fa132 finalize UI improvements 2024-01-17 18:18:40 +01:00
Tim Donohue
31bc05235e Add accessibility testing for admin sidebar 2024-01-17 11:16:54 -06:00
Tim Donohue
80492cd88a Add Item Edit accessibility tests. Switch Item to use to one with bitstreams. Minor updates to HTML to pass accessibility tests. 2024-01-17 11:16:54 -06:00
Tim Donohue
00cb2f9e8a Add accessibility tests (and minor fixes) for Edit Collection's Content Source tab and Item Mapper tab 2024-01-17 11:16:54 -06:00
Tim Donohue
9894d315a0 Add Edit Collection accessibility Testing 2024-01-17 11:16:54 -06:00
Tim Donohue
6c76d8c1d7 Add Edit Community accessibility tests & minor cleanup 2024-01-17 11:16:54 -06:00
Tim Donohue
e47593b303 Fix circular dependency issue by using Cypres env variables directly instead of global constants 2024-01-17 11:16:54 -06:00
Tim Donohue
8d61fa6ac3 Improve accessibility testing on Submission page 2024-01-17 11:16:54 -06:00
Tim Donohue
a581219df5 Refactor e2e test infrastruction to allow easier way to lookup REST API info and generate CSRF tokens 2024-01-17 11:16:54 -06:00
Tim Donohue
5dad8bec39 Fix ARIA labels and tabindex on date picker in submission form. Tabindex is unnecessary & throws accessibility errors from AXE tools 2024-01-17 11:16:53 -06:00
Tim Donohue
aeea1cd592 Fix ARIA labels on submission form relationship button and dynamic dropdowns 2024-01-17 11:16:53 -06:00
Tim Donohue
53d521a87e Add new e2e accessibility tests & update some existing ones 2024-01-17 11:16:53 -06:00
Andrea Barbasso
a348be5d8c [DURACOM-191] fix tests of non-standalone components 2024-01-17 17:59:48 +01:00
Francesco Molinaro
034beb2a0b Merged in CST-13315-improvements-part-1 (pull request #1240)
improve ldn form template

Approved-by: Stefano Maffei
2024-01-17 16:19:08 +00:00
FrancescoMolinaro
9ee2ecf718 fix style 2024-01-17 17:16:38 +01:00
FrancescoMolinaro
b870d538f7 add dashboard description 2024-01-17 17:05:27 +01:00
FrancescoMolinaro
25890248ad remove pointless double negation 2024-01-17 17:00:25 +01:00
FrancescoMolinaro
37edb06352 restore ip section 2024-01-17 16:58:42 +01:00
FrancescoMolinaro
890b333265 Merge branch 'coar-notify-7' into CST-13315-improvements-part-1 2024-01-17 16:47:28 +01:00
FrancescoMolinaro
1a65b56c2b configure menu section, reprocess button condition 2024-01-17 16:42:06 +01:00
Francesco Molinaro
ae8e9fbfe2 Merged in CST-12867-ip-range-for-ldn-service (pull request #1239)
CST-12867 ip range for ldn service

Approved-by: Stefano Maffei
2024-01-17 15:30:35 +00:00
FrancescoMolinaro
8c100682cf improve ldn form template 2024-01-17 16:22:38 +01:00
Alisa Ismailati
3ecc1ca68b Merge branch 'main' into CST-12109-WITHDRAWN-REINSTATE-requests 2024-01-17 16:02:21 +01:00
frabacche
a878696493 CST-12820 QAEvent Service Name: to Service URL 2024-01-17 15:59:53 +01:00
FrancescoMolinaro
7ad2e1ea52 fix tests 2024-01-17 15:50:13 +01:00
Andrea Barbasso
d6bf788ad3 [DURACOM-191] delete provide-listable-objects.ts 2024-01-17 15:39:43 +01:00
Andrea Barbasso
bf6b30364f [DURACOM-191] create listable.module 2024-01-17 15:26:25 +01:00
Stefano Maffei
9e9b4cae15 Merge branch 'coar-notify-7' into coar-notify-7-part-two 2024-01-17 14:41:07 +01:00
Francesco Molinaro
6069eaea0a Merged in CST-13289-notify-ui-improvements (pull request #1222)
CST-13289 notify ui improvements

Approved-by: Stefano Maffei
2024-01-17 13:30:10 +00:00
Davide Negretti
6dee989609 Merge remote-tracking branch 'GitHub_DSpace/main' into DURACOM-195
# Conflicts:
#	src/styles/_bootstrap_variables.scss
#	src/styles/_custom_variables.scss
#	src/themes/dspace/styles/_theme_sass_variable_overrides.scss
2024-01-17 12:55:27 +01:00
Andrea Barbasso
89705d8afe [DURACOM-191] fix menu item map 2024-01-17 10:09:01 +01:00
Andrea Barbasso
b61720cff7 [DURACOM-191] fix section map 2024-01-17 09:56:02 +01:00
frabacche
aa825af5f1 Merge branch 'coar-notify-7-part-two' of bitbucket.org:4Science/dspace-angular into coar-notify-7-part-two 2024-01-17 09:00:10 +01:00
frabacche
fc4b954e97 CST-10644 administrative search facets 2024-01-17 08:58:55 +01:00
Davide Negretti
717041b110 Merge branch 'main' into DURACOM-195 2024-01-16 23:57:56 +01:00
Tim Donohue
55c191e742 Merge pull request #2587 from Dawnkai/main
Deque Analysis Color Contrast fixes
2024-01-16 16:01:50 -06:00
FrancescoMolinaro
fb1d20afc0 fix action type error 2024-01-16 13:35:46 +01:00
Andrea Barbasso
091395a296 [DURACOM-191] set map for browse by 2024-01-16 12:24:16 +01:00
Andrea Barbasso
076482eacc [DURACOM-191] set map for search filters 2024-01-16 11:54:15 +01:00
Andrea Barbasso
0fb34e984d [DURACOM-191] set map for menu section 2024-01-16 11:45:53 +01:00
FrancescoMolinaro
91706bf1ee minor UI improvements, adapt notifications menu section, change translations, minor restyle 2024-01-16 11:15:42 +01:00
Andrea Barbasso
09c070e164 [DURACOM-191] set map for workflow actions 2024-01-16 10:03:09 +01:00
FrancescoMolinaro
02a289ed64 Merge branch 'coar-notify-7-part-two' into CST-13289-notify-ui-improvements 2024-01-16 08:49:39 +01:00
Maciej Kleban
c20b0a7c11 Replace hard-coded colors with bootstrap variants
* Replace custom variables with Bootstrap variants
* Replace custom button colors with Bootstrap variants
* Remove custom colors and replace them with bootstrap variants
* Fix checkbox offset styles
---------
Co-authored-by: Maciej Kleban <maciej.kleban@pcgacademia.pl>
2024-01-15 20:26:04 +01:00
Dawnkai
7fbb692e94 Deque Analysis Color Contrast fixes 2024-01-15 20:25:32 +01:00
FrancescoMolinaro
9db4d9d6d7 fix lint 2024-01-15 17:47:15 +01:00
FrancescoMolinaro
67d8230cf6 fix merge conflicts 2024-01-15 17:38:29 +01:00
FrancescoMolinaro
89411193e5 Merge branch 'coar-notify-7' into coar-notify-7-part-two 2024-01-15 17:38:16 +01:00
Andrea Barbasso
a91363044e [DURACOM-191] set map for starts-with decorator 2024-01-15 17:20:36 +01:00
FrancescoMolinaro
a183b0a923 add content fallback and truncate text 2024-01-15 16:43:51 +01:00
Francesco Molinaro
8726fccad3 Merged in CST-13053-logs-detail-message (pull request #1217)
CST-13053 logs detail message

Approved-by: Stefano Maffei
2024-01-15 15:36:45 +00:00
Francesco Molinaro
20efab260b Merged in CST-13039-multiple-request-patterns (pull request #1141)
CST-13039 multiple request patterns

Approved-by: Stefano Maffei
2024-01-15 15:32:32 +00:00
FrancescoMolinaro
57861a1126 fix tests, small refactor, add translations 2024-01-15 16:08:30 +01:00
Andrea Barbasso
cbae8b4ea7 [DURACOM-191] refactor sections-decorator.ts 2024-01-15 15:42:02 +01:00
FrancescoMolinaro
ba8345c6ab Merge branch 'coar-notify-7-part-two' into CST-13053-logs-detail-message 2024-01-15 15:35:39 +01:00
FrancescoMolinaro
1fdd152735 fix tests 2024-01-15 15:33:54 +01:00
Francesco Molinaro
b34c2ec040 Merged in CST-13262-clickable-notify-boxes (pull request #1214)
CST-13262 clickable notify boxes

Approved-by: Stefano Maffei
2024-01-15 14:25:03 +00:00
Alisa Ismailati
b9d865885d Merged in coar-CST-12791 (pull request #1073)
[CST-12791] changed the route for suggestions to be be accessible to any logged in user

Approved-by: Stefano Maffei
2024-01-15 14:21:05 +00:00
Alisa Ismailati
2ecc782839 Merged in CST-12791-merge-main-to-coar (pull request #1204)
CST-12791 merge main to coar

Approved-by: Stefano Maffei
2024-01-15 14:12:15 +00:00
FrancescoMolinaro
6a1871ba38 rename param 2024-01-15 14:59:39 +01:00
Andrea Barbasso
e95a27b854 [DURACOM-191] refactor menu-item.decorator.ts 2024-01-15 14:49:34 +01:00
Andrea Barbasso
e7be5129ba [DURACOM-191] set map for login methods 2024-01-15 14:45:34 +01:00
FrancescoMolinaro
ec9797a2c8 add message detail and translations 2024-01-15 13:42:56 +01:00
Andrea Barbasso
6b827426fa [DURACOM-191] fix defer not being solved 2024-01-15 13:06:37 +01:00
Andrea Barbasso
2d3c5cef06 [DURACOM-191] set static map for menu-item decorator 2024-01-15 12:13:14 +01:00
Andrea Barbasso
4cab7a31af [DURACOM-191] fix missing root provider 2024-01-15 11:53:10 +01:00
FrancescoMolinaro
8e11047ee9 Merge branch 'coar-notify-7-part-two' into CST-13262-clickable-notify-boxes 2024-01-15 11:33:29 +01:00
FrancescoMolinaro
f4c2b0b3fd implement items clickable, fix minor issues, add filters 2024-01-15 11:31:32 +01:00
Andrea Barbasso
b43e873598 [DURACOM-191] fix wrong component declaration 2024-01-15 11:11:14 +01:00
Andrea Barbasso
9cce55327e [DURACOM-191] remove unused decorator 2024-01-15 10:49:50 +01:00
FrancescoMolinaro
93777b9d61 fix lint 2024-01-12 18:10:09 +01:00
FrancescoMolinaro
61a05dff13 add navigation with new config, add custom filter 2024-01-12 18:06:09 +01:00
Stefano Maffei
df0cdc3fa5 Merge remote-tracking branch 'origin/coar-notify-7-part-two' into coar-notify-7-part-two 2024-01-12 17:06:53 +01:00
Stefano Maffei
46eaa583bb [CST-13053] added missing breadcrumbs for new filter 2024-01-12 16:45:00 +01:00
FrancescoMolinaro
dbf4233e07 fix missing label in modal, add search-labels, fix reprocess message 2024-01-12 16:44:32 +01:00
Alisa Ismailati
16b9a14191 [CST-12791] rename of files & components by removing admin 2024-01-12 16:04:12 +01:00
Andrea Barbasso
061ff519d7 [DURACOM-191] fix item submission 2024-01-12 15:52:35 +01:00
frabacche
ca8757f52c Merge branch 'coar-notify-7' of bitbucket.org:4Science/dspace-angular into coar-notify-7 2024-01-12 15:36:53 +01:00
frabacche
fc11a1ac71 CST-12820 coar qaevent view ServiceId on ServiceName 2024-01-12 15:36:34 +01:00
FrancescoMolinaro
3a87044600 remove unused param 2024-01-12 15:08:35 +01:00
FrancescoMolinaro
11a80771a8 add ldn services test 2024-01-12 15:08:08 +01:00
Alisa Ismailati
565f723096 Merge branch 'CST-12791-merge-main-to-coar' into coar-CST-12791 2024-01-12 14:39:02 +01:00
FrancescoMolinaro
1693d49e27 fix SSR issue for notify dashboard 2024-01-12 12:06:06 +01:00
Alisa Ismailati
3ae430460f fixed errors 2024-01-12 11:55:19 +01:00
Andreas Awouters
24ece9f33a 107873: Fix lint error by renaming rxjs timer import 2024-01-12 11:52:05 +01:00
Andreas Awouters
833b7e732d 107873: Remove table tests from ProcessOverviewComponent
ProcessOverviewComponent no longer is responsible for displaying the
table. As a result the tests no longer work and are no longer relevant.
2024-01-12 11:44:13 +01:00
Andreas Awouters
6f73b3cd91 107873: Add ProcessOverviewTableComponent tests 2024-01-12 11:44:13 +01:00
Andreas Awouters
4061aaac2e 107873: Rework autoRefreshingSearchBy test 2024-01-12 11:44:13 +01:00
Andreas Awouters
2bda29ad1d 107873: Rework autoRefreshingSearchBy 2024-01-12 11:44:13 +01:00
FrancescoMolinaro
96a6b80d2c add test fix mocks 2024-01-12 11:35:15 +01:00
Alisa Ismailati
c6993aee80 Merge branch 'main' into coar-notify-7 2024-01-12 11:21:15 +01:00
FrancescoMolinaro
7a5b52f691 fix lint, change translation, clean up component 2024-01-12 11:15:42 +01:00
Stefano Maffei
a03b7e4628 Merge branch 'coar-notify-7' into coar-notify-7-part-two 2024-01-12 11:05:07 +01:00
Yury Bondarenko
6ff2170ca8 Merge remote-tracking branch 'origin/main' into more-eslint 2024-01-12 10:57:51 +01:00
Andrea Barbasso
6313d42937 [DURACOM-191] fix core store imports 2024-01-12 10:46:20 +01:00
FrancescoMolinaro
b5fa46ce86 merge coar-notify-7 2024-01-12 09:39:39 +01:00
FrancescoMolinaro
d1e5287d60 refactor add tests for validator 2024-01-12 09:37:57 +01:00
Alan Orth
c55d518df5 Merge pull request #2662 from alexandrevryghem/fix-eperson-link-on-group-pages_contribute-main
Fixed ePerson link on edit group page
2024-01-12 08:25:02 +03:00
FrancescoMolinaro
1002a4d8a0 add to shared module 2024-01-11 18:06:27 +01:00
FrancescoMolinaro
ccb5444ad1 add base template and validator 2024-01-11 17:52:27 +01:00
Francesco Molinaro
70aeed61ef Merged in CST-12766-UI-adaption (pull request #1151)
fix dropdown overflow and bar z-index

Approved-by: Stefano Maffei
2024-01-11 16:17:36 +00:00
Francesco Molinaro
f20f6a74f1 Merged in CST-12766-porting-from-part-2 (pull request #1202)
fix dropdown overflow and bar z-index

Approved-by: Stefano Maffei
2024-01-11 16:17:31 +00:00
Francesco Molinaro
f6557fef02 Merged in CST-13091-missing-validation-message (pull request #1173)
add validation message

Approved-by: Stefano Maffei
2024-01-11 16:02:20 +00:00
Francesco Molinaro
a6da490d29 Merged in CST-10642-notify-logs (pull request #1183)
CST-10642 notify logs

Approved-by: Stefano Maffei
2024-01-11 15:54:02 +00:00
FrancescoMolinaro
7e25384bca adapt ui improvements due to missing outbound patterns 2024-01-11 16:34:25 +01:00
Andrea Barbasso
c3a2b89de0 [DURACOM-191] fix store declaration 2024-01-11 16:25:41 +01:00
FrancescoMolinaro
7692af10e1 merge UI improvements 2024-01-11 16:21:10 +01:00
Andrea Barbasso
0e52113069 [DURACOM-191] fix services not loading 2024-01-11 16:05:14 +01:00
FrancescoMolinaro
7640dac90a update translations 2024-01-11 15:57:26 +01:00
FrancescoMolinaro
52027578a0 update translations 2024-01-11 15:55:21 +01:00
Andrea Barbasso
3c829cae6e [DURACOM-191] fix typo 2024-01-11 15:28:57 +01:00
FrancescoMolinaro
6079e58d15 add missing translations handler 2024-01-11 14:00:18 +01:00
FrancescoMolinaro
75fb52731a refactor translations mapping 2024-01-11 11:23:53 +01:00
FrancescoMolinaro
a370b14763 fix lint 2024-01-11 10:41:47 +01:00
FrancescoMolinaro
441170d8a3 refactor, add date formatting 2024-01-11 10:29:22 +01:00
Andrea Barbasso
a3fefc20a7 fix tests 2024-01-11 09:46:44 +01:00
FrancescoMolinaro
34cecedfeb refactor test, change type in table 2024-01-11 09:20:22 +01:00
Andreas Awouters
944b614514 107873: Add process overview page tables 2024-01-11 08:22:49 +01:00
Andrea Barbasso
2d879bd3fe [DURACOM-191] change routing for subscriptions-page 2024-01-10 17:58:22 +01:00
Andrea Barbasso
db169307b4 [DURACOM-191] change routing for access-control 2024-01-10 17:50:33 +01:00
Andrea Barbasso
6159c22343 [DURACOM-191] change routing for health-page 2024-01-10 17:48:50 +01:00
Andrea Barbasso
13f5a7f045 [DURACOM-191] change routing for statistics-page 2024-01-10 17:45:51 +01:00
Andrea Barbasso
e6d1765ea3 [DURACOM-191] change routing for request-copy 2024-01-10 17:41:38 +01:00
Andrea Barbasso
2ca8990453 [DURACOM-191] change routing for info 2024-01-10 17:39:32 +01:00
Andrea Barbasso
6aefab13aa [DURACOM-191] change routing for process-page 2024-01-10 17:21:42 +01:00
Andrea Barbasso
7f3739f7ed [DURACOM-191] change routing for profile-page 2024-01-10 17:05:33 +01:00
Andrea Barbasso
ca09cfb07b [DURACOM-191] change routing for workflowitems-edit-page 2024-01-10 17:03:40 +01:00
Andrea Barbasso
43241a237a [DURACOM-191] change routing for workspaceitems-edit-page 2024-01-10 17:02:09 +01:00
Andrea Barbasso
5c0ceab794 [DURACOM-191] change routing for import-external-page 2024-01-10 16:59:24 +01:00
FrancescoMolinaro
9332a33262 add tests 2024-01-10 16:58:16 +01:00
Sascha Szott
92a74cee5a use localized error message 2024-01-10 16:54:18 +01:00
Andrea Barbasso
d6795c2100 [DURACOM-191] change routing for submit-page 2024-01-10 16:53:45 +01:00
Andrea Barbasso
fe23afe896 [DURACOM-191] change routing for logout-page 2024-01-10 16:52:31 +01:00
Andrea Barbasso
dae3659ed6 [DURACOM-191] change routing for login-page 2024-01-10 16:46:55 +01:00
Andrea Barbasso
6136d5dc92 [DURACOM-191] change routing for admin-page 2024-01-10 16:45:06 +01:00
Andrea Barbasso
dcaac9e68f [DURACOM-191] change routing for browse-by-page 2024-01-10 15:49:56 +01:00
Andrea Barbasso
6692eb8ffe [DURACOM-191] change routing for search-page 2024-01-10 15:20:22 +01:00
Andrea Barbasso
737f035357 [DURACOM-191] change routing for my-dspace-page 2024-01-10 15:11:39 +01:00
Andrea Barbasso
df85f8f573 [DURACOM-191] change routing for bitstream-page 2024-01-10 15:05:07 +01:00
Andrea Barbasso
5ade030259 [DURACOM-191] change routing for item-page 2024-01-10 14:53:40 +01:00
Andrea Barbasso
4b84c35417 [DURACOM-191] change routing for collection-page 2024-01-10 14:40:59 +01:00
FrancescoMolinaro
6fda2cb4f7 add tests 2024-01-10 12:57:13 +01:00
Andreas Awouters
86cad57845 107873: Add process-data searchBy tests 2024-01-10 12:07:30 +01:00
Andreas Awouters
64befd2e30 107873: Implement autoRefreshingSearchBy for process-data service 2024-01-10 12:07:30 +01:00
Andreas Awouters
c7922b7e67 107873: Implement SearchData for process-data service 2024-01-10 12:07:30 +01:00
Andrea Barbasso
4d5d1ec6fb [DURACOM-191] change routing for community-page, delete community-page.module.ts 2024-01-10 11:18:45 +01:00
Jens Vannerum
3a265bb0e7 110088: reset pagination on opening of dropdown 2024-01-10 11:03:36 +01:00
Andrea Barbasso
1145c01ba9 [DURACOM-191] change routing for forgot-password, delete forgot-password.module.ts 2024-01-10 10:51:00 +01:00
Andrea Barbasso
d73fc0f073 [DURACOM-191] change routing for register-page, delete register-page.module.ts 2024-01-10 10:14:43 +01:00
Andrea Barbasso
a2d66c6e34 [DURACOM-191] change routing for community-list-page
can't delete module - for now - since it has providers in it
2024-01-10 10:04:47 +01:00
Andrea Barbasso
d1e986a443 [DURACOM-191] change routing for community-list-page, delete community-list-page.module.ts 2024-01-10 09:58:08 +01:00
Andrea Barbasso
6e70aad7b8 [DURACOM-191] change routing for home-page, delete home-page.module.ts 2024-01-10 09:46:03 +01:00
FrancescoMolinaro
d16bf49268 add tests 2024-01-09 21:48:27 +01:00
FrancescoMolinaro
3149842bcb add data services tests 2024-01-09 16:23:09 +01:00
FrancescoMolinaro
eb8a8207d7 rename tab metrics 2024-01-09 12:45:56 +01:00
FrancescoMolinaro
7719626256 add link, rename tabs, small refactor 2024-01-09 12:33:49 +01:00
FrancescoMolinaro
b6245d3c2d improve responsivness 2024-01-09 12:11:53 +01:00
Andrea Barbasso
ba3bea812b [DURACOM-191] set providers in core folder
Missing some modules that always load entryComponents as "before Ivy" (e.g. look at eager-theme.module), need to check if they can be refactored
2024-01-09 12:04:09 +01:00
FrancescoMolinaro
f9474d4586 remove mobile adaption, adapt reprocess 2024-01-09 11:30:44 +01:00
Yury Bondarenko
5af4f89c54 Merge remote-tracking branch 'origin/main' into more-eslint 2024-01-09 10:08:02 +01:00
FrancescoMolinaro
e04c3e6df5 add check on device width for columns rendering 2024-01-09 10:01:57 +01:00
FrancescoMolinaro
728911899a clean up 2024-01-09 09:36:50 +01:00
Andrea Barbasso
ac366bcc54 [DURACOM-191] remove SharedModule 2024-01-09 09:23:20 +01:00
Alexandre Vryghem
359d4520f9 Merge remote-tracking branch 'upstream/main' into feature-process_polling
# Conflicts:
#	src/app/core/data/base/base-data.service.spec.ts
2024-01-08 18:36:33 +01:00
FrancescoMolinaro
7ce0bd0ce6 remove unused method 2024-01-08 18:27:43 +01:00
FrancescoMolinaro
937abc0d50 clean up 2024-01-08 18:14:16 +01:00
Alexandre Vryghem
86d3883853 Merge branch 'feature-process_polling-7.6' into feature-process_polling 2024-01-08 18:07:42 +01:00
FrancescoMolinaro
c20d798502 clean up, fix tests, add missing translations 2024-01-08 18:04:49 +01:00
Tim Donohue
610062bdea Merge pull request #2731 from DSpace/backport-2670-to-main
[Port main] Ensure HALEndpointService doesn't use stale responses
2024-01-08 11:04:14 -06:00
Art Lowel
33b7c39dd1 add ResponsePendingStale state
(cherry picked from commit 790e717199)
2024-01-08 16:17:16 +00:00
Art Lowel
d109a5aeb2 also skip loading hal requests
(cherry picked from commit c8ac260b78)
2024-01-08 16:17:16 +00:00
Art Lowel
bd6c99da2e ensure HALEndpointService doesn't use stale requests
(cherry picked from commit 38752d9d71)
2024-01-08 16:17:16 +00:00
FrancescoMolinaro
c57ad8eeb7 refactor, add detail mapping, add missing translation, optimize modal 2024-01-08 16:47:24 +01:00
frabacche
dfe4b15539 CST-12868 remove Outbound Patterns 2024-01-08 16:01:12 +01:00
FrancescoMolinaro
4d30bc7035 separate results, config routes, add data mapping, add service 2024-01-08 13:07:07 +01:00
FrancescoMolinaro
7185c5548a fix test dependencies, move components in two tabs 2024-01-05 17:39:00 +01:00
Alexandre Vryghem
c91b99fece 108915: Fixed delete process error on ProcessDetailComponent 2024-01-05 16:53:05 +01:00
Alexandre Vryghem
9e31f73f5e 108915: Fixed issue where the observable would emit itself again even when the lastUpdated didn't change 2024-01-05 16:51:23 +01:00
FrancescoMolinaro
af3bfee74e fix test dependencies 2024-01-05 15:56:58 +01:00
FrancescoMolinaro
e9159ce4e8 fix lint 2024-01-05 13:29:16 +01:00
FrancescoMolinaro
4292c01d8f clean up 2024-01-05 13:22:17 +01:00
FrancescoMolinaro
6254efa084 add modal, refine table,refactor, fix lint 2024-01-05 12:54:35 +01:00
Jens Vannerum
74f1c613f6 110088: lint issue 2024-01-04 17:40:08 +01:00
Jens Vannerum
4bbfb4cc1a 110088: new implementation for keyboard support in dropdowns 2024-01-04 17:29:28 +01:00
FrancescoMolinaro
c434c06b04 refactor, fix lint 2024-01-04 17:23:29 +01:00
FrancescoMolinaro
566c8b34a9 remove log 2024-01-04 17:21:03 +01:00
FrancescoMolinaro
b8e353d51c add tabulatable loader missing files 2024-01-04 17:16:21 +01:00
FrancescoMolinaro
de8c0c9528 add tabulatable loader and related configuration 2024-01-04 17:15:25 +01:00
FrancescoMolinaro
9386536ca9 fix lint 2024-01-04 14:37:01 +01:00
FrancescoMolinaro
9617329683 add new dependencies for facets filters isolation 2024-01-04 13:22:53 +01:00
FrancescoMolinaro
d72f522f63 add header translations 2024-01-03 18:01:40 +01:00
FrancescoMolinaro
457c3b351f refactor, decouple pagination and configuration 2024-01-03 17:27:38 +01:00
FrancescoMolinaro
c4b8eaba72 add base config 2024-01-02 14:47:15 +01:00
FrancescoMolinaro
3616e66155 refactor fn name 2024-01-02 10:28:44 +01:00
FrancescoMolinaro
7d3dbc3e46 add validation message
for ldnUrl already associated
2024-01-02 10:26:27 +01:00
FrancescoMolinaro
664dd855ea fix lint 2023-12-29 15:19:03 +01:00
FrancescoMolinaro
cd4b6a4169 refactor, align config with rest 2023-12-29 15:09:37 +01:00
FrancescoMolinaro
055cc50cfb reduce inner space 2023-12-29 12:49:31 +01:00
FrancescoMolinaro
6a41dce3be fix tests 2023-12-29 12:45:47 +01:00
FrancescoMolinaro
a43cb352fd fix lint 2023-12-29 12:25:54 +01:00
FrancescoMolinaro
01a41570d6 fix lint, fix aggregate count, add translations 2023-12-29 12:23:45 +01:00
FrancescoMolinaro
fec6550cba finalize config and mapping 2023-12-29 11:45:13 +01:00
Alexandre Vryghem
b28e24fda3 Merge branch 'memory-leak-fixes_contribute-7.4' into memory-leak-fixes_contribute-7.6
# Conflicts:
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component.ts
#	src/app/admin/admin-workflow-page/admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component.ts
#	src/app/shared/metadata-representation/metadata-representation-loader.component.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts
#	src/app/shared/theme-support/themed.component.ts
2023-12-28 19:58:37 +01:00
FrancescoMolinaro
e39e034329 update config and integrate rest 2023-12-28 17:06:27 +01:00
FrancescoMolinaro
1f1d594316 merge from github 2023-12-27 13:34:37 +01:00
FrancescoMolinaro
ffd118abf9 align with github 2023-12-27 13:26:04 +01:00
FrancescoMolinaro
5feaa1b5a6 fix tests 2023-12-27 13:00:55 +01:00
FrancescoMolinaro
24ad516c29 fix dropdown overflow and bar z-index 2023-12-27 10:32:03 +01:00
Alexandre Vryghem
480c7a6ce0 Destroy dynamically generated components in onDestroy & replace deprecated createComponent 2023-12-26 14:31:07 +01:00
Alexandre Vryghem
d37cd18e89 Merge remote-tracking branch 'upstream/main' into feature-process_polling 2023-12-22 19:29:52 +01:00
FrancescoMolinaro
5d8ba54676 add new component, add mock, refactor 2023-12-22 17:26:46 +01:00
Alexandre Vryghem
f35eab3740 Merge branch 'feature-process_polling-7.6' into feature-process_polling
# Conflicts:
#	src/app/core/data/processes/process-data.service.ts
2023-12-22 14:04:34 +01:00
frabacche
4106e438d6 CST-5249_suggestion test fixes 2023-12-22 12:18:58 +01:00
Francesco Molinaro
ad723a67cf Merged in CST-12914-ldn-breadcrumbs (pull request #1115)
CST-12914 ldn breadcrumbs

Approved-by: Giuseppe Digilio
2023-12-22 09:50:12 +00:00
FrancescoMolinaro
11bb71ea8a fix import spaces 2023-12-22 10:43:39 +01:00
FrancescoMolinaro
604fb4f3d1 add components, refactor sidebar section, add config 2023-12-22 10:42:38 +01:00
FrancescoMolinaro
7445591148 add route, renaming 2023-12-21 18:10:45 +01:00
FrancescoMolinaro
e1cda4fa04 prepare dashboard config 2023-12-21 18:06:39 +01:00
FrancescoMolinaro
6d16bf3037 add flush operation, fix lint, refactor 2023-12-21 16:08:13 +01:00
FrancescoMolinaro
e5cf16c489 fix lint 2023-12-21 14:54:02 +01:00
FrancescoMolinaro
128dd2f566 add mutliple request config 2023-12-21 14:46:11 +01:00
frabacche
108db1e0c5 CST-5249_suggestion alignment to main, merge conflicts 2023-12-21 12:44:12 +01:00
Alan Orth
7207bbbd0e src/app/item-page: remove newlines in links
The newlines cause whitespace to be enapsulated in the rendered link.
2023-12-20 22:34:07 +03:00
Alan Orth
7bedf7fc59 src/app/community-list-page: remove newlines in links
The newlines cause whitespace to be enapsulated in the rendered link.
2023-12-20 22:33:31 +03:00
Andrea Barbasso
031e12f76b [DURACOM-191] fix root component tests 2023-12-20 13:24:50 +01:00
Andrea Barbasso
a833639fb9 [DURACOM-191] fix configuration-search-page tests 2023-12-20 13:05:56 +01:00
Andrea Barbasso
75b8c095b7 [DURACOM-191] fix project-entry-import-modal tests 2023-12-20 12:35:43 +01:00
Andrea Barbasso
d389e665fe [DURACOM-191] fix admin-quality-assurance-source-page tests 2023-12-20 12:29:32 +01:00
Andrea Barbasso
900164952e [DURACOM-191] fix admin-quality-assurance-topics-page tests 2023-12-20 12:27:31 +01:00
Andrea Barbasso
84ea72021d [DURACOM-191] quality-assurance-topics tests 2023-12-20 12:25:19 +01:00
Andrea Barbasso
e98d0de0cd [DURACOM-191] quality-assurance-source tests 2023-12-20 12:15:33 +01:00
Andrea Barbasso
4850856aa6 [DURACOM-191] fix parameter-select.component tests 2023-12-20 12:12:53 +01:00
Vincenzo Mecca
199eaf8340 [CST-12825] Fixes comma in en.json5 2023-12-20 11:56:25 +01:00
Andrea Barbasso
20780fae20 [DURACOM-191] fix import 2023-12-20 11:56:06 +01:00
Andrea Barbasso
9474fcda8f [DURACOM-191] fix admin-quality-assurance-events-page test 2023-12-20 11:53:28 +01:00
Vincenzo Mecca
d979ea5c9f [CST-12825] Removed unecessary escape 2023-12-20 11:47:33 +01:00
Andrea Barbasso
fb979f0c19 [DURACOM-191] fix process-form tests 2023-12-20 11:42:05 +01:00
Andrea Barbasso
8b665a6d99 [DURACOM-191] run angular script for migration 2023-12-20 11:23:00 +01:00
Andrea Barbasso
3a461eee80 Merge branch 'main' into DURACOM-191-20231219-ALIGNMENT
# Conflicts:
#	src/app/access-control/epeople-registry/epeople-registry.component.html
#	src/app/access-control/epeople-registry/epeople-registry.component.ts
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.html
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.spec.ts
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts
#	src/app/access-control/group-registry/group-form/group-form.component.html
#	src/app/access-control/group-registry/group-form/group-form.component.ts
#	src/app/access-control/group-registry/group-form/members-list/members-list.component.html
#	src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.spec.ts
#	src/app/access-control/group-registry/group-form/subgroup-list/subgroups-list.component.ts
#	src/app/admin/admin-registries/metadata-schema/metadata-schema.component.ts
#	src/app/browse-by/browse-by.module.ts
#	src/app/community-list-page/community-list/community-list.component.spec.ts
#	src/app/core/core.module.ts
#	src/app/core/data/root-data.service.ts
#	src/app/core/eperson/eperson-data.service.ts
#	src/app/core/eperson/group-data.service.ts
#	src/app/curation-form/curation-form.component.ts
#	src/app/header/header.component.spec.ts
#	src/app/header/header.component.ts
#	src/app/health-page/health-page.component.ts
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.html
#	src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream/item-edit-bitstream.component.spec.ts
#	src/app/item-page/edit-item-page/item-status/item-status.component.ts
#	src/app/process-page/form/process-parameters/parameter-select/parameter-select.component.spec.ts
#	src/app/process-page/form/process-parameters/parameter-value-input/boolean-value-input/boolean-value-input.component.spec.ts
#	src/app/register-email-form/register-email-form.module.ts
#	src/app/register-email-form/themed-registry-email-form.component.ts
#	src/app/shared/auth-nav-menu/auth-nav-menu.component.html
#	src/app/shared/auth-nav-menu/user-menu/themed-user-menu.component.ts
#	src/app/shared/browse-by/shared-browse-by.module.ts
#	src/app/shared/browse-by/themed-browse-by.component.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-expandable-menu-section/dso-edit-menu-expandable-section.component.ts
#	src/app/shared/dso-page/dso-edit-menu/dso-edit-menu-section/dso-edit-menu-section.component.ts
#	src/app/shared/file-download-link/file-download-link.component.spec.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/date-picker/date-picker.component.ts
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.html
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts
#	src/app/shared/lang-switch/lang-switch.component.ts
#	src/app/shared/lang-switch/themed-lang-switch.component.ts
#	src/app/shared/log-in/log-in.component.ts
#	src/app/shared/log-in/themed-log-in.component.ts
#	src/app/shared/menu/menu.component.spec.ts
#	src/app/shared/object-collection/shared/badges/access-status-badge/access-status-badge.component.ts
#	src/app/shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-filter.component.html
#	src/app/shared/search/search-labels/search-label/search-label.component.html
#	src/app/submission/import-external/submission-import-external.component.ts
#	src/app/subscriptions-page/subscriptions-page.component.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts
#	src/themes/custom/app/entity-groups/research-entities/item-pages/person/person.component.ts
#	src/themes/custom/app/register-email-form/register-email-form.component.ts
#	src/themes/custom/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
#	src/themes/custom/app/shared/browse-by/browse-by.component.ts
#	src/themes/custom/app/shared/lang-switch/lang-switch.component.ts
#	src/themes/custom/app/shared/log-in/log-in.component.ts
#	src/themes/custom/app/shared/object-list/browse-entry-list-element/browse-entry-list-element.component.ts
2023-12-20 11:17:21 +01:00
Andrea Barbasso
59c30c531f [DURACOM-191] fix tests in section-upload-file-edit component 2023-12-19 16:07:14 +01:00
Alexandre Vryghem
5400981751 108915: Added tests proving that the addDependency is called on all the followLinks
Also fixed the mock values used by findListByHref, because they didn't use PaginatedLists but regular items
2023-12-19 15:58:11 +01:00
Vlad Nouski
6804ef1c28 [DURACOM-191] fix: dynamic-relation-group unit tests 2023-12-19 14:06:27 +01:00
Yury Bondarenko
968c23309a Manual lint fixes
This can serve as an example of the type of lint issues we'd have to fix by hand in ongoing PRs if this PR were to be merged.
2023-12-19 13:35:52 +01:00
Yury Bondarenko
ca1d81048a Autofix lint issues 2023-12-19 13:35:51 +01:00
Andrea Barbasso
f5e767afe1 [DURACOM-191] fix a test in dynamic-relation-group component 2023-12-19 09:48:11 +01:00
Yury Bondarenko
4a87c9a8b4 Merge remote-tracking branch 'origin/main' into more-eslint 2023-12-19 09:35:05 +01:00
Alexandre Vryghem
e071b7ffa7 Merge branch 'generify-component-loaders_contribute-7.6' into generify-component-loaders_contribute-main 2023-12-19 01:22:57 +01:00
Davide Negretti
b8ec74a046 [DURACOM-195] [DURACOM-210] Reorder SCSS and CSS theme variables 2023-12-19 01:10:07 +01:00
Davide Negretti
216558125b [DURACOM-195] Header, navbar, and sidebar refactoring 2023-12-19 01:10:07 +01:00
Jean-François Morin
ef651a3686 Resolved conflicts 2023-12-18 16:32:43 -05:00
Tim Donohue
92a10ce9de Merge pull request #1562 from 4Science/CST-5337
Enrich local data via the OpenAIRE Graph
2023-12-18 13:52:56 -06:00
FrancescoMolinaro
56cf0e1451 fix lint 2023-12-18 17:47:19 +01:00
Andrea Barbasso
5872222444 [DURACOM-191] fix some tests, find broken assertions 2023-12-18 17:14:36 +01:00
FrancescoMolinaro
92870452ae add spaces on import 2023-12-18 12:38:28 +01:00
FrancescoMolinaro
c386a4d505 adapt config for url search 2023-12-18 12:22:05 +01:00
Francesco Molinaro
9351b582cc Merged in CST-12904-breadcrumbs-qa (pull request #1107)
CST-12904 breadcrumbs qa

Approved-by: Giuseppe Digilio
2023-12-18 11:11:01 +00:00
FrancescoMolinaro
fd4ca45181 merge CST-5337 2023-12-18 12:10:15 +01:00
FrancescoMolinaro
2d2ca2016a refactor 2023-12-18 11:40:09 +01:00
Andrea Barbasso
113d95d57a [DURACOM-191] fix item-access-control-select-bitstreams-modal component test 2023-12-18 10:15:02 +01:00
FrancescoMolinaro
a483b3068b resolve conflicts 2023-12-18 10:06:33 +01:00
Francesco Molinaro
8c6daf744d Merged in CST-12863-CST-12940-ldn-services-improvments (pull request #1118)
CST-12863 CST 12940 ldn services improvments

Approved-by: Stefano Maffei
2023-12-18 08:31:35 +00:00
Francesco Molinaro
339225ee21 Merged in CST-12915-edit-message-ldn (pull request #1110)
update translations

Approved-by: Stefano Maffei
2023-12-18 08:28:18 +00:00
Francesco Molinaro
b3a345af33 Merged in CST-12906-accessibility-qa (pull request #1108)
add accessibility text

Approved-by: Stefano Maffei
2023-12-18 08:24:50 +00:00
Francesco Molinaro
71783bb951 Merged in CST-12908-remove-console-log (pull request #1109)
remove console logs

Approved-by: Stefano Maffei
2023-12-18 08:23:09 +00:00
Alexandre Vryghem
7942c900f4 Component doesn't have to be initialised anymore in ngOnChanges because connectInputsAndOutputs will automatically call the child component's ngOnChanges already 2023-12-17 16:17:16 +01:00
Alexandre Vryghem
230adc16c8 Fixed failing EPeopleRegistryComponent test
Buttons to which you don't have access are now hidden by default instead of disabled
2023-12-15 23:43:10 +01:00
Alexandre Vryghem
aa42a7eea3 Merge remote-tracking branch 'upstream/main' into fix-specs-without-expectations_contribute-main
# Conflicts:
#	src/app/shared/browse-by/shared-browse-by.module.ts
2023-12-15 22:02:18 +01:00
FrancescoMolinaro
f7be255345 add QA authorization config 2023-12-15 15:20:39 +01:00
Vincenzo Mecca
56d33387b5 [CST-12825] Fixes ROR metadata display 2023-12-15 10:05:03 +01:00
FrancescoMolinaro
e280666dc3 variable rename 2023-12-15 09:46:53 +01:00
FrancescoMolinaro
3177a8c581 add notification on patterns delete, small restyle 2023-12-15 09:32:33 +01:00
Andrea Barbasso
ca5cca384d [DURACOM-191] fix item-access-control component test 2023-12-14 17:53:56 +01:00
Andrea Barbasso
ae452b3388 [DURACOM-191] fix community-access-control component test 2023-12-14 17:48:26 +01:00
Andrea Barbasso
e1001d4346 [DURACOM-191] fix collection-access-control component test 2023-12-14 17:37:45 +01:00
Tim Donohue
38733e6e94 Merge pull request #2707 from reetagithub/patch-1
Update fi.json5
2023-12-14 10:15:46 -06:00
Andrea Barbasso
96c0e1241e [DURACOM-191] fix epeople-registry test 2023-12-14 17:13:06 +01:00
Andrea Barbasso
e262bcabf9 [DURACOM-191] fix header component imports 2023-12-14 17:08:37 +01:00
Andrea Barbasso
4c1f488356 [DURACOM-191] fix various tests
now tests are not breaking anymore, but there are some excluded tests that need to be fixed after everything else.
2023-12-14 16:51:32 +01:00
FrancescoMolinaro
6a202bd685 fix rest, add initialization param 2023-12-14 16:46:02 +01:00
FrancescoMolinaro
8e4408f118 fix lint 2023-12-14 16:30:29 +01:00
FrancescoMolinaro
90ad316db4 fix issue with edit and creation, unify files, refactor 2023-12-14 16:25:02 +01:00
Vincenzo Mecca
e7f5c48d8c [CST-12825] Ror integration 2023-12-14 15:44:19 +01:00
FrancescoMolinaro
f2be578d2a refactor config QA 2023-12-14 12:11:06 +01:00
FrancescoMolinaro
f2a2433bf3 fix lint 2023-12-14 11:34:49 +01:00
FrancescoMolinaro
86ccd8ade7 finalize resolver, service and tests 2023-12-14 11:30:50 +01:00
Andrea Barbasso
bdf1855b12 Revert "[DURACOM-191] fix browse-by-date-page.component.spec.ts"
This reverts commit 30a9a95bf4.
2023-12-14 10:26:24 +01:00
Andrea Barbasso
63521f0121 Revert "[DURACOM-191] fix various tests"
This reverts commit 1b158dd5f6.
2023-12-14 10:26:20 +01:00
FrancescoMolinaro
f4d0217862 add navigation resolver config 2023-12-13 18:13:26 +01:00
FrancescoMolinaro
763311ed29 add navigation resolver config 2023-12-13 18:13:00 +01:00
Andrea Barbasso
1b158dd5f6 [DURACOM-191] fix various tests 2023-12-13 17:55:57 +01:00
FrancescoMolinaro
7fe81ec111 add quality assurance configuration 2023-12-13 17:00:24 +01:00
Andrea Barbasso
30a9a95bf4 [DURACOM-191] fix browse-by-date-page.component.spec.ts 2023-12-13 15:18:44 +01:00
FrancescoMolinaro
b494c9551e add base resolver 2023-12-13 14:55:40 +01:00
FrancescoMolinaro
e77c5595ed update translations 2023-12-13 12:56:00 +01:00
FrancescoMolinaro
8113946f58 remove console logs 2023-12-13 12:38:38 +01:00
Andrea Barbasso
391ae16103 [DURACOM-191] fix linting 2023-12-13 12:11:31 +01:00
FrancescoMolinaro
922172d9ae refactor, improve code according to suggestions 2023-12-13 11:55:10 +01:00
Yury Bondarenko
47875dd1a8 Fix stray lint issue 2023-12-13 11:00:20 +01:00
FrancescoMolinaro
78df2362c9 add accessibility text 2023-12-13 10:45:20 +01:00
FrancescoMolinaro
53329cd92f align to branch, update test 2023-12-13 10:34:20 +01:00
Yury Bondarenko
544306af30 Merge remote-tracking branch 'origin/main' into more-eslint 2023-12-12 18:32:22 +01:00
FrancescoMolinaro
b9af731d5a rename data service 2023-12-12 17:17:23 +01:00
FrancescoMolinaro
b9085d5306 add QA breadcrumb resolver and service 2023-12-12 09:34:40 +01:00
FrancescoMolinaro
eed9896062 add qa breadcrumb 2023-12-12 09:34:36 +01:00
Alexandre Vryghem
d8be26dcc8 Merge branch 'generify-component-loaders_contribute-7.6' into generify-component-loaders_contribute-main 2023-12-12 01:39:39 +01:00
Alexandre Vryghem
a5b7e2a40f Fixed circular dependency by extracting BrowseByDataType to a separate file 2023-12-12 01:39:12 +01:00
Alexandre Vryghem
19384dfdb1 Merge remote-tracking branch 'upstream/main' into generify-component-loaders_contribute-7.6
# Conflicts:
#	src/app/shared/shared.module.ts
2023-12-12 01:00:18 +01:00
Alexandre Vryghem
e6bf2f0ca7 Fixed bug in BrowseService where findListByHref was called with null instead of undefined, which prevented its default values from being used 2023-12-12 00:59:43 +01:00
Alexandre Vryghem
a83d69ee0e Created BrowseByPageComponent that uses the new refactored BrowseBySwitcherComponent extending AbstractComponentLoaderComponent
- Added the context to the rendersBrowseBy decorator
- Created AbstractBrowseByTypeComponent that is extended by all the browse type sections
2023-12-12 00:59:42 +01:00
Thomas Misilo
7b8962a7cd Update "E-mail" to be "Email" for consistency 2023-12-11 22:21:53 +03:00
Alexandre Vryghem
24eb5b4bc0 108915: Always invalidate all followLinks when invalidating linked cached object 2023-12-11 13:25:46 +01:00
Vlad Nouski
1f15b21ba9 [DURACOM-191] align with main branch and migrated to be standalone new components 2023-12-11 11:08:22 +01:00
reetagithub
2339a559e9 Update fi.json5
Corrected a typo  in search.view.switch.show-grid
2023-12-11 11:39:38 +02:00
Alexandre Vryghem
14d42b0d93 Fixed getComponent not triggering again when it's input values change by creating inputNamesDependentForComponent
Also simplified the way @Input() values are passed to their child component and how ngOnChanges is called by using setInput instead
2023-12-11 01:02:24 +01:00
Alexandre Vryghem
26e0bc81c7 Removed Themed components from PR 1842 because those should be themed using the decorator rendersBrowseBy(browseType, themeName) and fixed the components in the custom theme folder
- Removed ngOnDestroy from BrowseByTitlePageComponent because super.ngOnDestroy already included the unsubscribe functionality
- Removed BrowseBySwitcherComponent since a themed version of that isn't really useful
2023-12-11 01:02:24 +01:00
Alexandre Vryghem
2bae174350 Make MetadataRepresentationLoaderComponent extend AbstractComponentLoaderComponent 2023-12-10 12:36:22 +01:00
Alexandre Vryghem
774784a9b9 Make AdvancedWorkflowActionsLoaderComponent extend AbstractComponentLoaderComponent 2023-12-10 12:36:22 +01:00
Alexandre Vryghem
fe60adb47f Make ClaimedTaskActionsLoaderComponent extend AbstractComponentLoaderComponent 2023-12-10 02:37:05 +01:00
Alexandre Vryghem
fb7afaddd0 Make ListableObjectComponentLoaderComponent extend AbstractComponentLoaderComponent 2023-12-10 02:35:44 +01:00
Alexandre Vryghem
2327513dd0 Created AbstractComponentLoaderComponent to load components dynamically 2023-12-10 02:03:32 +01:00
Alan Orth
d6c46847c2 src/assets/i18n/en.json5: minor changes for consistency
Fix some random capitalizations and strange wording.
2023-12-08 23:28:32 +03:00
Alan Orth
f78f4b45fc src/assets/i18n/en.json5: minor updates for consistency
We should be capitalizing acronyms and project-specific nouns like
MyDSpace consistently in our interface.
2023-12-08 23:28:18 +03:00
Alan Orth
98241d8925 src/assets/i18n: change "controller" to "reviewer"
Reviewer is a less obscure term for what this actually is in most
cases.
2023-12-08 23:27:54 +03:00
Vlad Nouski
8a7b459695 [DURACOM-191] fix: unit-tests 2023-12-08 12:54:41 +01:00
Davide Negretti
d59f33278d [DURACOM-195] Base components (simplify header-navbar-wrapper) 2023-12-06 17:44:57 +01:00
Davide Negretti
e84773afb2 [DURACOM-195] Base components 2023-12-06 17:44:53 +01:00
Davide Negretti
640612033c [DURACOM-195] New host-window service methods 2023-12-06 17:43:43 +01:00
Tim Donohue
8ba14aa3be Merge pull request #2683 from alexandrevryghem/fix-accessibility-issues_contribute-main
Fix accessibility issues
2023-12-06 10:03:01 -06:00
Vlad Nouski
5b9250abf7 [DURACOM-191] fix: listable-object-loader tests 2023-12-06 14:57:13 +01:00
Alexandre Vryghem
4545b5354d Fixed Edit Item Bitstream showing empty buttons when css is turned off & replaced authentication dropdown menu link with button
- Also fixed box-shadows not working the same way for all footer buttons/links
2023-12-06 02:03:44 +01:00
Alexandre Vryghem
ff6dff72d8 Fixed Edit Item Bitstream showing empty buttons when css is turned off 2023-12-06 01:08:00 +01:00
Thomas Misilo
09fc44a539 Decrease min-height for Login Dropdown Menu
Fixes #2690

This is noticable when you have disabled local authentication, and only have a singular remote authentication such as Shibboleth or Orcid.
2023-12-05 10:02:17 -06:00
frabacche
62ae9226f5 COAR alert box fix notiyrequeststatus object with the new attribute offerType 2023-12-05 16:34:23 +01:00
Stefano Maffei
486d2ad8c1 [CST-12881] fix typo 2023-12-05 15:29:59 +01:00
Stefano Maffei
a8ad88a2c5 [CST-12881] fix lint error 2023-12-05 15:07:05 +01:00
Stefano Maffei
4b7602fe7d Merge remote-tracking branch 'originGithub/main' into coar-notify-7
# Conflicts:
#	src/app/shared/shared.module.ts
#	src/assets/i18n/en.json5
#	src/modules/app/browser-init.service.ts
#	src/themes/custom/lazy-theme.module.ts
2023-12-05 13:10:25 +01:00
Tim Donohue
08df2ea1ac Merge pull request #2684 from mspalti/label-fix
Updated bitstream read description in en.json5
2023-12-04 15:08:12 -06:00
Michael Spalti
2592f87356 Updated bitstream read description in en.json5 2023-12-04 11:37:14 -08:00
Vlad Nouski
9be8254fbd [DURACOM-191] fix: section-license unit-tests 2023-12-04 18:31:23 +01:00
Vlad Nouski
79389009dc [DURACOM-191] unit test fix 2023-12-04 09:10:41 +01:00
Alexandre Vryghem
e96d3cd2e9 Fixed DSONameService getName & getHitHighlights returning empty string for OrgUnits without organization.legalName field 2023-12-03 23:49:42 +01:00
Alexandre Vryghem
9a5ad0bc9f Fixed accessibility issues on search page 2023-12-03 23:49:42 +01:00
Alexandre Vryghem
5566c99625 Fixed accessibility issues about header ordering 2023-12-03 23:49:42 +01:00
Alexandre Vryghem
30fe424cc5 Fixed browse by vocabulary treeview accessibility issues 2023-12-03 23:49:41 +01:00
Alexandre Vryghem
8ba17c991e Fixed item page accessibility issues 2023-12-03 23:49:41 +01:00
Alexandre Vryghem
1db83ba3c5 Fix collection mapper accessibility issues
- Added missing aria-labels to input checkboxes
- Fixed multiple tab related accessibility issues
2023-12-03 15:57:49 +01:00
Alexandre Vryghem
5b21d14583 Fix item mapper accessibility issues
- Added missing aria-labels to input checkboxes
- Fixed role="tablist" not having direct role="tab" by adding role="presentation" on the li elements
2023-12-03 15:57:49 +01:00
Alexandre Vryghem
09bf8af03c Fix resource policy accessibility issues 2023-12-03 15:57:49 +01:00
Alexandre Vryghem
57cc34cdd1 Fix Bitstream format accessibility issues
- Added missing aria-labels to input checkboxes
- Fixed minor css alignment
2023-12-03 15:57:49 +01:00
Alexandre Vryghem
120835cfcd Fix Process detail accessibility issues
- Made Process Output keyboard accessible
2023-12-03 15:57:48 +01:00
Alexandre Vryghem
52c0977489 Fix Create a new process page accessibility issues
- Added missing aria-label to delete buttons
- Moved hardcoded translation to translation files
- Fix color contrast issues on buttons
- Fix minor alignment issues
- Added missing aria labels to input and select elements
2023-12-03 15:57:48 +01:00
Alexandre Vryghem
4ea487cc0d Fix Processes Overview accessibility issues
- Added missing aria-label to delete button
2023-12-03 15:57:48 +01:00
Alexandre Vryghem
3bdfc386e9 Fix System-wide Alert accessibility issues
- Added missing aria-label to buttons
2023-12-03 15:57:48 +01:00
Alexandre Vryghem
3628c84844 Fix Health Panel usability issues
- Fixed aria-controls on HealthComponentComponent, HealthInfoComponent, HealthInfoComponentComponent, HealthPanelComponent pointing to non-existing id
- Fixed the tabs not having the role tab on its tabs
- Fixed aria-expanded being set to true when collapsed and backwards for HealthPanelComponent & HealthInfoComponent
- Fixed role="tablist" not having direct role="tab" by adding role="presentation" on the li elements
- Fixed minor alignment issues
2023-12-03 15:57:48 +01:00
Alexandre Vryghem
c300123b78 Fix Bulk Access Management usability issues
- Added aria-labels to trash & select bitstream icon
- Added aria-labels ui-switch components (had to upgrade ngx-ui-switch to 14.1.0)
- Fixed aria-controls pointing to non-existing ids
- Fixed bulk-access-browse not having the tab role on it's tabs
- Fixed role="tablist" not having direct role="tab" by adding role="presentation" on the li elements
- Fixed aria-expanded being set to true when collapsed and backwards for BulkAccessBrowseComponent & BulkAccessSettingsComponent
2023-12-03 15:57:47 +01:00
Tim Donohue
81048599d7 Merge pull request #2673 from mspalti/thumbnail-fix
Fix for loading thumbnail images for Items when MediaViewer enabled
2023-11-30 14:14:20 -06:00
Alexandre Vryghem
e339b46228 108915: Added the missing Filetypes followLink to Process 2023-11-30 17:56:34 +01:00
Alexandre Vryghem
6b0f2e7c44 108915: Refactored code to use followLinks to retrieve the files of a process instead of a second request 2023-11-30 17:36:40 +01:00
Francesco Bacchelli
48670ddf6f Merged in CST-12822-coar-display-pattern-type (pull request #1075)
CST-12822 notify request box with offerType
2023-11-30 14:09:29 +00:00
frabacche
f4436a07e9 CST-12822 notify request box with offerType 2023-11-30 15:05:35 +01:00
Alisa Ismailati
71bc0192e3 [CST-12791] changed the route for suggestions to be be accessible to any logged in user 2023-11-30 13:01:46 +01:00
Michael Spalti
88c39e8b26 Fix for thumbnail images in items.
Revert changes in html template

Revert changes in html template

Revert changes in html template
2023-11-29 17:57:44 -08:00
Tim Donohue
474b70b845 Merge pull request #2666 from tdonohue/use_reusable_docker_build
[Docker] Refactor to simply use the reusable-docker-build.yml from DSpace/DSpace.
2023-11-29 09:26:53 -06:00
Tim Donohue
b30fd4bb0b Remove unused env variables 2023-11-28 16:50:55 -06:00
Tim Donohue
fce5cdcc72 Refactor to simply use the reusable-docker-build.yml from DSpace/DSpace. 2023-11-28 16:11:09 -06:00
Mykhaylo Boychuk
101cd0a553 [CST-12109] improvement code 2023-11-28 00:17:04 +01:00
Alexandre Vryghem
cc71d60ebb Fixed duplicate search-navbar-container id & renabled accessibility tests for header 2023-11-26 02:18:54 +01:00
Alexandre Vryghem
8a7bdfe18f Added aria-labels & fixed aria-controls on myDSpace page
- Added aria-label to the new submission buttons (for repositories with more than 1 entity type)
- Fixed aria-controls pointing to non-existing ids
2023-11-26 02:18:54 +01:00
Alexandre Vryghem
9ab30231aa Replaced uncrawlable links with buttons 2023-11-26 02:18:54 +01:00
Alexandre Vryghem
e229be44d6 Added missing aria labels to edit bitstream tab 2023-11-25 14:21:57 +01:00
Mykhaylo Boychuk
1c3776b2d3 [CST-12109] porting missing code 2023-11-24 11:28:38 +01:00
Alexandre Vryghem
430ee3846a Fixed ePerson link on edit group page 2023-11-23 21:29:23 +01:00
Alisa Ismailati
1153c906ac Merged in coar-CST-12768 (pull request #1053)
[CST-12768] LDN Service edit "Automatic" flag fixed

Approved-by: Stefano Maffei
2023-11-23 14:06:00 +00:00
Alisa Ismailati
117415230b [CST-12768] small change 2023-11-23 15:05:08 +01:00
Alisa Ismailati
e74376c0bc Merged in coar-CST-12767 (pull request #1054)
[CST-12767] Fixed Modal behaviour when discarding a LDN service

Approved-by: Stefano Maffei
2023-11-23 14:04:59 +00:00
Alisa Ismailati
86bbd26145 [CST-12768] unit test fix 2023-11-23 15:04:36 +01:00
Alisa Ismailati
d257380670 [CST-12768] other fixes 2023-11-23 14:42:49 +01:00
Alisa Ismailati
8256de50a1 [CST-12767] Fixed Modal behaviour when discarding a LDN service 2023-11-23 12:14:30 +01:00
Alisa Ismailati
867bf8aa23 [CST-12768] LDN Service edit "Automatic" flag fixed 2023-11-23 11:35:02 +01:00
Alisa Ismailati
27d891a88c Merged in coar-CST-12709 (pull request #1051)
Coar CST-12709

Approved-by: Stefano Maffei
2023-11-23 09:01:23 +00:00
Alan Orth
727df563b8 Merge pull request #2652 from alexandrevryghem/deslect-metadata-fields-from-different-shemas_contribute-main
Deselect all metadata fields when switching between metadata schemas in registry
2023-11-23 07:57:17 +03:00
Tim Donohue
7e2f23aacd Merge pull request #2658 from tdonohue/quicker_redeploy
Redeploy demo/sandbox more quickly by only waiting for AMD64 Docker image to complete
2023-11-22 11:30:46 -06:00
Alisa Ismailati
dbdfcea06a [CST-12718] Added validations on LDN Service form 2023-11-22 17:58:11 +01:00
Tim Donohue
ff677a83d6 Redeploy demo/sandbox more quickly by only waiting for AMD64 image 2023-11-22 10:51:28 -06:00
Alisa Ismailati
75ac289ff6 [CST-12709] chages 2023-11-22 16:20:15 +01:00
Alisa Ismailati
df0f1920dc [CST-12709] unit tests and final fixes 2023-11-22 15:20:59 +01:00
Tim Donohue
4f340d8870 Merge pull request #2649 from tdonohue/update_gh_actions
GitHub Actions Updates: Redeploy Sandbox via Docker & Fix retry of Codecov upload
2023-11-21 13:41:40 -06:00
Tim Donohue
fd645452a5 Trigger redeploy of demo/sandbox from GitHub Actions after DockerHub image updated. 2023-11-21 12:15:42 -06:00
Alisa Ismailati
442426bb2e [CST-12709] partial implementation with mock data 2023-11-21 18:38:49 +01:00
Jean-François Morin
6d9768ec81 Updated to latest version from main branch 2023-11-21 09:36:34 -05:00
Alisa Ismailati
f8215e7b17 Merged in coar-CST-11884 (pull request #1038)
[CST-11884] added notify related information in the item details page

Approved-by: Stefano Maffei
2023-11-21 13:49:00 +00:00
Alisa Ismailati
d46248e99b [CST-11884] added notify related information in the item details page 2023-11-20 16:48:14 +01:00
Mattia Vianelli
596cd6f7e3 Merged in CST-12180 (pull request #950)
CST-12180 added div container

Approved-by: Stefano Maffei
2023-11-20 15:38:54 +00:00
Mattia Vianelli
a495a291ea CST-12180 2023-11-20 16:21:25 +01:00
Mattia Vianelli
d7db4bc79f Merged in CST-12498 (pull request #1037)
CST-12498 fix tests errors and lint errors

Approved-by: Stefano Maffei
2023-11-20 14:54:36 +00:00
Mattia Vianelli
53599491e1 CST-12498 lint fix 2023-11-20 15:43:29 +01:00
Mattia Vianelli
4a9bfb0346 CST-12498 rollback 2023-11-20 15:39:17 +01:00
Stefano Maffei
56becbcc2c Merge remote-tracking branch 'origin/CST-12498' into coar-notify-7 2023-11-20 15:17:28 +01:00
Stefano Maffei
b1d2b78b40 [CST-12700] added missing label 2023-11-20 15:17:14 +01:00
Mattia Vianelli
3453f2615d Merge remote-tracking branch 'origin/CST-12498' into CST-12498 2023-11-20 15:16:15 +01:00
Mattia Vianelli
aa08989827 CST-12498 rollback 2023-11-20 15:15:58 +01:00
Alisa Ismailati
cb8f45575e Merged in coar-CST-12700 (pull request #1035)
[CST-12700] fixes

Approved-by: Stefano Maffei
2023-11-20 13:47:54 +00:00
Alisa Ismailati
21d9785ca7 [CST-12700] fixes 2023-11-20 13:52:13 +01:00
Mattia Vianelli
d8e67874d9 Merged coar-notify-7 into CST-12498 2023-11-20 12:35:33 +00:00
Mattia Vianelli
532f4725b2 CST-12498 Final refactor 2023-11-20 13:29:44 +01:00
Mattia Vianelli
36778a09cb CST-12498 Added last javadocs and removed console.log and comments 2023-11-20 13:27:39 +01:00
Mattia Vianelli
f35e6ae0dc CST-12498 Fixed tests for directory, no more failing ones 2023-11-20 13:09:42 +01:00
Mattia Vianelli
80991e6501 CST-12498 Fixed create form labels alignment 2023-11-20 10:11:01 +01:00
Alisa Ismailati
2386bb86b9 Merged in coar-CST-11523 (pull request #1029)
[CST-11523] footer component unit tests

Approved-by: Stefano Maffei
2023-11-20 07:30:08 +00:00
Alisa Ismailati
3a6d8f3d1b Merged in coar-CST-12147 (pull request #1028)
[CST-12147] display serive name & link for notify-coar events

Approved-by: Stefano Maffei
2023-11-20 07:29:06 +00:00
Alexandre Vryghem
ecca8286b5 108587: Deselect all fields on component destruction 2023-11-18 15:28:09 +01:00
Mattia Vianelli
f7ca7a688d CST-12498 Added javadocs 2023-11-18 01:13:17 +01:00
Mattia Vianelli
d1ae9adaac CST-12498 Added javadocs 2023-11-18 01:09:52 +01:00
Mattia Vianelli
bdd2a8bcab CST-12498 Tests added, need to check TODOs in ldn-services-directory.component.spec.ts 2023-11-17 21:19:38 +01:00
Mattia Vianelli
92b791ed15 CST-12498 Added tests, still needs cleanup and check on one behaviour 2023-11-17 20:34:28 +01:00
Tim Donohue
0d7d9f157d Merge pull request #2650 from tdonohue/fix_docker_manifests_again
Follow-up Docker image build fix. Fix directory structure for `latest-dist` digests
2023-11-17 12:05:19 -06:00
Tim Donohue
c99fe3a6c1 Fix directory structure for -dist digests 2023-11-17 11:56:48 -06:00
Tim Donohue
9f12ca3265 Update GH actions to latest versions. Fix bug in codecov to ensure it retries on error. 2023-11-17 11:05:46 -06:00
Mattia Vianelli
3c96abb64f CST-12498 Provided working mock, finishing the tests files 2023-11-17 17:23:35 +01:00
Alisa Ismailati
53ba509ff9 [CST-11523] footer component unit tests 2023-11-17 17:18:16 +01:00
Tim Donohue
99228d95e2 Merge pull request #2648 from tdonohue/fix_docker_manifest
Fix bug in Docker image build process which caused tags to have improper manifests in DockerHub
2023-11-17 10:08:43 -06:00
Tim Donohue
41eba0dc2f Fix bug in Docker manifest. Each build must use a separate artifact to store digests. Other minor cleanup & comments added. 2023-11-17 09:31:09 -06:00
Alisa Ismailati
7726183939 [CST-12147] display serive name & link for notify-coar events 2023-11-17 15:20:00 +01:00
Mattia Vianelli
5a7965d14a Merged in CST-12455_coar-7_sync (pull request #1024)
CST-12455 coar 7 sync

Approved-by: Stefano Maffei
2023-11-17 09:08:18 +00:00
Michael Spalti
6fff475a5a File edit component updated to work for forms without access conditions.
Fixed unit test

Fixed accidental reformatting
2023-11-16 19:50:55 -08:00
Mattia Vianelli
6c710b709a CST-12455_coar-7sync Removed console.log 2023-11-17 00:14:47 +01:00
Mattia Vianelli
1405e23f9c CST-12455_coar-7sync Removed console.log 2023-11-17 00:09:11 +01:00
Tim Donohue
b0deccc1bd Merge pull request #2644 from misilot/gha-matrix-docker-build
Setup the Docker GH Action for Matrix Building
2023-11-16 16:02:26 -06:00
Mattia Vianelli
5203a0106c CST-12455_coar-7sync Fixed 2 code rows 2023-11-16 22:25:50 +01:00
Mattia Vianelli
1ba925dd8f CST-12455_coar-7sync Wrongly added file removal 2023-11-16 22:21:04 +01:00
Mattia Vianelli
9651c74753 CST-12455_coar-7sync Failing tests fixed. Ready to be merged 2023-11-16 22:15:27 +01:00
Mattia Vianelli
bb3cbadfa4 CST-12455_coar-7sync Last refactor and TODO removal 2023-11-16 22:03:23 +01:00
Mattia Vianelli
64d9aba08c CST-12455_coar-7sync Small fix 2023-11-16 19:40:54 +01:00
Mattia Vianelli
6303d4c7e6 CST-12455_coar-7sync Refactor after branch sync 2023-11-16 19:36:56 +01:00
Mattia Vianelli
18367bab58 CST-12455_coar-7sync Refactor after branch sync 2023-11-16 19:36:28 +01:00
Mattia Vianelli
c8ece659eb Merge remote-tracking branch 'remotes/origin/coar-notify-7' into HEAD 2023-11-16 19:29:46 +01:00
Thomas Misilo
394dc67747 Setup the Docker GH Action for Matrix Building
This change enables building of the amd64 and arm64 images simultaneously.

Once both images finish, the manifest is sent to Docker Hub, allowing for a single image that has both the amd64/arm64 images.
2023-11-16 11:36:06 -06:00
Mattia Vianelli
7831bcbfae CST-12455 Working dropdowns with scroll showing only 4 values + improvement for form input fields 2023-11-16 18:25:09 +01:00
Alisa Ismailati
0361dd27f5 Merged in coar-CST-12608 (pull request #1007)
[CST-12608] qaevents page improvements

Approved-by: Stefano Maffei
2023-11-16 16:33:26 +00:00
Mattia Vianelli
400d10d43c Merged in CST-12179 (pull request #980)
CST-12179

Approved-by: Stefano Maffei
2023-11-16 15:56:33 +00:00
Mattia Vianelli
3a6f57d34d CST-12455 Task Completed, cleanup needed 2023-11-15 18:44:24 +01:00
Mattia Vianelli
00bf0d34b1 CST-12455 Code refactor and new dropdowns implementation 2023-11-15 16:05:53 +01:00
Mattia Vianelli
d8e7487eff CST-12455 Create page logic is working now finishing up the styling for the page 2023-11-15 13:19:14 +01:00
Mattia Vianelli
778a06724b CST-12455 Edit page logic is working now finishing up the styling for the page 2023-11-15 12:48:53 +01:00
Mattia Vianelli
35c45850e7 CST-12455 Itemfilter dropdown for the edit inboundpatterns is working, now changing all remaining code and finalizing task 2023-11-15 11:57:14 +01:00
Mattia Vianelli
754a6822a7 CST-12455 Itemfilter dropdown first refactoring just for layout 2023-11-15 11:29:59 +01:00
Mattia Vianelli
cd5d509160 CST-12455 Changes for the page to be using an ngbdropdown logic are now working 2023-11-14 17:33:56 +01:00
Mattia Vianelli
721b80a0e6 CST-12455 Changes for the page to be using an ngbdropdown logic are still required and being worked on 2023-11-14 13:13:39 +01:00
Tim Donohue
cb701909e5 Merge pull request #2610 from alexandrevryghem/menu-section-improvements_contribute-7.6
Fixed menu not updating when a new sub section is added after rendering has already completed
2023-11-13 16:29:45 -06:00
Tim Donohue
7ad5a5bc2c Merge pull request #2633 from vNovski/edit-item-view-random-order-of-buttons-in-status-tab
Edit-item view: random order of buttons in status tab
2023-11-13 16:05:27 -06:00
Tim Donohue
e99fff8c5f Merge pull request #2632 from vNovski/DURACOM-202-some-item-edit-pages-are-accessible-by-anonymous-users
Fixes "some item edit pages are accessible by anonymous users"
2023-11-13 14:34:24 -06:00
Tim Donohue
c515cb20ef Merge pull request #2562 from alexandrevryghem/theme-fixes_contribute-main
Fix match theme by handle with canonical prefix https://hdl.handle.net/ not working
2023-11-13 14:20:26 -06:00
Tim Donohue
55435a22fe Merge pull request #2579 from paulo-graca/bugfix/accessstatus-2402
adding new access-status-list-element-badge css classes
2023-11-13 11:30:12 -06:00
Tim Donohue
4bda8f43cc Merge pull request #2630 from alexandrevryghem/fix-routes-not-relative-to-basehref_contribute-main
Fix handle redirect not working with custom nameSpace
2023-11-13 11:22:36 -06:00
Mattia Vianelli
72727479c8 Merged coar-notify-7 into CST-12455 2023-11-13 14:43:04 +00:00
Alisa Ismailati
786e2ee43e [CST-12608] qaevents page improvements 2023-11-13 15:17:34 +01:00
Vlad Nouski
fbbbc18844 refactor: code 2023-11-13 15:02:27 +01:00
Vlad Nouski
35f8b55f58 fix: random order of buttons in status tab 2023-11-13 13:11:11 +01:00
Alexandre Vryghem
b894dce3b0 Fix handle redirect not working with custom nameSpace 2023-11-11 22:20:42 +01:00
Alexandre Vryghem
7529ed8b35 107671: Fixed theme matching by handle not working in production mode 2023-11-11 02:22:07 +01:00
Tim Donohue
497ab09cfa Merge pull request #2620 from atmire/w2p-108045_repeatable-date-fields-label-fix_contribute-main
Fix for repeatable date field labels
2023-11-10 16:38:13 -06:00
Tim Donohue
dfb0bbd694 Merge pull request #2625 from DSpace/dependabot/npm_and_yarn/axios-1.6.0
Bump axios from 0.27.2 to 1.6.0
2023-11-10 16:23:26 -06:00
Tim Donohue
2105e70d14 Merge pull request #2545 from tdonohue/fix_9052
Fix "Edit Group" page always requests all member Subgroups & EPersons
2023-11-10 13:03:30 -06:00
Mattia Vianelli
075c53a1f4 CST-12179 Using json5 and error are logged under the various sections if the form is not valid we simply close the modal 2023-11-10 20:00:42 +01:00
Mattia Vianelli
3aaeaa6397 CST-12179 Removed comments 2023-11-10 19:41:11 +01:00
Vlad Nouski
71af428a16 [CST-12044] refactor: styles 2023-11-10 18:13:09 +01:00
Tim Donohue
d0294759eb Merge pull request #2607 from alexandrevryghem/added-skip-to-main-content-button_contribute-main
Added skip to main content button
2023-11-10 10:51:15 -06:00
dependabot[bot]
ef9f31d3c6 Bump axios from 0.27.2 to 1.6.0
Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.6.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.6.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-10 16:44:04 +00:00
Vincenzo Mecca
2429c3660b [DURACOM-204][#2622] Makes forgot-password link removable 2023-11-10 16:49:06 +01:00
Paulo Graça
75b788d05b adding ngOnDestroy for dealing with unsubscribe 2023-11-10 15:19:36 +00:00
Tim Donohue
f336a8b745 Merge pull request #2611 from TAMULib/tamu-main-community-list-updates
Communities & Collections tree browser updates - Replaced #2597
2023-11-10 09:14:13 -06:00
Vincenzo Mecca
91b4d3dcd1 [DURACOM-204][#2622] Makes forgot-password link removable 2023-11-10 16:13:20 +01:00
Vlad Nouski
6f64db1645 [DURACOM-202] refactor: code 2023-11-10 15:11:09 +01:00
Vlad Nouski
b6d515ff09 [DURACOM-202] refactor: code 2023-11-10 15:09:02 +01:00
lotte
0d39fe4cbc Merge branch 'w2p-108045_repeatable-date-fields-label-fix_contribute-7.4' into w2p-108045_repeatable-date-fields-label-fix_contribute-main 2023-11-10 14:42:37 +01:00
lotte
a3181a0689 Fixed test 2023-11-10 14:42:03 +01:00
Vlad Nouski
ccf1cc4547 [DURACOM-202] feature: item edit pages are accessible by administrator 2023-11-10 14:38:56 +01:00
Alisa Ismailati
f99f5d2414 Merged in coar-CST-12535 (pull request #990)
[CST-12535] GET quality assurance topics by source/target

Approved-by: Andrea Bollini
2023-11-10 13:17:25 +00:00
Alisa Ismailati
96cbd7323a Merged in coar-CST-12500 (pull request #991)
[CST-12500] coar-notify panel - new label keys for the dropdowns

Approved-by: Andrea Bollini
2023-11-10 13:10:04 +00:00
Alisa Ismailati
6675f9cd6a [CST-12535] improvements 2023-11-10 11:20:33 +01:00
Mattia Vianelli
f4b8c7f1f1 CST-12179 Removed comments 2023-11-10 10:44:39 +01:00
lotte
6e6cfbb86e 108045: Fix for repeatable date field labels 2023-11-10 10:37:52 +01:00
Mattia Vianelli
221a43d211 CST-12179 Provided json5 values 2023-11-10 10:21:39 +01:00
Mattia Vianelli
92330953bf CST-12455 Provided json5 key values based on the string arrays 2023-11-10 10:04:32 +01:00
Paulo Graça
c7eae9242a remove replaceAll and use an object property 2023-11-10 00:10:55 +00:00
Paulo Graça
6378dbec4a new accessStatusClass atribute 2023-11-10 00:09:46 +00:00
Paulo Graça
3bf2eb1997 Create new access-status-badge.component.scss 2023-11-10 00:04:45 +00:00
Alexandre Vryghem
19ed3c88e3 Merge remote-tracking branch 'upstream/main' into added-skip-to-main-content-button_contribute-main
# Conflicts:
#	src/app/root/root.component.html
2023-11-10 00:18:41 +01:00
Alexandre Vryghem
4e54cca600 107671: Fixed bug where config property would still sometimes be undefined whey calling the ngOnDestroy in the ThemedComponent 2023-11-10 00:10:06 +01:00
Alexandre Vryghem
da8880e5ba 107671: Split Theme model & ThemeConfig classes in separate files to prevent circular dependencies 2023-11-10 00:10:06 +01:00
Alexandre Vryghem
a7faf7d449 107671: Fix handle theme not working with canonical prefix https://hdl.handle.net/ 2023-11-10 00:10:06 +01:00
Tim Donohue
684846ae36 Merge pull request #2594 from 4Science/DURACOM-180
Media viewer controls rendered behind DSpace header
2023-11-09 16:44:12 -06:00
Tim Donohue
8a651ef307 Merge pull request #2574 from mahnkong/main
Support type-bind of elements based on repeatable list type-bound element (CHECKBOX_GROUP)
2023-11-09 16:03:54 -06:00
Tim Donohue
9117ac005f Address feedback. Run empty search on init. Reorder sections to list current members before add members (for both eperson and groups) 2023-11-09 13:57:04 -06:00
Tim Donohue
d163db13f2 Remove seemingly unnecessary page reload after new search. 2023-11-09 13:56:39 -06:00
Tim Donohue
2eb1a17e4e Refactor subgroups-list component's "search()" to act same as member-list component's "search()". Avoids reloading the page as frequently. 2023-11-09 13:56:39 -06:00
Tim Donohue
8a10888d2a Refactor members-list and subgroups-list components to use new isNotMemberOf endpoints (via services) 2023-11-09 13:56:39 -06:00
Tim Donohue
64f968b246 Fix subgroups-list specs so they align with new members-list specs 2023-11-09 13:56:39 -06:00
Tim Donohue
b598f1b5ca Also remove unnecessary EpersonDtoModel from extending ReviewersListComponent. Remove "memberOfGroup" from EpersonDtoModel as it is no longer used 2023-11-09 13:56:39 -06:00
Tim Donohue
bffae54b10 Remove unnecessary EpersonDtoModel. Rework code and tests to use EPerson instead. 2023-11-09 13:56:39 -06:00
Tim Donohue
43d37196fb Remove "isMemberOfGroup()" from members-list component. 2023-11-09 13:56:39 -06:00
Tim Donohue
229236634a Fix bug where linked Community/Collection info was sometimes listed many times in a row 2023-11-09 13:56:39 -06:00
Tim Donohue
97479a2945 Remove isSubgroupOfGroup() functionality as it loads every subgroup at once. Bad peformance for large groups 2023-11-09 13:56:39 -06:00
Tim Donohue
0da7c15f2e Limit getMembers() and getSubgroups() to only fetching one object. These lists are only used to find the size of each 2023-11-09 13:56:39 -06:00
Alan Orth
642d577cea Merge pull request #2602 from atmire/w2p-108055_freetext-values-in-vocabulary
Support for freetext values in submission for vocabulary controlled `onebox` and `tag` types
2023-11-09 21:56:23 +03:00
Tim Donohue
9a3d330d98 Merge pull request #2595 from TAMULib/develop
Add UI nameSpace context path to Mirador viewer path
2023-11-09 11:45:02 -06:00
Tim Donohue
f116bdf5d6 Merge pull request #2596 from 4Science/fix-submission-cache-bug
Fix cache issue when depositing a submission
2023-11-09 11:31:34 -06:00
William Welling
dc2ef989e6 Filter expanded nodes by id
Co-Authored-By: Art Lowel <1567693+artlowel@users.noreply.github.com>
2023-11-09 11:24:31 -06:00
William Welling
11d3771e72 Update condition to render show more node
`loadingNode` ends up being the current `node` after clicking it preventing it from rendering when more pages available.

Update community list component spec

Make the show more flat node id unique

The nodes with same id are conflicting when added to the tree. Clicking on the second with same id places the show more button under the wrong branch and expands the wrong page.
2023-11-09 11:11:08 -06:00
Davide Negretti
c042cd8d11 [DURACOM-180] Prevent header from covering media viewer controls (base theme) 2023-11-09 17:23:44 +01:00
Davide Negretti
0208a78437 [DURACOM-180] Prevent header from covering media viewer controls (dspace theme) 2023-11-09 17:23:44 +01:00
lotte
4e2d6d109e 108045: Fix for repeatable date field labels 2023-11-09 15:46:57 +01:00
Tim Donohue
7cf26e4815 Merge pull request #2606 from DSpace/backport-2590-to-main
[Port main] fix(pt-BR.json5): fix and update the language file
2023-11-09 08:40:02 -06:00
Davide Negretti
a3e6d9b09a [DURACOM-195] Simplify vertical spacing in header and breadcrumbs 2023-11-09 12:59:15 +01:00
Jens Vannerum
496c93fa5f Merge remote-tracking branch 'dspaceMain/main' into w2p-108055_freetext-values-in-vocabulary 2023-11-09 11:04:19 +01:00
Marco Aurelio Cardoso
07516985af fix(pt-BR.json5): fix and update the language file and previous errors
Fix and update the pt-BR language file and the previous errors

(cherry picked from commit 8b48a0b118)
2023-11-08 22:49:53 +00:00
Marco Aurelio Cardoso
0bcbd2f329 fix(pt-BR.json5): fix and update the language file
Fix and update the pt-BR language file

(cherry picked from commit e1494c0518)
2023-11-08 22:49:53 +00:00
Alexandre Vryghem
c4205163f9 Added skip to main content button 2023-11-08 23:43:17 +01:00
Tim Donohue
3cb623de72 Merge pull request #2364 from 4Science/DURACOM-177
Utility gap-* classes for flexbox
2023-11-08 16:15:12 -06:00
Tim Donohue
0c332561be Merge pull request #2603 from tdonohue/testing_e2e_fix
Fix e2e tests by running in production mode & using a user-agent for statistics
2023-11-08 12:24:52 -06:00
Tim Donohue
72cda41731 Specify user agent to avoid being detected as a "bot" by backend 2023-11-08 10:08:49 -06:00
Alexandre Vryghem
1bbc053c00 107902: Created test case for 2f26e686cc 2023-11-08 15:01:29 +01:00
Alisa Ismailati
8e70af6a58 [CST-12500] re-write translation keys based on pattern names 2023-11-08 14:34:18 +01:00
Jens Vannerum
aac58e612d 108055: add user input to tag list 2023-11-08 12:00:46 +01:00
Jens Vannerum
0dcf6cb885 108055: fix issue 8686: unable to enter freetext values in the submission form for vocabulary 2023-11-08 10:25:27 +01:00
Alisa Ismailati
8f290c17c1 [CST-12500] coar-notify panel - new label keys for the dropdowns 2023-11-07 16:40:41 +01:00
Mykhaylo Boychuk
5589c76f54 [CST-12109] porting of box thatallows undo of QAEvent request 2023-11-07 16:17:49 +01:00
Alisa Ismailati
4bd80c9951 [CST-12535] GET quality assurance topics by source/target 2023-11-07 15:28:04 +01:00
Alisa Ismailati
546c892eb1 [CST-12500] Unit tests SubmissionSectionCoarNotifyComponent 2023-11-06 17:27:49 +01:00
Tim Donohue
7dcaae8465 Ensure e2e tests run in production mode 2023-11-06 10:25:08 -06:00
Davide Negretti
a35629536e [DURACOM-177] Use gap-* classes on navbar buttons 2023-11-06 11:39:48 +01:00
Alisa Ismailati
dd0dfbab99 Merged in CST-12490 (pull request #983)
[CST-12490] unit test fixes

Approved-by: Andrea Bollini
2023-11-06 10:20:44 +00:00
Alexandre Vryghem
fdbcfd01fe Merge branch 'menu-section-improvements-7.4' into menu-section-improvements-7.6
# Conflicts:
#	src/app/shared/menu/menu.service.ts
2023-11-05 16:51:40 +01:00
Giuseppe Digilio
f7420391c9 Merge branch 'CST-12043-primary-bitstream-flag' into CST-12044-visualize-the-primary-bitstream 2023-11-03 22:13:04 +01:00
Giuseppe Digilio
9ce9606c38 [CST-12043] Fix layout 2023-11-03 22:12:00 +01:00
Giuseppe Digilio
034d7ddbbc [CST-12043] Remove ng-deep styles 2023-11-03 22:11:26 +01:00
Giuseppe Digilio
41eb34b7f4 [CST-12043] Add class for element container 2023-11-03 22:10:10 +01:00
Alisa Ismailati
9ffc778b52 Merged in coar-CST-12145 (pull request #967)
Coar CST-12145

Approved-by: Andrea Bollini
2023-11-03 20:52:53 +00:00
Tim Donohue
e62832f9d3 Merge pull request #2593 from 4Science/DURACOM-194
Fix "Submission input type date doesn't work properly once a value has been set"
2023-11-03 15:15:18 -05:00
Mattia Vianelli
2790f1e624 Merged in CST-12481 (pull request #979)
CST-12481

Approved-by: Andrea Bollini
2023-11-03 18:43:45 +00:00
Alisa Ismailati
bc267d21f5 Merged in CST-11045 (pull request #978)
CST-11045

Approved-by: Andrea Bollini
2023-11-03 18:28:59 +00:00
Alisa Ismailati
f74efd62a5 [CST-12490] unit test fixes 2023-11-03 17:54:45 +01:00
Mykhaylo Boychuk
ef1bd9fa3d [CST-12109] improve code 2023-11-03 12:18:19 +01:00
Mattia Vianelli
7fcd82a7e8 CST-12179 removed console.log 2023-11-03 11:28:47 +01:00
Mykhaylo Boychuk
6dc3528ae8 [CTS-12109] refactoring 2023-11-03 00:36:40 +01:00
Alisa Ismailati
d31dc4d5fd [CST-12145] get qa-sources by target for item-page & refactor 2023-11-02 17:49:19 +01:00
Giuseppe Digilio
f992ff6671 [DURACOM-197] Fix cache issue when depositing a submission 2023-11-02 16:46:33 +01:00
Mattia Vianelli
cc6bf7c460 Merge remote-tracking branch 'origin/CST-12481' into CST-12481 2023-11-02 14:42:25 +01:00
Mattia Vianelli
d28e09a5ae CST-12481 Added missing i18n values 2023-11-02 14:42:19 +01:00
Mattia Vianelli
673a331ca1 CST-12455 Added missing i18n values 2023-11-02 14:41:37 +01:00
Mattia Vianelli
ea726a7dba CST-12455 Moved patterns to be using i18n, added id to represent the string to send to the rest when doing operations 2023-11-02 14:16:14 +01:00
Mattia Vianelli
3e0e8e51d5 Merge remote-tracking branch 'origin/CST-12179' into CST-12179 2023-11-02 13:16:41 +01:00
Mattia Vianelli
b2e150d3e8 CST-12471 Form error now shows failed to edit the service and redirect to the form instead of closing and returning to services directory 2023-11-02 13:16:20 +01:00
Mattia Vianelli
83ef02c150 CST-12179 Form error now shows failed to edit the service and redirect to the form instead of closing and returning to services directory 2023-11-02 13:13:36 +01:00
Mattia Vianelli
1904befe0e CST-12179 Added form handling for errors and new field score that only accepts a value between 0 and 1 2023-11-02 13:07:46 +01:00
Alisa Ismailati
bcf0b4c297 [CST-11045] code clean up 2023-11-02 13:06:04 +01:00
Alisa Ismailati
8616ef7461 [CST-11045] rollback changes on ldn-service-coar-patterns.ts 2023-11-02 12:51:54 +01:00
Alisa Ismailati
5a8bc4e465 [CST-11045] small change 2023-11-02 12:48:35 +01:00
Alisa Ismailati
83761f1697 [CST-11045] Handle coar-notify section errors 2023-11-02 12:48:04 +01:00
William Welling
3228c457a3 Add UI nameSpace context path to Mirador viewer path 2023-11-01 14:39:08 -05:00
Alisa Ismailati
5b3bcf4271 Merged in coar-CST-12454 (pull request #974)
[CST-12454]  getting inbox url from rest for notify info page

Approved-by: Andrea Bollini
2023-11-01 17:48:38 +00:00
Andrea Bollini
7117bc3644 CST-12454 rename the placeholder to ldn inbox url 2023-11-01 18:48:03 +01:00
Alisa Ismailati
5dcd2d0ff7 [CST-11045] Save & update coar-notify-data (submission form) 2023-11-01 18:35:55 +01:00
Mykhaylo Boychuk
0b391970e0 [CST-12109] added new labels 2023-11-01 14:40:46 +01:00
Mykhaylo Boychuk
9094d8233f [CST-12109] implemented withdrawn-reinstate requests 2023-11-01 14:29:26 +01:00
Alisa Ismailati
d4d0fe0cbe Unit test fixes 2023-11-01 09:32:11 +01:00
Vlad Nouski
0f1f4e82e6 [CST-12043] feature: add label position 2023-10-31 12:45:09 +01:00
Mattia Vianelli
e14ca89802 Merge remote-tracking branch 'origin/CST-11045' into CST-11045 2023-10-31 11:59:34 +01:00
Mattia Vianelli
bbbeeb6b71 CST-11045 Changed names and styling 2023-10-31 11:56:25 +01:00
Alisa Ismailati
efd2d4c97c [CST-12454] getting inbox url from rest for notify info page 2023-10-31 11:49:35 +01:00
Alisa Ismailati
efcd4d335d Merged in coar-CST-12235 (pull request #951)
Coar CST-12235

Approved-by: Andrea Bollini
2023-10-31 09:27:01 +00:00
Mattia Vianelli
dff25d5de3 Merged in CST-10639 (pull request #908)
CST-10639

Approved-by: Andrea Bollini
2023-10-31 08:18:34 +00:00
Davide Negretti
930a381e4a [DURACOM-177] gap-* classes 2023-10-30 17:36:37 +01:00
Alisa Ismailati
c412c1fa13 [DURACOM-194] fixed year input value on input type date 2023-10-30 16:14:13 +01:00
Mattia Vianelli
b927761df3 CST-11045 Dropdown behavior improved, working on multiple dropdowns 2023-10-30 15:33:12 +01:00
Vlad Nouski
823f728eaa Merge remote-tracking branch '4cience-origin/CST-12043-primary-bitstream-flag' into CST-12043-primary-bitstream-flag 2023-10-30 12:52:41 +01:00
Vlad Nouski
ca64baca43 [CST-12043] feature: add title 2023-10-30 12:46:05 +01:00
Alisa Ismailati
143916c604 [CST-11178][CST-11179] fixed pagination for relationship management 2023-10-30 12:29:08 +01:00
Mykhaylo
1a525dfbe7 [CST-11179] Fixed breadcrumb & refresh & labels & redirection from /full page 2023-10-30 12:28:40 +01:00
Giuseppe Digilio
ac7cf5b4ba [CST-11178] Fix issue while retrieving the id 2023-10-30 12:27:35 +01:00
Giuseppe Digilio
b907c816b6 [CST-11178] Fix issue with link 2023-10-30 12:27:21 +01:00
Mykhaylo
5f63e3051e [CST-11178] Fix issue with correction type routing 2023-10-30 12:26:33 +01:00
Giuseppe Digilio
8157c477d3 [CST-11178] Fix correction-type-menu.component visualization 2023-10-30 12:25:22 +01:00
Alisa Ismailati
f76e224626 [CST-11178]CST-11179] small fix 2023-10-30 12:25:05 +01:00
Alisa Ismailati
c50dd72d92 [CST-11178][CST-11179] allow access for authorized user only 2023-10-30 12:24:40 +01:00
Alisa Ismailati
d7857a6036 [CST-11179][CST-11178] fix 2023-10-30 12:24:27 +01:00
Mykhaylo
eeefd867d4 [CST-11179][CST-11178] Fixes 2023-10-30 12:24:10 +01:00
Mykhaylo
d49185e449 [CST-11178][CST-11179] POST action of correction suggestion 2023-10-30 12:23:01 +01:00
Mykhaylo
bf67fee89b [CST-11178][CST-11179] page to select the target item for "relation" correction suggestion 2023-10-30 12:21:38 +01:00
Mykhaylo
752cb4d4b0 [CST-11178] show allowed correction types 2023-10-30 12:19:44 +01:00
Alisa Ismailati
543b4ad576 Merged in DSC-106 (pull request #643)
[DSC-106] Date input usable via keyboard using tab

Approved-by: Vincenzo Mecca
2023-10-30 11:31:35 +01:00
Alisa Ismailati
8e0af9bcee [CST-12145] commented code 2023-10-30 10:57:04 +01:00
Giuseppe Digilio
9322129c7d Merge branch 'CST-12043-primary-bitstream-flag' into CST-12044-visualize-the-primary-bitstream 2023-10-27 19:30:49 +02:00
Alisa Ismailati
e87c12cca3 [CST-12145] implementation of item-page & y dspace coar-notify notifications 2023-10-27 18:28:52 +02:00
Giuseppe Digilio
027a6b09e8 Merged cdl7 into CST-12043-primary-bitstream-flag 2023-10-27 15:44:00 +00:00
Tim Donohue
e1e2941983 Merge pull request #2580 from uniba-ub/issue2450-cssrules-exception
Check cssRules before css variables are read from stylesheet (again)
2023-10-27 10:27:52 -05:00
Mattia Vianelli
92d66c911a CST-11045 CSS refactor + dropdown data correctly populated 2023-10-27 16:24:17 +02:00
Mattia Vianelli
e9dd340e71 CST-11045 Added jsona5 text for coar submission section 2023-10-27 16:23:01 +02:00
Alexandre Vryghem
ab171648b6 New themed components & minor CSS fixes (#2442)
* 100839: Created themeable BrowseByComponent

* 100839: Added themed BrowseByComponent to custom theme

* 100839: Added themed BrowseEntryListElementComponent to custom theme

* Added PersonComponent to custom theme

* Themed LogInComponent

* Fix focus on navbar using different color

* Fix ccLicense checkbox margin

* Fix long search facets name not displaying correctly

* Removed RecentItemListComponent's unnecessary float causing alignment issues when adding components underneath it

* Themed RegisterEmailFormComponent
2023-10-26 16:04:44 -05:00
Tim Donohue
be59255623 Merge pull request #2441 from alexandrevryghem/header-and-navbar-css-fixes_contribute-7.6
Minor css variables fixes for header & navbar
2023-10-26 14:02:52 -05:00
Tim Donohue
1d7147e2af Merge pull request #2551 from alexandrevryghem/split-eperson-administration-page_contribute-main
[Port main] Created separate ePerson pages for create/edit
2023-10-26 13:23:44 -05:00
Alisa Ismailati
b102ef7165 [CST-12235] changed property name to ldn.notify.inbox 2023-10-26 19:28:44 +02:00
Alisa Ismailati
4fd475f6b7 [CST-12145] parial commit 2023-10-26 19:26:33 +02:00
Tim Donohue
8206e62df0 Merge pull request #2582 from DSpace/backport-2464-to-main
[Port main] i18n production improvements
2023-10-26 12:05:04 -05:00
Tim Donohue
0170949c51 Merge pull request #2506 from saschaszott/saschaszott-patch-3
allow insertion of multi-line scope notes in MD field registry
2023-10-26 11:56:26 -05:00
Mattia Vianelli
5ed9f46096 CST-11045 Improved css and remove console log and interpolation, added small notify regarding service compatibility 2023-10-26 18:47:25 +02:00
Alexandre Vryghem
f261264beb Implemented i18n cache busting
(cherry picked from commit 07a2e333ca)
2023-10-26 16:22:54 +00:00
Tim Donohue
6828fa38ce Merge pull request #2542 from 4Science/DURACOM-190
Fix i18n labels and alignment in vocabulary-treeview
2023-10-26 10:35:17 -05:00
Gantner, Florian Klaus
4dd334f2e7 more error-prone check of cssRules existence before css variables are get from stylesheet
check the existence off cssRules property before the variables are readed from this stylesheet
https://github.com/DSpace/dspace-angular/issues/2450
2023-10-26 15:56:52 +02:00
Paulo Graça
e847e4ef51 adding new access-status-list-element-badge css classes 2023-10-26 14:14:22 +01:00
Vlad Nouski
462aafb487 [CST-12044] feature: add translation for badge 2023-10-26 12:51:01 +02:00
Tim Donohue
81e3b36d7d Merge pull request #2423 from atmire/fix-inherit-policies-at-item-move
Fix inherit policies at item move (Angular)
2023-10-25 16:31:54 -05:00
Mattia Vianelli
0682b7b45f CST-11045 Dynamically creating dropdowns based on the coarconfig 2023-10-25 23:03:24 +02:00
Tim Donohue
3058a4bc86 Merge pull request #2362 from Leano1998/making_user-menu-component_themeable
Making user menu component themeable
2023-10-25 15:10:48 -05:00
Mattia Vianelli
12c60b7fad CST-12174 Removed console log 2023-10-25 21:44:41 +02:00
Mattia Vianelli
90652b62ce CST-12174 Added filters for empty string patterns removal 2023-10-25 21:41:11 +02:00
Tim Donohue
daef3f5161 Merge pull request #2530 from alexandrevryghem/fix-display-order-authentication-methods_contribute-7.6
Fix display LogInComponent turning blank when entering wrong username/password combination
2023-10-25 14:24:18 -05:00
Mattia Vianelli
7ed4d1457d CST-11045 Provided coarnotify section logic and dataservices for configs 2023-10-25 21:09:07 +02:00
Vlad Nouski
c644cc5102 [CST-12044] feature: add code coverage flag 2023-10-25 18:30:54 +02:00
Vlad Nouski
7cee04dd2d [CST-12044] feature: badge for primary bitstream 2023-10-25 18:29:48 +02:00
Vlad Nouski
f006bb3dff [CST-12043] fix: dependencies for unit test 2023-10-25 18:01:27 +02:00
Andreas Mahnke
09aaa46875 Support type-bind of elements based on repeatable list type-bound element (CHECKBOX_GROUP) 2023-10-25 16:34:51 +02:00
Kristof De Langhe
2f26e686cc 107685: menu-component re-render section on store update 2023-10-25 15:30:51 +02:00
Alan Orth
6affb06b26 Merge pull request #2553 from imilos/main
Added Serbian Cyrillic translation and corrected Serbian Latin translаtion
2023-10-24 21:02:24 +03:00
Mattia Vianelli
54fc1f81f7 Merged coar-notify-7 into CST-11045 2023-10-24 14:54:01 +00:00
Mattia Vianelli
c93c2a6234 CST-12174 fixed red selected form section both for inbound and outbound pattens 2023-10-24 16:52:03 +02:00
Mattia Vianelli
494295cd97 CST-11045 added sections parts 2023-10-24 15:26:23 +02:00
Alisa Ismailati
422a223c40 [CST-12235] support for the LDN inbox for root & /home & /item/:uuid pages 2023-10-24 15:14:55 +02:00
Mattia Vianelli
b995f9ea22 Merged coar-notify-7 into CST-11045 2023-10-24 12:20:00 +00:00
Mattia Vianelli
b3262ec290 CST-12180 added div container 2023-10-24 14:11:00 +02:00
Mattia Vianelli
d877d6f882 CST-12174 small layout fix 2023-10-24 14:05:50 +02:00
Mattia Vianelli
ce3ba35866 CST-12174 added isNew Check for patterns deeltion 2023-10-24 13:44:15 +02:00
Mattia Vianelli
4ecaeabe40 CST-12174 removed not needed guards 2023-10-24 13:27:46 +02:00
Mattia Vianelli
e2ad9fe707 CST-12174 Updated delete services to mark for deletion on outboundpatterns as well 2023-10-24 13:27:27 +02:00
Mattia Vianelli
0963a32081 CST-12174 Updated delete services to mark for deletion 2023-10-24 12:59:21 +02:00
Mattia Vianelli
5cca15daec CST-12174 Updated delete services to mark for deletion 2023-10-24 12:56:31 +02:00
Vlad Nouski
7c723caa15 [CST-12043] fix: redundant space 2023-10-24 12:52:46 +02:00
Vlad Nouski
6fc75a57e6 [CST-12043] ref: add and update documentation 2023-10-24 12:06:14 +02:00
Vlad Nouski
ae93cc0076 [CST-12043] fix: translation for custom switch 2023-10-24 12:05:12 +02:00
Alisa Ismailati
318f057ca4 [CST-12145] partial commit 2023-10-24 11:06:38 +02:00
Eike Löhden
7606f47688 Merge branch 'main' into making_user-menu-component_themeable 2023-10-24 07:53:08 +02:00
Tim Donohue
7c0fdcbe67 Merge pull request #2527 from alexandrevryghem/add-display-none-to-hidden-navbar-buttons_contribute-7.6
Minor header button improvements
2023-10-23 12:50:26 -05:00
Vlad Nouski
16327955a6 Merge commit 'bbc8b6ac8a15bdd619d4f7dac90655ab52dbad2c' into CST-12043-primary-bitstream-flag 2023-10-23 19:33:39 +02:00
Vlad Nouski
bbc8b6ac8a [CST-12043] unit tests 2023-10-23 18:34:13 +02:00
Tim Donohue
a9d7ee3617 Merge pull request #2561 from alexandrevryghem/fix-failing-request-service-test
Fix RequestService test sometimes failing in CICD
2023-10-23 08:55:47 -05:00
Alexandre Vryghem
b8eaf90b03 Merge branch 'fix-display-order-authentication-methods_contribute-7.4' into fix-display-order-authentication-methods_contribute-7.6
# Conflicts:
#	src/app/shared/log-in/log-in.component.html
#	src/app/shared/log-in/log-in.component.ts
2023-10-21 18:12:01 +02:00
Alexandre Vryghem
51b13fb78c Fix AuthorizationDataService.isAuthorized throwing a console error when the searchByObject request doesn't succeed 2023-10-21 18:08:02 +02:00
Alexandre Vryghem
987a92f529 Filter out all the AuthMethods who don't have a component to render before rendering LogInContainerComponent 2023-10-21 18:07:16 +02:00
Alexandre Vryghem
fb315335c9 Fix RequestService test failing because of different lastUpdated time 2023-10-21 14:45:37 +02:00
Tim Donohue
bf8519cc94 Merge pull request #2439 from amgciadev/fix-rac-grant-b
Fix Request-a-Copy grant form optional message not optional in form validation
2023-10-20 15:12:43 -05:00
Tim Donohue
1ffeae1c98 Merge pull request #2558 from tdonohue/revert_2454
Revert 2454 "Check cssRules before css variables are read from stylesheet"
2023-10-20 12:06:53 -05:00
Tim Donohue
6f73b65d53 Revert "Check cssRules before css variables are read from stylesheet (#2454)"
This reverts commit fa79c358c0.
2023-10-20 10:34:29 -05:00
Vlad Nouski
ffdeca69f4 [CST-12043] feature: add primary bitstream switch 2023-10-20 16:07:31 +02:00
Vlad Nouski
a55eb97a6a [CST-12043] fix: normalization for boolean 2023-10-20 16:04:40 +02:00
imilos
aa9e12dcfe Added Serbian cyrilic translation and corrected Serbian latin translation. 2023-10-20 11:27:22 +02:00
imilos
ad12e5a7f2 Added Serbian cyrilic translation and corrected Serbian latin translation. 2023-10-20 11:00:11 +02:00
Tim Donohue
1b109efc2c Merge pull request #2549 from DSpace/dependabot/npm_and_yarn/babel/traverse-7.23.2
Bump @babel/traverse from 7.21.4 to 7.23.2
2023-10-19 16:45:40 -05:00
Alexandre Vryghem
5151a2620c Merge remote-tracking branch 'upstream/main' into split-eperson-administration-page_contribute-main
# Conflicts:
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.html
2023-10-19 23:18:42 +02:00
Alexandre Vryghem
2e571767ea 107664: Normalized ePerson & group edit url and moved error message to translation file 2023-10-19 23:01:24 +02:00
Tim Donohue
3bbfcc9168 Merge pull request #2550 from DSpace/backport-2504-to-main
[Port main] Fix Angular SSR menu issues
2023-10-19 12:05:44 -05:00
Yana De Pauw
e0a3f15c00 106974: Angular SSR menu issues
(cherry picked from commit 3e8d180f1b)
2023-10-19 15:19:48 +00:00
dependabot[bot]
97f7a5e82a Bump @babel/traverse from 7.21.4 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.21.4 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-19 01:56:32 +00:00
Mattia Vianelli
2eb71604ee CST-12174 created new remotadata service for itemfilters, pages are updated in real time when editing/creating/deleting services related stuff, added modals to confirm/reset 2023-10-18 18:46:06 +02:00
Alisa Ismailati
6d794cd51f [CST-12235] LDN inbox mechanism for home (partial commit) 2023-10-18 09:29:52 +02:00
Flo
fa79c358c0 Check cssRules before css variables are read from stylesheet (#2454)
Check cssRules existence before css variables are get from stylesheet
2023-10-17 22:17:28 +03:00
Mattia Vianelli
ba0b110647 CST-12174 added resetForm and leave edit for edit-form and overview page 2023-10-17 17:46:47 +02:00
Mattia Vianelli
1c376b2964 CST-12174 Implemented data-service for the api calls 2023-10-17 16:28:36 +02:00
Alan Orth
5fd2782e7b Merge pull request #2534 from DSpace/dependabot/npm_and_yarn/postcss-8.4.31
Bump postcss from 8.4.23 to 8.4.31
2023-10-16 10:36:07 +03:00
Davide Negretti
feb2b2be53 [DURACOM-190] Fix alignment in vocabulary-treeview 2023-10-13 11:05:14 +02:00
Alan Orth
287ec5a2ab Merge pull request #2544 from DSpace/backport-2536-to-main
[Port main] Issue 2535 hide add more button submission if no disabled sections 7.x
2023-10-12 12:03:09 +03:00
Marie Verdonck
0d376a6607 Issue#2535: Hide add more button in submission if no disabled sections
(cherry picked from commit 709848ee25)
2023-10-12 06:46:34 +00:00
Alan Orth
312b0aacf6 Merge pull request #2531 from atmire/main-fix-browse-by-visual-bug
Fix browse by visual bug
2023-10-11 22:04:00 +03:00
Mattia Vianelli
8de0e76b72 CST-12174 Ldn services are now retrieved with the remotadata object 2023-10-11 15:35:28 +02:00
Davide Negretti
b321d6f727 [DURACOM-190] Fix i18n labels in vocabulary-treeview 2023-10-11 13:02:13 +02:00
Mattia Vianelli
9216073b5b CST-12174 Coar form pages are now sized correctly, finishing up save button and alias for api call 2023-10-11 12:34:48 +02:00
Pascal-Nicolas Becker
a57bcf0dc7 Merge pull request #2537 from mugraph/main
Translate community as 'Bereich' in de.json5
2023-10-10 22:39:46 +02:00
Mattia Vianelli
8f63b54d71 CST-11045 Located component, working on adding new accordion 2023-10-09 15:55:24 +02:00
Janne Jensen
0139670371 translate community as 'Bereich' in de.json5 2023-10-07 10:43:09 +02:00
Mattia Vianelli
71adb5b7c8 CST-10639 Fixed field in the item-view (Endorsement) 2023-10-06 15:17:57 +02:00
Mattia Vianelli
4dd339235f CST-10639 Fixed fields in the item-view (Endorsed Reviewed and Dataset) 2023-10-06 15:13:58 +02:00
Mattia Vianelli
2bf565392a CST-10639 Added new fields in the item-view (Endorsed Reviewed and Dataset) 2023-10-06 14:46:27 +02:00
Mattia Vianelli
9ab62d21b7 Merged in CST-11048 (pull request #905)
CST-11048

Approved-by: Andrea Bollini
2023-10-06 11:40:14 +00:00
Mattia Vianelli
c75f61840f CST-11048 Spaced form updated error behaviour 2023-10-06 13:04:52 +02:00
Sondissimo
f893c6f2f3 CST-11048 Implemented enabled slider in edit 2023-10-06 12:25:23 +02:00
Sondissimo
11f9258d40 CST-11048 Form Styling 2023-10-06 01:02:49 +02:00
dependabot[bot]
3c5079e9ce Bump postcss from 8.4.23 to 8.4.31
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.23 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.23...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-04 00:34:17 +00:00
Alexandre Vryghem
fa56d5dfb7 Fixed invalid html structure the ExpandableNavbarSectionComponent had an ul tag containing non-li tags 2023-10-02 21:31:42 +02:00
Alexandre Vryghem
58d31dd73f Applied same gap between header icons in the dspace theme and made the search field non-focusable when collapsed 2023-09-29 22:44:29 +02:00
Alexandre Vryghem
f9b4460e70 Themed LangSwitchComponent 2023-09-29 22:43:47 +02:00
Alexandre Vryghem
9f2a1d048b Use gap instead of individual paddings for header icons 2023-09-29 22:43:47 +02:00
Alexandre Vryghem
2ca2a3881f Added new variables for the expandable navbar section 2023-09-29 21:46:11 +02:00
Jens Vannerum
d0b4e15db4 Fix browse by visual bug 2023-09-29 15:54:34 +02:00
Enea Jahollari
3cf3cc8850 small fixes 2023-09-28 20:22:28 +02:00
Enea Jahollari
e232a7d8cb fix BitstreamAuthorizationsComponent tests 2023-09-28 20:03:05 +02:00
Enea Jahollari
bfe529e42a fix ProcessDetailComponent tests 2023-09-28 19:58:23 +02:00
Enea Jahollari
a353ac1188 fix ProjectSearchResultListElementComponent tests 2023-09-28 19:51:56 +02:00
Enea Jahollari
4c2c5af3ad fix CommunityListComponent tests 2023-09-28 19:48:52 +02:00
Enea Jahollari
840bad06bd fix SubmissionFormCollectionComponent tests 2023-09-28 19:44:34 +02:00
Enea Jahollari
5ba3bb2c9b fix MetadataRepresentationListComponent tests 2023-09-28 19:43:07 +02:00
Enea Jahollari
7447b64e61 fix JournalIssueComponent tests 2023-09-28 19:41:35 +02:00
Enea Jahollari
4374f284d9 fix ThumbnailComponent tests 2023-09-28 19:36:37 +02:00
Enea Jahollari
01c28a30a8 fix ItemPageAuthorFieldComponent tests 2023-09-28 19:34:03 +02:00
Enea Jahollari
35e967e8fb fix MetadataFieldFormComponent tests 2023-09-28 19:30:30 +02:00
Enea Jahollari
380658401b fix NumberPickerComponent tests 2023-09-28 19:09:58 +02:00
Enea Jahollari
08c22f90d4 fix SubmissionSectionSherpaPoliciesComponent tests 2023-09-28 18:46:09 +02:00
Enea Jahollari
f86de229d5 fix ItemGridElementComponent tests 2023-09-28 18:22:15 +02:00
Enea Jahollari
69e5b03015 fix JournalVolumeSearchResultListElementComponent tests 2023-09-28 18:18:09 +02:00
Enea Jahollari
7d96c90db9 fix CollectionAuthorizationsComponent tests 2023-09-28 18:15:42 +02:00
Enea Jahollari
35aadf7524 fix JournalVolumeListElementComponent tests 2023-09-28 18:14:17 +02:00
Enea Jahollari
18ee7513ba fix DsDynamicLookupRelationExternalSourceTabComponent tests 2023-09-28 17:49:49 +02:00
Enea Jahollari
2a88c8754c fix BrowseByTaxonomyPageComponent tests 2023-09-28 17:44:25 +02:00
Enea Jahollari
9e2842ff91 fix ItemAuthorizationsComponent tests 2023-09-28 17:40:52 +02:00
Enea Jahollari
945491b815 fix CollectionCurateComponent tests 2023-09-28 15:15:16 +02:00
Enea Jahollari
63fcd40a16 fix JournalSearchResultListElementComponent tests 2023-09-28 15:08:31 +02:00
Enea Jahollari
52da1e0329 fix OrcidSyncSettingsComponent tests 2023-09-28 14:56:37 +02:00
Enea Jahollari
c133ff7ebb fix CollectionSourceComponent tests 2023-09-28 14:48:12 +02:00
Enea Jahollari
5dfd812d81 fix ItemPageComponent tests 2023-09-28 14:46:36 +02:00
Enea Jahollari
5086eaa11f fix ProfileClaimItemModalComponent tests 2023-09-28 14:43:24 +02:00
Enea Jahollari
ca4fdae297 fix ItemEditBitstreamComponent tests 2023-09-28 14:41:53 +02:00
Enea Jahollari
444c35d7a1 fix GroupFormComponent tests 2023-09-28 14:35:08 +02:00
Enea Jahollari
995752a890 fix JournalVolumeSearchResultListElementComponent tests 2023-09-28 14:33:17 +02:00
Enea Jahollari
f112671b04 fix ContextHelpWrapperComponent tests 2023-09-28 14:30:13 +02:00
Enea Jahollari
38e2478442 fix ProfilePageComponent tests 2023-09-28 12:26:32 +02:00
Enea Jahollari
c449997d96 fix DsoEditMetadataFieldValuesComponent tests 2023-09-28 12:16:19 +02:00
Enea Jahollari
188320b6e2 fix SearchFilterComponent tests 2023-09-28 12:10:01 +02:00
Enea Jahollari
995ea5245c fix JournalIssueSearchResultListElementComponent tests 2023-09-28 12:06:21 +02:00
Enea Jahollari
2b9c3eafac fix ProfilePageMetadataFormComponent tests 2023-09-28 11:27:07 +02:00
Enea Jahollari
84e1254560 fix ItemVersionsComponent tests 2023-09-28 10:56:24 +02:00
Enea Jahollari
ae0bc1ab34 fix MyDSpaceReloadableActionsComponent tests 2023-09-28 10:04:44 +02:00
Enea Jahollari
91fc698147 fix ItemPageComponent tests 2023-09-28 09:53:01 +02:00
Enea Jahollari
e7b5528ad3 fix SubmissionSectionUploadFileComponent tests 2023-09-28 09:50:41 +02:00
Enea Jahollari
0f1944584a fix UntypedItemComponent tests 2023-09-27 16:48:01 +02:00
Enea Jahollari
f7968fe256 fix WorkspaceItemSearchResultListElementComponent tests 2023-09-27 16:46:21 +02:00
Enea Jahollari
add3dc63d1 fix WorkflowItemSearchResultListElementComponent tests 2023-09-27 16:45:04 +02:00
Enea Jahollari
f9d1b07ff6 fix OrgUnitSearchResultListSubmissionElementComponent tests 2023-09-27 16:43:26 +02:00
Enea Jahollari
fd34b008ad fix RelatedItemsComponent tests 2023-09-27 16:39:48 +02:00
Enea Jahollari
663da179c7 fix PublicationComponent tests 2023-09-27 16:37:42 +02:00
Enea Jahollari
3e1b05bfa6 fix PrivacyContentComponent tests 2023-09-27 16:36:06 +02:00
Enea Jahollari
ef11bd6990 fix ItemMyDSpaceResultListElementComponent tests 2023-09-27 16:25:59 +02:00
Enea Jahollari
f3a0d2e227 fix ItemSearchResultListElementComponent tests 2023-09-27 16:24:48 +02:00
Enea Jahollari
585827b970 fix ItemDeleteComponent tests 2023-09-27 16:19:18 +02:00
Enea Jahollari
2ce2ac7290 fix CommunityAdminSearchResultListElementComponent tests 2023-09-27 16:17:08 +02:00
Enea Jahollari
1a9c90fefe fix CollectionAdminSearchResultListElementComponent tests 2023-09-27 16:15:46 +02:00
Enea Jahollari
2d246e7473 fix ProcessOverviewComponent tests 2023-09-27 16:10:41 +02:00
Enea Jahollari
30f2a45d59 fix ResourcePolicyEditComponent tests 2023-09-27 16:08:08 +02:00
Enea Jahollari
d7626e22c9 fix ItemListPreviewComponent tests 2023-09-27 16:06:41 +02:00
Enea Jahollari
9dfa809cd1 fix BrowseByTitlePageComponent tests 2023-09-27 16:02:11 +02:00
Enea Jahollari
be86fea039 fix FileDownloadLinkComponent tests 2023-09-27 15:29:00 +02:00
Enea Jahollari
96928e7417 fix ItemGridElementComponent tests 2023-09-27 15:22:53 +02:00
Enea Jahollari
276402449e fix OrgUnitSearchResultListElementComponent tests 2023-09-27 15:19:37 +02:00
Enea Jahollari
924f1f61d2 fix SearchComponent tests 2023-09-27 15:16:48 +02:00
Enea Jahollari
a7d3df0269 fix DSOSelectorComponent tests 2023-09-27 15:14:20 +02:00
Enea Jahollari
a370433ab7 fix EPersonFormComponent tests 2023-09-27 15:10:13 +02:00
Enea Jahollari
42f404c38c fix EPeopleRegistryComponent tests 2023-09-27 15:08:13 +02:00
Enea Jahollari
78c98c1675 fix JournalComponent tests 2023-09-27 15:06:29 +02:00
Enea Jahollari
f574d93574 fix BulkAccessSettingsComponent tests 2023-09-27 14:59:16 +02:00
Enea Jahollari
d1cdcbde78 fix ExportMetadataSelectorComponent tests 2023-09-27 14:56:32 +02:00
Enea Jahollari
1186415bf1 fix BitstreamFormatsComponent tests 2023-09-27 14:49:49 +02:00
Enea Jahollari
e3abb75a56 fix DsDynamicListComponent tests 2023-09-27 13:37:56 +02:00
Enea Jahollari
b2f04ca379 fix CreateItemParentSelectorComponent tests 2023-09-27 13:22:42 +02:00
Enea Jahollari
b2ffc87831 fix JournalIssueGridElementComponent tests 2023-09-27 13:21:17 +02:00
Alan Orth
8045e4cda8 Merge pull request #2529 from atmire/fix-mutliple-api-calls-on-route-change-8.0.0-next
[Port main] Fix multiple api calls on route change
2023-09-27 14:03:41 +03:00
Enea Jahollari
d905e71013 fix AuthorizedCollectionSelectorComponent tests 2023-09-27 12:45:08 +02:00
Enea Jahollari
8257057ad0 fix ContextHelpDirective tests 2023-09-27 12:43:30 +02:00
Enea Jahollari
ec938f7fb8 fix CreateCommunityParentSelectorComponent tests 2023-09-27 12:41:01 +02:00
Enea Jahollari
48a16d29e7 fix CreateProfileComponent tests 2023-09-27 12:39:42 +02:00
Enea Jahollari
7c3eccf3f4 fix CreateCollectionParentSelectorComponent tests 2023-09-27 12:37:59 +02:00
Enea Jahollari
0a05118323 fix ComColFormComponent tests 2023-09-27 12:33:57 +02:00
Art Lowel
623fc6ede8 Merge branch 'fix-mutliple-api-calls-on-route-change-7.6' into fix-mutliple-api-calls-on-route-change-8.0.0-next 2023-09-27 11:58:54 +02:00
Enea Jahollari
45354dba2b fix ThumbnailComponent tests 2023-09-27 11:47:43 +02:00
Enea Jahollari
fdd08d2a22 fix ItemAdminSearchResultListElementComponent tests 2023-09-27 11:42:30 +02:00
Enea Jahollari
9cb379c979 fix HeaderComponent tests 2023-09-27 11:41:03 +02:00
Enea Jahollari
0692f6e28b fix ExistingRelationListElementComponent tests 2023-09-27 11:30:07 +02:00
Enea Jahollari
169b7a847a fix DsDynamicLookupRelationExternalSourceTabComponent tests 2023-09-27 10:45:39 +02:00
Enea Jahollari
a03fe7bf32 fix ClaimedSearchResultListElementComponent tests 2023-09-27 10:11:58 +02:00
Enea Jahollari
16e8a0a03b fix ClaimedDeclinedTaskSearchResultListElementComponent tests 2023-09-27 10:01:20 +02:00
Enea Jahollari
a273aaa9d7 fix ClaimedDeclinedSearchResultListElementComponent tests 2023-09-27 10:00:20 +02:00
Enea Jahollari
2ac4b43e58 fix ClaimedApprovedSearchResultListElementComponent tests 2023-09-27 09:59:20 +02:00
Enea Jahollari
87af5e311c fix ProfilePageSecurityFormComponent tests 2023-09-27 09:57:34 +02:00
Alan Orth
4491e6c49d Merge pull request #2385 from atmire/move-subscription-button-to-dso-edit-menu
Move subscription button to DSO edit menu
2023-09-27 10:02:03 +03:00
Alan Orth
ab3835f795 Merge pull request #2525 from 4Science/DURACOM-185
Fix mouse cursor on language dropdown menu
2023-09-26 21:39:54 +03:00
Enea Jahollari
68300eb9b6 fix broken tests 2023-09-26 18:17:46 +02:00
Enea Jahollari
32aa3354dd feat: fix SupervisionOrderGroupSelectorComponent test 2023-09-26 16:59:18 +02:00
Art Lowel
6a99185214 roll back unintended change to the responseMsToLive for RootDataservice 2023-09-26 16:56:07 +02:00
Enea Jahollari
59e765bb12 feat: fix AlertComponent test 2023-09-26 16:52:00 +02:00
Enea Jahollari
d61b197129 feat: fix DsDynamicTagComponent test 2023-09-26 16:48:31 +02:00
Enea Jahollari
a933bf52a0 feat: fix SubmissionImportExternalComponent test 2023-09-26 16:12:14 +02:00
Enea Jahollari
0ddaca8535 feat: fix ItemSearchResultListElementComponent test 2023-09-26 15:45:22 +02:00
Enea Jahollari
3bc02b8477 feat: fix ForgotPasswordFormComponent test 2023-09-26 15:23:37 +02:00
Enea Jahollari
03f334ff61 feat: fix SubmissionFormComponent test 2023-09-26 15:17:12 +02:00
Art Lowel
32fc28ec54 fix dev mode issue where retrieving the login options fails 2023-09-26 14:44:13 +02:00
Enea Jahollari
0d1a472c14 feat: fix FullFileSectionComponent test 2023-09-26 14:04:56 +02:00
Enea Jahollari
9f5dbef490 feat: fix ItemVersionHistoryComponent test 2023-09-26 13:15:55 +02:00
Enea Jahollari
815c09b7d9 feat: fix EditRelationshipComponent test 2023-09-26 13:04:57 +02:00
Enea Jahollari
555aebc77e feat: fix GroupsRegistryComponent test 2023-09-26 12:31:07 +02:00
Enea Jahollari
537926334c feat: fix SubmissionEditComponent test 2023-09-26 12:17:18 +02:00
Enea Jahollari
ba0caffbbc feat: fix CollectionSearchResultGridElementComponent test 2023-09-26 12:00:02 +02:00
Enea Jahollari
df9bd92f28 feat: fix ItemVersionsNoticeComponent test 2023-09-26 11:53:09 +02:00
Enea Jahollari
89994b74af feat: fix OrcidPageComponent test 2023-09-26 11:49:42 +02:00
Sondissimo
1c9fbd4629 CST-11048 FInished the angular implementation for the ldn inbox, needs cleanup 2023-09-26 11:12:19 +02:00
Enea Jahollari
cb41f40c50 small change 2023-09-26 10:52:17 +02:00
Enea Jahollari
5fff8679d5 feat: fix ClaimedTaskActionsComponent test 2023-09-26 10:08:58 +02:00
Enea Jahollari
8b9fc0044e feat: fix LogInPasswordComponent test 2023-09-26 10:04:50 +02:00
Enea Jahollari
4955d4c23a feat: fix LogInPasswordComponent test 2023-09-26 09:59:46 +02:00
Enea Jahollari
30b5550cff feat: fix SubmissionSectionFormComponent test 2023-09-26 09:54:42 +02:00
Enea Jahollari
79cbe691e5 feat: fix OrcidAuthComponent test 2023-09-26 09:51:21 +02:00
Enea Jahollari
65e786bd1f feat: fix CollectionDropdownComponent test 2023-09-26 09:45:03 +02:00
Enea Jahollari
b0af3e7b8d feat: fix DsoEditMenuSectionComponent test 2023-09-26 09:41:33 +02:00
AndreaBarbasso
f53c77be8e Fix missing or wrong Italian translations (#2518)
* [DURACOM-184] fix missing or wrong Italian translations

---------

Co-authored-by: Andrea Barbasso <´andrea.barbasso@4science.com´>
2023-09-26 10:22:30 +03:00
Alan Orth
f48764d397 Merge pull request #2473 from alexandrevryghem/fix-routes-not-relative-to-basehref_main-7.6
Fix routes not working with baseHref
2023-09-26 10:06:58 +03:00
Milos Ivanovic
cae831bd41 Serbian (Latin) translation (#2508)
Serbian (latin) translation added.
2023-09-26 08:29:17 +03:00
Hrafn Malmquist
e92b58eb9e Merge pull request #2519 from DSpace/backport-2502-to-main
[Port main] Don't capitalize metadata values in search, merging without approval as original PR was tested and approved by 2
2023-09-26 00:26:10 +01:00
Alan Orth
c225067127 src/app/shared/search: don't capitalize metadata values
Don't capitalize metadata values for display purposes.

(cherry picked from commit 47029c0a78)
2023-09-25 23:19:29 +00:00
Davide Negretti
6b5708cffd [DURACOM-185] Fix pointer on language dropdown menu 2023-09-25 23:51:48 +02:00
Enea Jahollari
c96201f1d4 feat: fix SubmissionImportExternalCollectionComponent test 2023-09-25 22:11:20 +02:00
Enea Jahollari
5e09fe6bf0 feat: fix services lazy loading 2023-09-25 21:35:50 +02:00
Enea Jahollari
54614c21f0 feat: migrate everything to standalone and fix build errors 2023-09-25 12:43:29 +02:00
reetagithub
85deeaab6a Update fi.json5 (#2422)
* Update fi.json5

Two last translations to the Finnish file.
2023-09-25 11:59:26 +03:00
Sascha Szott
77d6212e46 remove obsolete label element in metadata-schema.component.html (#2505)
* remove obsolete label element in metadata-schema.component.html
2023-09-22 20:57:36 +03:00
Art Lowel
8fbe8c16dc fix issue where invalidateRootCache didn't happen when the page first loaded 2023-09-22 12:00:59 +02:00
Art Lowel
5ad621b27e fix issue where more than one api call was made on every route change 2023-09-22 10:23:07 +02:00
Sascha Szott
5bc5dd859e allow to insert multi-line scope notes in MD field registry 2023-09-19 17:51:58 +02:00
Sondissimo
b040f9c2e7 CST-11048 sync branch with coar-notify-7 2023-09-18 14:28:28 +02:00
Sondissimo
4805b5061a CST-11048 First commit +fix for admin routing 2023-09-18 13:36:57 +02:00
Sondissimo
24a0af1e9a CST-11048 First commit 2023-09-18 13:35:44 +02:00
Mattia Vianelli
9a0f6fd12d Merged in CST-11012-demo (pull request #778)
CST-11012 demo
2023-09-18 11:05:53 +00:00
Mark H. Wood
faa2089d5c restore stock yarn.lock 2023-09-14 15:19:58 -04:00
Mark H. Wood
ed5267820e Update dependencies for Node v20. 2023-09-14 13:03:03 -04:00
Tim Donohue
4171ccc8f3 Merge pull request #2451 from mwoodiupui/graceful
Graceful shutdown on SIGINT (e.g. from 'pm2 stop').
2023-09-14 11:07:17 -05:00
Sondissimo
0d79dd0e8f Merge branch 'coar-notify-7' of bitbucket.org:4Science/dspace-angular into CST-11012-demo 2023-09-14 17:40:08 +02:00
Tim Donohue
957e0a8d1d Merge pull request #2493 from tdonohue/fix_2321
Correct text of help info on edit group page
2023-09-14 10:06:58 -05:00
Sondissimo
f9e4044e81 CST-11012 fixed conflicts 2023-09-14 17:06:14 +02:00
Eike Martin Löhden
cfa70ecb8e Removed default value from inExpandableNavbar. 2023-09-14 16:28:21 +02:00
Tim Donohue
49247430e5 Correct text of help info on edit group page 2023-09-12 13:57:26 -05:00
Tim Donohue
055b2322bd Merge pull request #2414 from alexandrevryghem/fix-display-order-authentication-methods_contribute-7.6
Made it possible to reorder the login methods
2023-09-11 16:39:55 -05:00
Alexandre Vryghem
0905a53db5 Fix innerText still being undefined in ssr mode 2023-09-08 22:35:27 +02:00
Alan Orth
e9b94f8e02 Merge pull request #2445 from hugo-escire/issue/1081
Fix to Metadata Registry create new metadata schema doesn't appear without reload #1081
2023-09-08 22:49:42 +03:00
Tim Donohue
f7ce1a5391 Merge pull request #2421 from hugo-escire/issue/2105
🚸remove thumbnail from file-upload section and show bitstream format …
2023-09-08 14:33:35 -05:00
Tim Donohue
01c8a4d9c3 Update workspaceitem-section-upload-file.model.ts
Fix code comment
2023-09-08 14:28:23 -05:00
Hugo Dominguez
13e4052c4d 🎨revert unnecessary format 2023-09-08 11:51:42 -06:00
Hugo Dominguez
9bb2e8a47f Merge branch 'main' into issue/2105 2023-09-08 11:40:42 -06:00
Hugo Dominguez
3e5524de69 🎨 revert format 2023-09-08 11:31:26 -06:00
Hugo Daniel Dominguez de la Cruz
4075d4989b Merge branch 'DSpace:main' into issue/1081 2023-09-08 10:33:29 -06:00
Tim Donohue
45b0f1607a Merge pull request #2412 from saschaszott/patch-9
remove redundant cache default values from server.ts
2023-09-08 10:44:02 -05:00
Tim Donohue
499463f47e Merge pull request #2349 from alexandrevryghem/fix-setStaleByHrefSubtring-not-emitting-after-all-requests-were-stale_contribute-main
Fix `setStaleByHrefSubstring` not emitting true when all requests are stale
2023-09-07 14:39:30 -05:00
Tim Donohue
1824507c06 Merge pull request #2376 from alexandrevryghem/w2p-104312_pass-query-to-external-search-tabs_contribute-main
Search query is not set by default when opening an external sources tab
2023-09-07 12:49:21 -05:00
Tim Donohue
11341bf7d7 Merge pull request #2470 from universidadeaveiro/dspace_7_6_pt-PT_i18n_fix
Minor pt-PT translation fixes
2023-09-07 10:34:40 -05:00
Koen Pauwels
11e98f7e20 Fix lint issue. 2023-09-07 11:36:52 +02:00
Koen Pauwels
8175a9d014 Merge remote-tracking branch 'dspace/main' into feature-process_polling 2023-09-07 11:02:10 +02:00
Koen Pauwels
9b5001e1d9 104938 Cleanup 2023-09-07 10:19:33 +02:00
Tim Donohue
f5424618a0 Merge pull request #2366 from atmire/CSV-export-fixes
CSV export fixes
2023-09-06 14:52:39 -05:00
Tim Donohue
ba70a96552 Merge pull request #2361 from nona-luypaert/issue-2337_fix-vocabulary-treeview-not-updating
Fix tree not updating when switching between "Browse by Vocabulary" pages
2023-09-05 17:14:23 -05:00
Tim Donohue
65a215e486 Merge pull request #2457 from alanorth/fix-example-config-syntax
config/config.example.yml: fix example syntax
2023-09-05 16:24:00 -05:00
Alan Orth
813710704d Merge pull request #2432 from hugo-escire/issue/2145
Fix to Value of dropdown changes automatically on item submission page
2023-09-05 20:15:30 +03:00
Alan Orth
191c0399b9 Merge pull request #2444 from hugo-escire/issue/2372
Fix to Mobile navbar hamburger menu doesn't work in Firefox/Safari #2372
2023-09-05 12:00:07 +03:00
Sondissimo
eb82628164 CST-11012 needed path in app-routing-paths.ts 2023-09-03 17:42:26 +02:00
Sondissimo
18aa0bbd96 CST-11012 removed not needed path in app-routing-paths.ts 2023-09-03 14:03:25 +02:00
Sondissimo
1f5f0555dd CST-11012 removed not needed path in app-routing-paths.ts 2023-09-03 14:02:47 +02:00
Sondissimo
07527e1170 CST-11012 removed extra comment 2023-09-03 13:44:47 +02:00
Alexandre Vryghem
18febff7a6 Fix routes not working with baseHref 2023-09-01 21:34:27 +02:00
Hardy Pottinger
8b1827ee17 Merge pull request #2448 from arvoConsultores/spanish-translation-update
Spanish translation updated to 7.6
2023-09-01 14:04:45 -05:00
Koen Pauwels
53b0af100d 104938 Fix ProcessDetailComponent tests 2023-09-01 16:11:32 +02:00
Koen Pauwels
a59776d5a0 Failed attempt at fixing process-detail.component.spec.ts tests 2023-09-01 15:10:39 +02:00
José Carvalho
a6c1120700 Minor pt-PT translation fixes 2023-08-30 15:52:34 +01:00
Alan Orth
02f81f1a19 Merge pull request #2468 from tdonohue/cypress_accessibility_testing
Minor Accessibility Fixes & Enable accessibility scan on more pages
2023-08-30 17:40:30 +03:00
Tim Donohue
276d80895e Fix heading order accessibility issue in search filters/facets 2023-08-29 15:10:12 -05:00
Tim Donohue
70a7bbe3cb Minor fixes to cypress tests 2023-08-29 15:01:51 -05:00
Tim Donohue
2a881791ba Fix accessibility of date sliders by adding aria-labels 2023-08-29 15:01:21 -05:00
Tim Donohue
91d8b7e4f7 Update ng2-nouislider and nouislider to latest versions 2023-08-29 14:58:49 -05:00
Tim Donohue
ba244bf6b1 Fix heading order issue with item page & update accessibility tests to prove it now passes 2023-08-29 11:44:03 -05:00
Tim Donohue
339ed63734 Enable excessibility checking of login menu, and remove unnecessary exclusion from header 2023-08-29 11:43:36 -05:00
Tim Donohue
158ebb0e32 Reenable accessibility check fixed in #2251 2023-08-29 11:41:03 -05:00
Art Lowel
3be90ebe46 rewrite notifyOnCompletion as autoRefreshUntilCompletion, fix ProcessDetailComponent, and the ProcessDataService tests 2023-08-29 18:39:39 +02:00
Sondissimo
7676478600 CST-11012 Finalized Coar text +logo (centered with itself) 2023-08-29 13:54:21 +02:00
Sondissimo
2ba86ed6d9 CST-11012 Finalized Coar text +logo 2023-08-29 13:42:26 +02:00
Sondissimo
d3fb5bf686 CST-11012 Dynamically retrieving rest URL for the coar-notify-page 2023-08-29 13:32:03 +02:00
Sondissimo
fc4a44cc83 CST-11012 Fixed breadcrumb text and COAR Notify text in footer (3) 2023-08-29 12:49:22 +02:00
Sondissimo
eebaa0a213 CST-11012 Fixed breadcrumb text and COAR Notify text in footer (2) 2023-08-29 12:36:05 +02:00
Sondissimo
44e28c9033 CST-11012 Fixed breadcrumb text and COAR Notify text in footer 2023-08-29 12:32:54 +02:00
Nona Luypaert
64e9f778ae Merge branch 'main' into issue-2337_fix-vocabulary-treeview-not-updating 2023-08-28 22:27:59 +02:00
Tim Donohue
50899f1d1b Update to latest axe-core 2023-08-28 13:55:05 -05:00
Tim Donohue
68a3323fca Update to latest cypress 2023-08-28 13:53:19 -05:00
Alan Orth
d38402b1fb Merge pull request #2399 from mirkoscherf/2398-i18n_curation-task.task.registerdoi.label
fix(i18n): curation-task.task.registerdoi.label
2023-08-28 21:02:08 +03:00
Alan Orth
6c4cfe5199 Merge pull request #2447 from J4bbi/2251-accessibility-issues-on-the-community-list-page
2251 accessibility issues on the community list page
2023-08-28 17:43:56 +03:00
Alan Orth
eaeda318d9 Merge pull request #2463 from hugo-escire/issue/2159
Fix to Pagination position is retained between searches #2159
2023-08-28 17:33:11 +03:00
Hugo Dominguez
044230209c add first page condition when search submit 2023-08-25 13:20:37 -06:00
Hugo Dominguez
88a7088b47 🐛 go to first page after submit search 2023-08-25 13:18:10 -06:00
Alan Orth
da13913cb6 Merge pull request #2395 from alexandrevryghem/themed-component-fixes-main
Fix themed components duplicating themself when switching themes
2023-08-25 20:13:12 +03:00
Koen Pauwels
bd6648703c 104938 Add flush to process polling tests 2023-08-25 11:17:36 +02:00
Alan Orth
25febb160d Merge pull request #2434 from alexandrevryghem/w2p-105221_fix-value-pair-ids-not-being-unique-input-type-list_contribute-7.6
Input type list doesn't work correctly if multiple value-pairs have the same pair value
2023-08-25 09:16:58 +03:00
Hardy Pottinger
4fea34c6ba Merge pull request #2449 from michdyk/polish-translation-update-2383
Update pl.json5
2023-08-24 14:58:20 -05:00
Alan Orth
9e46b5310b config/config.example.yml: fix example syntax
As of DSpace Angular 7.2 the syntax has changed from TypeScript to
YAML.
2023-08-24 15:01:37 +03:00
Koen Pauwels
c4d57770c7 ProcessDataService.notifyOnCompletion tests (WIP) 2023-08-24 10:00:21 +02:00
Tim Donohue
9b88da7f33 Merge pull request #2456 from tdonohue/skip_merge_commits_in_port_pr
[GitHub Actions] When porting a PR, skip any merge commits
2023-08-23 17:07:59 -05:00
Tim Donohue
596006de82 Enable new skip merge commit feature 2023-08-23 17:05:42 -05:00
Tim Donohue
fbb04a0383 Merge pull request #2438 from hardyoyo/2437-fix-commented-out-paths-in-components
2437 Correct and clarify commented-out code in several custom components
2023-08-23 14:50:04 -05:00
Hardy Pottinger
e47586f2e5 Merge pull request #2452 from tdonohue/fix_demo_urls
Replace mentions of demo7.dspace.org and api7.dspace.org with new demo URLs
2023-08-22 17:25:20 -05:00
Tim Donohue
b51fd46536 Replace mentions of demo7.dspace.org and api7.dspace.org with demo or sandbox 2023-08-22 16:32:55 -05:00
Mark H. Wood
bf9b2b82e1 Document a modified method as required by PR guidelines. 2023-08-22 17:07:20 -04:00
Mark H. Wood
4449737aed Properly await termination. 2023-08-22 15:46:55 -04:00
Mark H. Wood
6709c3bb5f Graceful shutdown on SIGINT (e.g. from 'pm2 stop'). 2023-08-22 14:38:04 -04:00
Michał Dykas
f58a7a2e9b Update pl.json5 fix test 2 spaces instead of 1 2023-08-22 16:18:36 +02:00
Michał Dykas
93299ec83d Update pl.json5 fix issues from tests 2023-08-22 15:50:37 +02:00
Michał Dykas
cfd753f928 Update pl.json5
Translation update of 2 spaces instead of 3
2023-08-22 15:09:09 +02:00
Michał Dykas
b439ab4484 Update pl.json5
Update from 7.4 to 7.6 version
2023-08-22 13:32:16 +02:00
Sergio Fernández Celorio
1885638ba6 Some lint errors fixed 2023-08-22 12:57:08 +02:00
Sergio Fernández Celorio
4cc4192e93 Spanish translation updated to 7.6 2023-08-22 11:59:54 +02:00
Francesco Bacchelli
9b556fd703 Merge branch CST-5249_suggestion of https://github.com/4Science/DSpace into CST-11299 2023-08-22 11:16:30 +02:00
Hrafn Malmquist
e59913acab Reorder instance method to come after member declaration 2023-08-22 04:59:23 +01:00
Hrafn Malmquist
d9b6e9d81f Improve documentation 2023-08-22 04:29:01 +01:00
Hrafn Malmquist
5f71de885b Add trackby function so cdktree can differentiate between new and old nodes 2023-08-22 04:28:28 +01:00
Hrafn Malmquist
05c53ad1d4 Replace h2 with a h1 2023-08-22 04:27:23 +01:00
Hrafn Malmquist
5ef4a827f5 Replace h5 with a span 2023-08-22 04:26:53 +01:00
Hugo Daniel Dominguez de la Cruz
004f505509 Merge branch 'DSpace:main' into issue/1081 2023-08-19 16:02:14 -06:00
Hugo Dominguez
9fb9e5848c 🐛 fix bug of caching when add new schema 2023-08-19 15:59:33 -06:00
Hugo Dominguez
2dc9fd44d7 ♻️ refactor chain of observables to avoid async issues 2023-08-19 14:40:28 -06:00
Hugo Daniel Dominguez de la Cruz
df722f87a8 Merge branch 'DSpace:main' into issue/2372 2023-08-18 13:23:36 -06:00
Hugo Dominguez
60706720e4 🐛 fix when navbar expands on firefox 2023-08-18 13:20:19 -06:00
Koen Pauwels
78d0bdd336 104938 Implementation and tests (WIP) 2023-08-18 14:18:41 +02:00
Sondissimo
8271803f0a CST-11012 Notify info component has been completed with working guard and service 2023-08-17 15:57:34 +02:00
Alexandre Vryghem
6c48238fa2 Fixed breadcrumb padding using incorrect syntax 2023-08-17 14:03:28 +02:00
Alexandre Vryghem
14b1ce5e50 Fixed header bg color not being set in default (no) theme 2023-08-16 15:16:17 +02:00
Alexandre Vryghem
f6649e1c38 Added support for changing the color of the navbar 2023-08-16 15:15:51 +02:00
Hardy Pottinger
518cc714f2 fix lint error in workflow-item-send-back.component.ts 2023-08-15 10:26:38 -05:00
Hardy Pottinger
0906234a29 2437 Correct and clarify commented-out code in several custom components
- Correct the path in commented-out code in the custom theme's
  components
- Clarify that the workflow-item-sen-back.component.scss file is a stub
- It has no corresponding SCSS file in the base theme
2023-08-15 10:16:50 -05:00
Agustina Martinez
94c756d52d Update email-request-copy.component.html
Message is optional: remove req in [disabled]
2023-08-15 16:53:30 +02:00
Alexandre Vryghem
a426eba846 Merge branch 'w2p-105221_fix-value-pair-ids-not-being-unique-input-type-list_contribute-7.2' into w2p-105221_fix-value-pair-ids-not-being-unique-input-type-list_contribute-7.6 2023-08-14 16:48:46 +02:00
Alexandre Vryghem
4c419e1eee 105265: Made the DsDynamicListComponent's checkbox & radio buttons ids unique for each metadata field to prevent other value-pairs having the same id 2023-08-14 16:48:06 +02:00
Hugo Daniel Dominguez de la Cruz
539edfae9c Merge branch 'DSpace:main' into issue/2145 2023-08-13 12:15:31 -06:00
Hugo Dominguez
25479e1794 change test event, click by mousedown on dynamic-scrollable-dropdown.component.spec.ts 2023-08-13 12:12:05 -06:00
Hugo Dominguez
651305952d 🐛 Fix Value of dropdown changes automatically on item submission page 2023-08-13 12:10:25 -06:00
Sondissimo
2f9089d013 CST-11012 notify info component updated with guards and services (needs cleanup) 2023-08-11 15:26:20 +02:00
Francesco Bacchelli
f31d4d5276 Merge branch 'CST-5249_suggestion' of https://github.com/4Science/dspace-angular into CST-11299 2023-08-10 11:35:20 +02:00
Koen Pauwels
1f68fd63b2 Fix lint issue. 2023-08-09 10:28:26 +02:00
Sondissimo
36dfb69670 CST-11012 notify info component updated 2023-08-09 10:10:00 +02:00
Tim Donohue
77e994dcd6 Merge pull request #2409 from DSpace/dependabot/npm_and_yarn/word-wrap-1.2.5
Bump word-wrap from 1.2.3 to 1.2.5
2023-08-08 16:41:36 -05:00
Tim Donohue
60a9b01c86 Merge pull request #2426 from DSpace/revert-2424-test-fix-for-backport-action
Revert "Enable early release of backport-action to test korthout/backport-action#372"
2023-08-08 15:43:49 -05:00
Tim Donohue
765b5c8531 Revert "Enable early release of backport-action to test korthout/backport-action#372" 2023-08-08 15:35:17 -05:00
Tim Donohue
dc34cbebbd Merge pull request #2408 from atmire/ProcessDetailComponent-test-improvemen
ProcessDetailComponent test improvement
2023-08-08 15:00:26 -05:00
Tim Donohue
aaff0f02ed Merge pull request #2424 from tdonohue/test-fix-for-backport-action
Enable early release of backport-action to test korthout/backport-action#372
2023-08-08 14:59:00 -05:00
Tim Donohue
419868bd8d Enable early release of backport-action to test korthout/backport-action#372 2023-08-08 14:44:01 -05:00
Koen Pauwels
6791f6e311 103818 Adjusted "Inherit policies" tooltip 2023-08-08 14:58:31 +02:00
Koen Pauwels
95abcc9ce8 103818 Add warning tooltip to "Inherit policies" checkbox on item move page 2023-08-08 14:57:51 +02:00
Francesco Bacchelli
ec82139256 CST-11298 COAR: Update the first community PRs for DSpace target 8.0-SNAPSHOT 2023-08-07 14:26:42 +02:00
Alexandre Vryghem
9340d4be92 Merge branch 'fix-ngonchanges-not-working-for-themed-components_contribute-7.6' into themed-component-fixes-main
# Conflicts:
#	src/app/shared/theme-support/themed.component.ts
2023-08-06 20:05:27 +02:00
Alexandre Vryghem
ff0c1a256d Merge branch 'fix-ngonchanges-not-working-for-themed-components_contribute-7.4' into fix-ngonchanges-not-working-for-themed-components_contribute-7.6 2023-08-06 20:02:43 +02:00
Alexandre Vryghem
a7bef6ffe2 Merge branch 'fix-ngonchanges-not-working-for-themed-components_contribute-7.2' into fix-ngonchanges-not-working-for-themed-components_contribute-7.4
# Conflicts:
#	src/app/app.component.ts
2023-08-06 19:59:49 +02:00
Alexandre Vryghem
e4b386b815 Fix createHeadTags infinite loop when your themes don't override the headTags property 2023-08-06 19:57:05 +02:00
Hugo Dominguez
4c8ec8a4f2 🚸remove thumbnail from file-upload section and show bitstream format and checksum 2023-08-04 12:44:13 -06:00
Tim Donohue
4abbd376ac Merge pull request #2350 from alexandrevryghem/fix-collection-form-bugs_contribute-main
Fix minor collection form bugs
2023-08-04 12:47:34 -05:00
Tim Donohue
7bcac03541 Merge pull request #2388 from mirkoscherf/2387-i18n_for_status_badges_and_status_search_filter_entries
fix(i18n): add and update missing status strings
2023-08-04 11:15:19 -05:00
Mirko Scherf
cf79cccfd9 Merge branch 'main' into 2387-i18n_for_status_badges_and_status_search_filter_entries 2023-08-04 16:09:11 +02:00
Alan Orth
2cfd19f339 Merge pull request #2378 from dataquest-dev/show_password_error
Show error message from the password validation response
2023-08-04 15:21:08 +03:00
milanmajchrak
e6546b4499 Show error message from the error response 2023-08-04 11:04:48 +02:00
Tim Donohue
0fca4e040e Merge pull request #2397 from alexandrevryghem/fix-mathjax-displaying-twiced-in-ui_contribute-main
Fixed MathJax code being displayed twice by `dsMarkdown` pipe
2023-08-03 16:09:11 -05:00
Tim Donohue
4f445fa558 Merge pull request #2344 from the-library-code/handle_failed_related_item_responses
Catch and handle unsuccessful "convert rels to items" responses
2023-08-03 15:03:10 -05:00
Tim Donohue
deb82acf25 Merge pull request #2417 from DSpace/backport-2347-to-main
[Port main] src/assets/i18n: update Finnish language strings
2023-08-03 14:10:04 -05:00
Alan Orth
4c93b4728b src/assets/i18n: update Finnish language strings
Contributed by Reeta Kuukoski from the National Library of Finland.

(cherry picked from commit 1b9656b135)
2023-08-03 17:56:40 +00:00
Tim Donohue
102310cfa5 Merge pull request #2381 from mirkoscherf/2380_typo_in_alert_type_ts
refactor: rename aletr-type.ts to alert-type.ts
2023-08-03 11:48:57 -05:00
Tim Donohue
e50d0941f4 Merge pull request #2363 from DSpace/dependabot/npm_and_yarn/semver-5.7.2
Bump semver from 5.7.1 to 5.7.2
2023-08-02 15:06:21 -05:00
Alexandre Vryghem
3dc73f9021 Properly handle AuthMethod subscription in LogInComponent 2023-08-02 21:25:58 +02:00
Alexandre Vryghem
94ceee9080 Merge remote-tracking branch 'templates/dspace-7.6' into fix-display-order-authentication-methods_contribute-7.6
# Conflicts:
#	src/app/shared/log-in/log-in.component.html
#	src/app/shared/log-in/methods/log-in-external-provider/log-in-external-provider.component.spec.ts
#	src/app/shared/log-in/methods/oidc/log-in-oidc.component.html
#	src/app/shared/log-in/methods/oidc/log-in-oidc.component.spec.ts
#	src/app/shared/log-in/methods/orcid/log-in-orcid.component.html
#	src/app/shared/log-in/methods/password/log-in-password.component.ts
#	src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.html
#	src/app/shared/log-in/methods/shibboleth/log-in-shibboleth.component.spec.ts
2023-08-02 21:01:36 +02:00
Sascha Szott
e53abcb69e remove redundant cache default values from server.ts 2023-08-02 18:00:03 +02:00
Alexandre Vryghem
71cf66ecf4 Fix display order of authentication methods 2023-08-02 10:00:43 +02:00
dependabot[bot]
2fec33e70a Bump word-wrap from 1.2.3 to 1.2.5
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 21:28:22 +00:00
dependabot[bot]
0b0c60e38c Bump semver from 5.7.1 to 5.7.2
Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 21:23:09 +00:00
Francesco Bacchelli
37121b001b Merge branch 'main' of https://github.com/DSpace/dspace-angular into CST-11298 2023-08-01 15:51:02 +02:00
Kristof De Langhe
63e6e79750 Merge branch 'main' into ProcessDetailComponent-test-improvemen 2023-08-01 10:50:08 +02:00
Yury Bondarenko
18b7a9c7de Update DSO edit menu resolver tests
- Abstract away the different "subsections" ~ DSO type (the tests should not care about this)
  Instead, retrieve sections of interest by ID & assert whether they're there & how they should look
- Test separately for Communities, Collections & Items
- Test newly added menu section
2023-07-31 15:43:15 +02:00
Alexandre Vryghem
ea677bda74 Reset to base theme when no default theme is set and leaving UUID/handle theme 2023-07-30 20:08:33 +02:00
Alexandre Vryghem
c4bff4d9c7 Fix test without it's/it's not running because they are in a waitForAsync function 2023-07-29 19:18:58 +02:00
Tim Donohue
1223e3c438 Merge pull request #2406 from tdonohue/update_actions
Add GitHub action to automatically create a port PR (based on label) & minor bug fixes
2023-07-28 15:11:08 -05:00
Tim Donohue
d75d12b423 Minor update to label_merge_conflicts to ignore any errors (seem random at this time) 2023-07-28 14:11:08 -05:00
Tim Donohue
338b63ebb8 Add action to automatically create a port PR when specified 2023-07-28 14:10:44 -05:00
Sondissimo
c8a75fa3b1 CST-11012 Added feature id 2023-07-28 15:38:37 +02:00
Alexandre Vryghem
ebaccc055e Merge branch 'fix-collection-form-bugs_contribute-7.4' into fix-collection-form-bugs_contribute-7.6
# Conflicts:
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.html
2023-07-28 00:14:58 +02:00
Alexandre Vryghem
273be5bd81 Merge remote-tracking branch 'contributions/fix-setStaleByHrefSubtring-not-emitting-after-all-requests-were-stale_contribute-7.4' into fix-setStaleByHrefSubtring-not-emitting-after-all-requests-were-stale_contribute-7.6
# Conflicts:
#	src/app/core/data/request.service.ts
2023-07-27 23:57:18 +02:00
Mirko Scherf
81e6ecc5c4 Merge branch 'DSpace:main' into 2380_typo_in_alert_type_ts 2023-07-27 12:54:42 +02:00
Mirko Scherf
889eb388af Merge branch 'DSpace:main' into 2387-i18n_for_status_badges_and_status_search_filter_entries 2023-07-27 12:54:27 +02:00
Sondissimo
969e006e29 CST-11012 Created the footer new icon+text, new json5 texts added, routed the newly created component notify-info.component 2023-07-26 18:27:26 +02:00
Mirko Scherf
0ec72f679b fix(i18m): curation-task.task.registerdoi.label
changed curation-task.task.register-doi.label back to
curation-task.task.registerdoi.label and added German translation
2023-07-26 13:04:04 +02:00
Alexandre Vryghem
5062e46433 104312: Add missing query @Input() to ThemedDynamicLookupRelationExternalSourceTabComponent 2023-07-25 18:26:47 +02:00
Alexandre Vryghem
9b1d18bd32 Merge tag 'dspace-7.6' into w2p-104312_pass-query-to-external-search-tabs_contribute-7.6 2023-07-25 18:26:18 +02:00
Alexandre Vryghem
a3663831cc Merge branch 'w2p-103176_fix-themed-component-vcr-not-defined-yet-in-init_contribute-7.2' into themed-component-fixes-main 2023-07-25 00:06:45 +02:00
Tim Donohue
44b197a15a Merge pull request #2394 from tdonohue/docker_version_fixes
Replace all old docker "dspace-7_x" tags with "latest" on main
2023-07-24 16:53:58 -05:00
Alexandre Vryghem
887eacbfa8 Merge branch 'fix-ngonchanges-not-working-for-themed-components_contribute-7.2' into fix-ngonchanges-not-working-for-themed-components_contribute-7.4 2023-07-24 23:43:10 +02:00
Alexandre Vryghem
873a8e16a3 101577: Ensure the component is always destroyed before rendering the new component 2023-07-24 23:42:55 +02:00
Tim Donohue
08ae7bfdba Replace all old docker "dspace-7_x" tags with latest 2023-07-24 16:10:23 -05:00
Alexandre Vryghem
15656b03ce Fix mathjax code being displayed twice
This was due to sanitizeHtml rendering the mjx-assistive-mml tag as text. This tag is used by screen readers and therefor we should allow it to be rendered
2023-07-21 23:18:40 +02:00
Alexandre Vryghem
75ec046bba Hide the delete EPerson/Group buttons when the user can't delete the EPerson/Group 2023-07-21 18:34:42 +02:00
Alexandre Vryghem
998e1fac8d Fix spacing issues for EPerson form buttons 2023-07-21 18:34:42 +02:00
Alexandre Vryghem
9ac19d40fc Cleanup access-control components
- Use the same methods to retrieve the access-control urls
- Fix EPersonDataService.startEditingNewEPerson returning the incorrect link
2023-07-21 18:34:41 +02:00
Alexandre Vryghem
2a35180a1b Created separate pages for edit & create EPersons 2023-07-21 17:15:10 +02:00
Mirko Scherf
b1df125166 fix(i18n): add and update missing status strings
New strings for status filter entries:
search.filters.namedresourcetype.*
Refactored strings introduced with #2068 (refactor badged),
e.g. mydspace.status.archived -> mydspace.status.mydspaceArchived
2023-07-21 10:43:13 +02:00
Yury Bondarenko
c9558167b2 Move subscription button to DSO edit menu 2023-07-20 18:19:48 +02:00
Mirko Scherf
8bf4ba8126 refactor: rename aletr-type.ts to alert-type.ts 2023-07-20 14:53:28 +02:00
Alexandre Vryghem
648925f3e1 104312: DsDynamicLookupRelationExternalSourceTabComponent should have the form value already filled in the search input 2023-07-19 14:04:34 +02:00
Alexandre Vryghem
776a44c321 Merge remote-tracking branch 'contributions/w2p-102415_Remote-lookup-entity-on-admin-edit_contribute-7.4' into dspace-7.6 2023-07-18 13:40:23 +02:00
Alexandre Vryghem
155cd2be6f Merge branch 'w2p-102415_Remote-lookup-entity-on-admin-edit_contribute-7.2' into dspace-7.4
# Conflicts:
#	src/app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/dynamic-lookup-relation-modal.component.ts
2023-07-18 12:53:56 +02:00
Marie Verdonck
cf9179d800 102415: Fix for import modal i18n labels 2023-07-18 12:01:32 +02:00
Marie Verdonck
a9c5c20c5a 102415: Provide all external sources of correct entity type in edit relationships ({item-page}/edit/relationship) 2023-07-18 12:01:32 +02:00
Kristof De Langhe
03e1f677b6 104126: ProcessDetailComponent test improvement 2023-07-17 15:12:42 +02:00
Alexandre Vryghem
8d84efb1a9 Fix AuthInterceptor no expectation tests
- Removed duplicate request
- Added expect().nothing() because httpMock.expectNone will throw an error when a request is made
2023-07-16 14:58:22 +02:00
Alexandre Vryghem
b8b9da2525 Fix BrowseByComponent no expectation tests
- Because the custom theme is disabled by default I replaced it with the dspace theme who is still enabled by default
- Because the child components use a themed component the changes need to be detected twice, this is a side effect from the component being created dynamically
2023-07-15 14:24:14 +02:00
Alexandre Vryghem
430b3b2e36 Fix TopLevelCommunityListComponent, CommunityPageSubCollectionListComponent, CommunityPageSubCommunityListComponent no expectation tests
Because their child components use a themed component the changes need to be detected twice, this is a side effect from the component being created dynamically
2023-07-15 10:25:53 +02:00
Alexandre Vryghem
4b1a8a90a6 Fix ObjectUpdatesEffects no expectation tests
Because of the switch from BehaviourSubject to Subject the tests always failed because of a timout because the previous state is not kept with Subject and should be manually triggered during the tests
2023-07-15 08:25:25 +02:00
Kristof De Langhe
45ad5f7316 104189: CSV export add fixedFilter 2023-07-12 16:32:56 +02:00
Kristof De Langhe
cac1407f08 104189: Allow CSV export on related entity search 2023-07-12 15:11:38 +02:00
Francesco Pio Scognamiglio
3c27e44429 Merged in CST-9779 (pull request #620)
CST-9779 Provided changes to Title, repository name, added introduction text with links, as well added the small icon for coar-notify inside the navbar.

Approved-by: Andrea Bollini
2023-07-11 07:40:02 +00:00
Eike Martin Löhden
e3f57dae44 Included user-menu component in custom theme. 2023-07-10 15:54:09 +02:00
Eike Martin Löhden
ed84f45132 Replaced tags for ds-user-menu. 2023-07-10 15:38:32 +02:00
Eike Martin Löhden
63582cfa0d Corrected missing semicolon. 2023-07-10 15:34:25 +02:00
Eike Martin Löhden
23aefb7385 Added themed-user-menu component. 2023-07-10 15:29:14 +02:00
Alexandre Vryghem
b7dfe0f23d Fix EPersonDataService no expectation tests
- The store dispatch was not called through so the store was never updated
- To initialize the store using provideMockStore I rewrote the test to work through injection
2023-07-09 00:16:28 +02:00
Nona Luypaert
b5a70e8f95 Fix VocabularyTreeview not updating + i18n for nsi 2023-07-08 13:21:36 +02:00
Tim Donohue
db6edbf184 Merge pull request #2359 from tdonohue/docker_actions
GitHub Actions: Split Docker images into separate jobs to run in parallel.  Enable 'latest' tag. (for dspace-angular)
2023-07-07 12:48:59 -05:00
Tim Donohue
3a83946278 Merge pull request #2358 from tdonohue/update_actions
Update GitHub Actions for 7.x maintenance (for dspace-angular)
2023-07-07 12:14:31 -05:00
Tim Donohue
effe181696 Split docker images into separate jobs to run in parallel. Ensure 'main' codebase is tagged as 'latest' 2023-07-07 12:05:56 -05:00
Tim Donohue
15be060665 Ensure codescan and label_merge_conflicts run on maintenance branches 2023-07-07 11:56:54 -05:00
Tim Donohue
5208008f95 Enable Pull Request Opened action to assign PRs to their creator 2023-07-07 11:56:47 -05:00
Yury Bondarenko
c0f9042a9c Merge remote-tracking branch 'origin/main' into more-eslint 2023-07-07 17:30:46 +02:00
Tim Donohue
9de30d5612 Merge pull request #2355 from alanorth/request-copy-component-path-main
src/app: fix path to deny-request-copy component
2023-07-06 14:31:25 -05:00
Alan Orth
8ac1e9a283 src/app: fix path to deny-request-copy component
The themed-deny-request-copy.component erroneously includes the cus-
tom theme's deny-request-copy component instead of its own.

Closes: https://github.com/DSpace/dspace-angular/issues/2351
2023-07-06 20:46:32 +03:00
Alexandre Vryghem
c2010b5d5e Fix SubscriptionsDataService no expectation tests
The test's searchData & the searchData from the SubscriptionsDataService were not linked
2023-07-04 13:12:03 +02:00
Alexandre Vryghem
c1875cade3 Add expect().nothing() to reducer tests without expectations, who only exist to check if an error is thrown 2023-07-04 13:12:03 +02:00
Alexandre Vryghem
b4a3882dcf Fix findSuccessfulAccordingTo no expectation tests
- The isWithdrawn was set twice to mockItem1
- The expected observable was not correctly compared
2023-07-04 13:12:03 +02:00
Alexandre Vryghem
b83a0b3f9b Fix SubmissionSectionUploadFileComponent no expectation tests
The fixture.whenStable() was not awaited
2023-07-04 13:12:03 +02:00
Alexandre Vryghem
a524805faf Fix CommunitySearchResultListElementComponent no expectation tests
- Wrong css class was used
- The check to see if the offset was defined did not exist
2023-07-04 13:12:03 +02:00
Alexandre Vryghem
9d71171741 Fix ItemVersionsComponent no expectation tests
- The buttons are now not disabled anymore but hidden when you don't have the correct authorization
- Wrong css class was used for the edit buttons
2023-07-04 13:12:02 +02:00
Alexandre Vryghem
7ef3a914f9 Fix ItemComponent no expectation tests
- renamed `showBackButton` to `showBackButton$` because it's an observable
- `showBackButton$` only emits `true` when the back button should be shown, it does not emit `false` when it should be hidden, it just did nothing
2023-07-01 20:38:17 +02:00
Alexandre Vryghem
063c54e93f Fix SearchHierarchyFilterComponent no expectation tests
Reverted the way you detect when an item is selected by using observables again instead of promises. The reason why it didn't work without the old observable approach was because `VocabularyTreeviewModalComponent` didn't have a `select` `@Output` like `VocabularyTreeviewComponent`
2023-07-01 20:38:17 +02:00
Alexandre Vryghem
e0db4284b3 Fix CollectionSearchResultListElementComponent no expectation tests
- Wrong css class was used
- The check to see if the offset was defined did not exist
2023-07-01 20:38:17 +02:00
Alexandre Vryghem
abc8640b5e Fix MetadataRepresentationListElementComponent no expectation tests
Also fixed incorrect regex in isLink()
2023-07-01 20:38:16 +02:00
Alexandre Vryghem
3640d75e10 Fix objectUpdatesReducer no expectation tests
Added a expect().nothing() to the test who don't expect anything but just ensure that no error is thrown
2023-07-01 20:38:16 +02:00
Alexandre Vryghem
bfaea741d5 Throw error for tests without expectations 2023-07-01 13:31:51 +02:00
Alexandre Vryghem
cf77726866 Fix enter not submitting collection form correctly
Fixed it for communities, collections, ePersons & groups
2023-07-01 01:01:57 +02:00
Alexandre Vryghem
b2b1782cd8 Hide entity field in collection form when entities aren't initialized 2023-06-30 22:43:46 +02:00
Tim Donohue
c4342d3238 Update version tag for development of next major release 2023-06-30 14:57:09 -05:00
Alexandre Vryghem
02a20c8862 103236: Added tests for setStaleByHrefSubstring 2023-06-30 17:01:25 +02:00
Art Lowel
ae6b183fae 103236: fix issue where setStaleByHrefSubtring wouldn't emit after all requests were stale 2023-06-30 16:56:15 +02:00
Kim Shepherd
a35b7d8356 catch and handle unsuccessful "convert rels to items" responses 2023-06-29 16:33:42 +02:00
Yury Bondarenko
c0f43bc585 ESLint: fix rxjs/no-implicit-any-catch
In most cases we can deal with the untyped errors by introducing an explicit instanceof check

DspaceRestService includes an unsafe catch/rethrow → made it explicitly typed as `any`, but it should be revisited at some point
2023-06-28 16:30:38 +02:00
Yury Bondarenko
07259ca342 ESLint/TypeScript: enforce no-implicit-any-catch
TypeScript try/catch and RxJs catchError are not type-safe.

https://typescript-eslint.io/rules/no-implicit-any-catch/
https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/#unknown-on-catch
https://github.com/cartant/eslint-plugin-rxjs/blob/main/docs/rules/no-implicit-any-catch.md
2023-06-28 12:51:47 +02:00
Yury Bondarenko
2cad56c51f Fix tests
PaginationComponent: expected arguments of updateRoute were out of sync with (fixed) types
GroupFormComponent:  groupBeingEdited is never set to null
2023-06-28 09:42:49 +02:00
Yury Bondarenko
0633460107 ESLint: fix object-curly-spacing 2023-06-27 17:30:02 +02:00
Yury Bondarenko
436a4d7645 ESLint: enforce object-curly-spacing
https://eslint.org/docs/latest/rules/object-curly-spacing
2023-06-27 17:30:01 +02:00
Yury Bondarenko
a11be65f95 ESlint: fix imports 2023-06-27 17:20:06 +02:00
Yury Bondarenko
fa404fff84 ESLint: enforce import formatting
Mainly to reduce merge conflict noise

- Order by origin & alphabetically
- Imports should be at the top of the file
- Newline between imports & the rest of the file
- Disallow duplicate imports
- Enforce single-line when only importing one object
- Enforce multi-line when importing two or more
2023-06-27 17:20:00 +02:00
Yury Bondarenko
917c36dbe7 ESLint: fix dangling commas 2023-06-27 17:19:58 +02:00
Yury Bondarenko
725dbc3743 ESLint: enforce dangling commas
https://eslint.org/docs/latest/rules/comma-dangle

Reduces merge conflict noise
2023-06-27 17:19:55 +02:00
Yury Bondarenko
0690a201dc ESLint: fix indentation 2023-06-27 17:19:55 +02:00
Yury Bondarenko
b505cbc690 ESLint: enforce indentation
https://eslint.org/docs/latest/rules/indent
2023-06-27 17:19:54 +02:00
Yury Bondarenko
1b717e1a5c ESLint: fix RxJs rule violations (pt. 1) 2023-06-27 17:19:53 +02:00
Yury Bondarenko
218ce832a9 ESLint: enforce low-impact recommended RxJs rules
https://github.com/cartant/eslint-plugin-rxjs#rules

Mainly to steer us away from unsafe patterns

Skipping two recommended rules for now:
rxjs/no-implicit-any-catch → not immediately clear how this should be addressed
rxjs/no-nested-subscribe   → there are quite a few cases, would take some effort to fix all of them
2023-06-27 17:19:53 +02:00
Yury Bondarenko
8a650a2fb5 ESlint: fix eqeqeq violations 2023-06-27 17:19:45 +02:00
Yury Bondarenko
3ce98cdbac ESLint: enforce Angular HTML eqeqeq
https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/eqeqeq.md
2023-06-27 17:19:20 +02:00
Yury Bondarenko
741c6009f4 ESLint: fix no-negated-async violations 2023-06-27 17:19:01 +02:00
Yury Bondarenko
fa2c22d240 ESLint: enforce Angular HTML no-negated-async
https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/docs/rules/no-negated-async.md

Prevents us from writing conditions that may pass/fail before an observable has emitted (this is likely to cause unexpected behaviour)
2023-06-27 16:47:09 +02:00
Yury Bondarenko
74e9e5fa14 ESLint: fix ban-types violations 2023-06-27 16:47:09 +02:00
Yury Bondarenko
80c9dae417 ESLint: enforce ban-types
https://typescript-eslint.io/rules/ban-types/
2023-06-27 16:47:09 +02:00
Yury Bondarenko
6f0c1e003d ESLint: fix no-extra-boolean-cast violations 2023-06-27 16:47:09 +02:00
Yury Bondarenko
ad4205073c ESLint: enforce no-extra-boolean-cast
https://eslint.org/docs/latest/rules/no-extra-boolean-cast
2023-06-27 16:47:09 +02:00
Yury Bondarenko
0f1ebfba62 ESLint: fix no-case-declaration violations 2023-06-27 16:47:09 +02:00
Yury Bondarenko
f1a8920d86 ESLint: enforce no-case-declarations
https://eslint.org/docs/latest/rules/no-case-declarations
2023-06-27 16:47:09 +02:00
Yury Bondarenko
95d3ff6569 ESLint: fix prefer-const violations 2023-06-27 16:47:09 +02:00
Yury Bondarenko
702246be38 ESLint: enforce prefer-const where possible
https://eslint.org/docs/latest/rules/prefer-const

In our tests we use this pattern a lot:
```
let something;

beforeEach(() => {
  something = ...;
});
```

This is not valid ~ prefer-const, but can be "let through" with some configuration.
However, this would make the rule too loose for the non-test codebase.

Therefore, we enable it overall but turn it off for tests only -- the `*.spec.ts` overrides apply to test files only and take precedence over `*.ts`
2023-06-27 16:47:09 +02:00
Alexandre Vryghem
928d7a45a3 103176: Fix vcr not being defined yet in OnInit hook 2023-06-27 15:26:49 +02:00
Alexandre Vryghem
7998ef489c 101731: Make ConfirmationModalComponent not dependent on DSpaceObject 2023-06-23 23:38:06 +02:00
Alexandre Vryghem
e5c142ef04 Merge remote-tracking branch 'upstream/main' into improve-confirmation-modal_contribute-main
# Conflicts:
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts
2023-06-23 23:17:42 +02:00
Tim Donohue
884aa07430 Update version tag for development of next release 2023-06-23 13:04:19 -05:00
Tim Donohue
404ccd9b0e Update version tag for release 2023-06-23 12:54:41 -05:00
Tim Donohue
990bde43ab Merge pull request #2336 from atmire/w2p-103005_variable-overwrite-fix_contribution
Fix background-color overwrite issue
2023-06-23 10:01:53 -05:00
Tim Donohue
db526a0c25 Merge pull request #2331 from tdonohue/ssr_redirect_301
Implement basic 301 Redirect for DSpace 6.x URLs when SSR is used.
2023-06-23 08:59:30 -05:00
Tim Donohue
9a5e26f640 Merge pull request #2334 from 4Science/fix-bistream-download-cache
fix for bitstreams are not visible to crawlers when caching is enabled
2023-06-23 08:56:02 -05:00
lotte
d4a59dd51c Merge branch 'w2p-103005_variable-overwrite-fix' 2023-06-23 12:07:22 +02:00
lotte
3d133f6166 103005: Fixed issue where bg colours couldn't be overwritten in themes 2023-06-23 11:50:05 +02:00
Giuseppe Digilio
163014306c [DURACOM-172] improve regex 2023-06-23 09:23:28 +02:00
Giuseppe Digilio
d9857a7a9a Merge branch 'main' into fix-bistream-download-cache 2023-06-23 09:16:17 +02:00
Tim Donohue
5331ff68db Merge pull request #2330 from doana/dynamic-scrollable-dropdown-accessibility
Add the ability to expand / collapse via keyboard
2023-06-22 15:23:33 -05:00
Tim Donohue
d4a5308d0c Refactor to use HardRedirectService. Update its redirect method to support optional statusCode 2023-06-22 13:37:14 -05:00
Giuseppe Digilio
6a58e49fb4 [DURACOM-172] add check to save only successful response into the SSR cache 2023-06-22 18:16:53 +02:00
Tim Donohue
661b4aef9d Merge pull request #2332 from 4Science/DURACOM-170
"Add Collection"  form loads
2023-06-22 11:10:39 -05:00
Alisa Ismailati
47e7eb1a4f [DURACOM-170] Fixed "add collection" behavior 2023-06-22 12:14:15 +02:00
Tim Donohue
0fe33eecd1 Implement basic 301 Redirect when SSR is used. 2023-06-21 15:36:59 -05:00
Adam Doan
275b057b40 Add the ability to expand / collapse via keyboard 2023-06-21 17:37:22 +00:00
Art Lowel
499bfe3154 Merge pull request #2277 from paulo-graca/bugfix/addressing-#2276
new project metadata representation component
2023-06-21 09:19:06 +02:00
Tim Donohue
5d39026eb7 Merge pull request #2245 from mwoodiupui/themeable-request-copy
Make some request-copy components themeable.
2023-06-20 16:27:45 -05:00
Tim Donohue
ee3e5ca14c Merge pull request #2316 from alanorth/item-count-style
src/app: adjust item count style
2023-06-20 16:13:26 -05:00
Tim Donohue
834893249c Merge pull request #2326 from 4Science/DURACOM-160
[DURACOM-160] Hide "Send feedback" link when CanSendFeedback is false
2023-06-20 15:50:59 -05:00
Alan Orth
07a8024daa src/app: adjust item count style
Minor adjustment to community and collection item counts. Instead of
using the Bootstrap `lead` class, which reduces weight but increases
size, we should use the same badge / pill style used in other counts
like on on the browse by pages.
2023-06-20 22:33:11 +03:00
Paulo Graça
5c10e473e9 Merge branch 'main' into bugfix/addressing-#2276 2023-06-20 17:07:13 +01:00
Paulo Graça
1919f976f4 adding support for DSONameService 2023-06-20 15:30:56 +01:00
Tim Donohue
2fa8ab5365 Merge pull request #2322 from alanorth/english-strings
src/assets/i18n: update English strings
2023-06-20 09:27:43 -05:00
Tim Donohue
157eedade4 Merge pull request #2288 from atmire/add-referrer-to-pageview-event-7.6.0-next
Add referrer to pageview event
2023-06-20 09:20:42 -05:00
Paulo Graça
f471957c4c adding support for DSONameService 2023-06-20 14:06:48 +01:00
Paulo Graça
72eaf35de1 adding support for DSONameService 2023-06-20 13:35:12 +01:00
Paulo Graça
e6fdc4597a change param name in typescript doc 2023-06-20 10:34:34 +01:00
Paulo Graça
130c3c9496 addressing styling issue 2023-06-20 10:33:03 +01:00
Paulo Graça
82d17d795f add support for dsoNameService 2023-06-20 10:24:53 +01:00
Paulo Graça
52dbb21339 include the project metadata representation component 2023-06-19 15:37:35 +01:00
Davide Negretti
4eb2297910 [DURACOM-160] Hide "Send feedback" link when CanSendFeedback is false 2023-06-19 13:24:10 +02:00
Paulo Graça
1caeecaa50 Merge branch 'main' into bugfix/addressing-#2276 2023-06-19 09:51:46 +01:00
Alan Orth
00aa0271f2 src/assets/i18n: update English strings
Re-word two messages for better English and consistency with other
similar strings.
2023-06-19 09:50:46 +03:00
Tim Donohue
471051dd59 Merge pull request #2319 from misilot/patch-1
Fix typo for the word Series
2023-06-16 16:36:52 -05:00
Tim Donohue
d728cc227d Merge pull request #2292 from rsaraivac/portuguese_pt-PT-message-keys
Portuguese (pt_PT) translation keys update
2023-06-16 16:13:30 -05:00
Tom Misilo
d266367070 Fix typo for the word Series 2023-06-16 15:54:30 -05:00
Mark H. Wood
c63001c205 Fix illogical templateUrl paths. Add missed DenyRequestCopyComponent. 2023-06-16 16:08:18 -04:00
Tim Donohue
d3d33536bf Merge pull request #2308 from 4Science/DURACOM-155
Edit section in sidebar menu: edit page of selected item / collection / community does not refresh
2023-06-16 14:34:27 -05:00
Tim Donohue
c903df80d8 Merge pull request #2297 from 4Science/DURACOM-152
Fixed read-only visibility for submission form fields
2023-06-16 14:08:47 -05:00
Ricardo Saraiva
022c6840f2 Merge branch 'main' into portuguese_pt-PT-message-keys 2023-06-16 17:58:36 +01:00
Ricardo Saraiva
adf8cc7bc5 Update pt-PT.json5
Incorporates some revised translations, adds and updates newly introduced translation keys.
2023-06-16 17:18:34 +01:00
Tim Donohue
5c8828f6b5 Merge pull request #2247 from 4Science/feature/CST-9636
feat: added bulk access control management
2023-06-16 10:48:24 -05:00
Paulo Graça
86b27de6e4 Merge branch 'main' into bugfix/addressing-#2276 2023-06-16 16:06:51 +01:00
Tim Donohue
e9b18d87fe Merge pull request #2311 from 4Science/DURACOM-157
Multiple uploaders in the same page don't work
2023-06-16 10:01:19 -05:00
Tim Donohue
3785729ae5 Merge pull request #2318 from saschaszott/patch-3
resolve German translation inconsistency in scopenote
2023-06-16 09:14:00 -05:00
Alisa Ismailati
42026b36d5 [DURACOM-152] refactored concatenated fields visibility 2023-06-16 15:31:45 +02:00
Sascha Szott
69726f6fa0 resolve German translation differences 2023-06-16 15:00:52 +02:00
Alisa Ismailati
d00ad0cd0e [DURACOM-152] Field visibility 2023-06-16 13:27:51 +02:00
Davide Negretti
4c6cae911b [DURACOM-157] Multiple uploaders in the same page don't work 2023-06-16 10:54:04 +02:00
Tim Donohue
91027094ed Merge pull request #2252 from alexandrevryghem/issue-1671_fix-relationships-not-updating-view-on-submission-form_contribute-main
Adding/removing relationships in the submission form does not update the view automatically
2023-06-15 11:47:04 -05:00
Tim Donohue
12f9023810 Merge pull request #2313 from 4Science/fix-duplicate-headers
[CST-5729] Fix duplicate links for download page
2023-06-15 10:47:39 -05:00
Giuseppe Digilio
47543b4237 [CST-5729] Fix duplicate links for download page 2023-06-15 17:18:00 +02:00
Alisa Ismailati
fda4ef77e4 [DURACOM-152] Section visibility read-only 2023-06-15 12:42:29 +02:00
Tim Donohue
7ebdcd3686 Merge pull request #2304 from 4Science/cache-response-headers
Add possibility to store response's headers into the SSR cache
2023-06-14 15:36:23 -05:00
Tim Donohue
0c9baf22f5 Merge pull request #2250 from damian-joz/1787-coll-comm-item-counts
Displaying item counts at Communities and Collections list view.
2023-06-14 14:08:23 -05:00
Tim Donohue
25ca13735b Merge pull request #2244 from mwoodiupui/reqitem-response
Make request-copy grant message an optional addition; main text is in backend.
2023-06-14 13:18:27 -05:00
Tim Donohue
327031cceb Merge pull request #2213 from atmire/w2p-101289_1578_primaryBitstream-edit-implementation
Primary bitstream toggle implementation
2023-06-14 11:45:17 -05:00
Giuseppe Digilio
2f06a7cb17 [CST-5729] Change in order to save header only if configured and existing 2023-06-14 18:26:55 +02:00
Mark H. Wood
2d716c7630 Remove test which is no longer valid. 2023-06-14 11:32:03 -04:00
Mark H. Wood
004645b5e4 Remove lint. 2023-06-14 11:32:00 -04:00
Mark H. Wood
93fcbe79aa Make grant message an optional addition; main text is in backend. 2023-06-14 11:30:59 -04:00
Giuseppe Digilio
6e6b775c20 Merge remote-tracking branch '4sciencebitbucket/feature/CST-9636' into feature/CST-9636 2023-06-14 15:03:04 +02:00
Enea Jahollari
e720c77388 Merge branch 'main' into feature/CST-9636
# Conflicts:
#	src/assets/i18n/en.json5
2023-06-14 13:55:19 +02:00
Alan Orth
9919abebce Merge pull request #2305 from alanorth/finnish-strings
src/assets: update fi.json5
2023-06-14 14:35:59 +03:00
Alisa Ismailati
ce517adf7d [DURACOM-155] lint fix 2023-06-14 13:18:33 +02:00
Alan Orth
134eac5f39 src/assets: update fi.json5
Add a few Finnish language UI strings.
2023-06-14 13:30:56 +03:00
kshepherd
de65530e72 Merge pull request #2306 from alanorth/lint-en.json5
src/assets/i18n/en.json5: lint
2023-06-14 11:26:11 +02:00
Alan Orth
adebc30d3b src/assets/i18n/en.json5: lint
Normalize whitespace in i18n/en.json5. This file should be clean, as
it is the "upstream" of all other language assets and produces a lot
of whitespace changes every time strings are merged.
2023-06-14 11:24:22 +03:00
Alisa Ismailati
3b93f5bd23 [DURACOM-155] small fix 2023-06-14 09:44:58 +02:00
Tim Donohue
c70e0464ed Merge pull request #2299 from alexandrevryghem/fix-browse-by-proxy-timeout_contribute-main
Fix Proxy Timeouts on browse by pages
2023-06-13 16:41:30 -05:00
damian
8bcceff085 Empty communities and collections items count are now shown. Show communities items count at the home page. 2023-06-13 19:57:30 +02:00
Giuseppe Digilio
ac9be25faf [CST-5729] check if header exists 2023-06-13 19:30:40 +02:00
Giuseppe Digilio
302f5a6076 Merge branch 'main' into cache-response-headers 2023-06-13 19:17:55 +02:00
Giuseppe Digilio
486aefebc7 [CST-5729] Add possibility to store response's headers into the SSR cache 2023-06-13 19:00:33 +02:00
Alisa Ismailati
ec8470de06 [DURACOM-155] 2023-06-13 18:41:11 +02:00
Tim Donohue
187702d52d Merge pull request #2230 from tdonohue/default_privacy
Add default privacy statement & end user agreement
2023-06-13 10:47:04 -05:00
Alisa Ismailati
ff85422bb3 [DURACOM-155] Edit item / collection / community in sidebar menu 2023-06-13 16:46:26 +02:00
Tim Donohue
685fbf630a Address feedback: Make links open in new window/tab. 2023-06-12 17:04:02 -05:00
Tim Donohue
c3854355fd Fix e2e test to check for new title prefix 2023-06-12 16:56:08 -05:00
Tim Donohue
de0d7bf33a Replace lorem ipsum with text donated by DSpaceDirect 2023-06-12 16:56:08 -05:00
Tim Donohue
48ea7df8b2 Merge pull request #2212 from enea4science/CST-7216
Import saf via URL
2023-06-12 13:05:39 -05:00
Tim Donohue
a3779622f0 Merge pull request #2301 from 4Science/signposting-url-fix
[CST-5729] fix issue with signposting endpoint url replace
2023-06-12 09:07:28 -05:00
Giuseppe Digilio
5d6edade22 [CST-5729] turn to use app config baseurl 2023-06-12 15:22:33 +02:00
Giuseppe Digilio
e85f9f2b25 [CST-5729] fix issue with signposting endpoint url replace 2023-06-12 14:40:21 +02:00
Alisa Ismailati
2c7cf18be5 Merge branch 'main' of https://bitbucket.org/4Science/dspace-angular into DURACOM-152 2023-06-12 11:52:10 +02:00
enea4science
58a3ec3972 Update orcid-sync-settings.component.ts 2023-06-12 09:50:26 +02:00
enea4science
9a74190bf4 Merge branch 'main' into feature/CST-9636 2023-06-12 09:47:35 +02:00
enea4science
155f3f9a12 Merge branch 'main' into CST-7216 2023-06-12 09:37:07 +02:00
Alexandre Vryghem
91b635787d Merge remote-tracking branch 'upstream/main' into fix-browse-by-proxy-timeout_contribute-main
# Conflicts:
#	src/app/browse-by/browse-by-guard.spec.ts
#	src/app/browse-by/browse-by-guard.ts
2023-06-11 22:08:18 +02:00
Alexandre Vryghem
b8d282ebe4 Fix proxy timeout error for browse by pages 2023-06-11 22:04:40 +02:00
Paulo Graça
404e2f8e02 Merge branch 'main' into bugfix/addressing-#2276 2023-06-10 00:36:19 +01:00
Tim Donohue
00e0028864 Merge pull request #2248 from 4Science/feature/CST-5729
Implement Signposting on angular side
2023-06-09 16:03:10 -05:00
Giuseppe Digilio
2fc3f2bbc3 Merge branch 'main' into feature/CST-5729 2023-06-09 19:25:07 +02:00
Giuseppe Digilio
96903d89de [CST-5729] fix signposting proxy url 2023-06-09 19:24:16 +02:00
damian
8cc96060ff Variable name change. 2023-06-09 16:44:29 +02:00
Yury Bondarenko
c4b2565373 Workaround: don't use form-global data for check
Note: we're balancing multiple bugs against eachother here, not ideal!
  - the diff doesn't catch removed Relationship fields; instead, form reload is triggered by a dspace.entity.type change
  - if we add the original `this.sectionMetadata.includes(key)` check, we filter out this change and the form fails to update
  - if we add `relation.*` fields to `this.sectionMetadata`, newly added Relationship entries are duplicated

As of this commit, the form _seems_ to work in a stable way, but these issues shoud really investigated in more detail.
2023-06-09 13:39:33 +02:00
lotte
95f33848f9 Merge remote-tracking branch 'origin/main' into w2p-101289_1578_primaryBitstream-edit-implementation 2023-06-09 12:14:48 +02:00
lotte
daf297b94b 101289: Removed unnecessary data services from primary bitstream service 2023-06-09 12:12:31 +02:00
Paulo Graça
ba6d3f363c Merge branch 'main' into bugfix/addressing-#2276 2023-06-09 11:02:26 +01:00
Tim Donohue
00d895b304 Merge pull request #2293 from 4Science/DURACOM-151
Delete EPerson from "Edit EPerson" form
2023-06-08 14:21:28 -05:00
lotte
9d2fed4186 101289: Fixed test issues 2023-06-08 16:42:25 +02:00
lotte
a936878c96 101289: tests 2023-06-08 16:02:33 +02:00
Art Lowel
c9324b0714 fix issue where iiif tests would fail 2023-06-08 15:44:30 +02:00
Giuseppe Digilio
706c49d04b Merge remote-tracking branch '4sciencebitbucket/feature/CST-9636' into feature/CST-9636 2023-06-08 15:23:17 +02:00
Giuseppe Digilio
d449108395 [CST-9636] revert changes to object-list.component 2023-06-08 15:23:02 +02:00
Enea Jahollari
84f4f017fb CST-9639: Fix error when modal closes 2023-06-08 14:52:29 +02:00
lotte
56cba82c2d 101289: intermediate commit for test issues 2023-06-08 14:16:04 +02:00
Giuseppe Digilio
45bf5a77e2 Merge branch 'main' into DURACOM-152 2023-06-08 13:17:51 +02:00
Giuseppe Digilio
b3b5b761db Merge branch 'main' into feature/CST-5729 2023-06-08 13:15:26 +02:00
Giuseppe Digilio
02bb7db119 [CST-5729] Fix issue with undefined link type 2023-06-08 13:15:02 +02:00
Enea Jahollari
16ff75c92e CST-9639: Fix calendar placement 2023-06-08 10:23:33 +02:00
Enea Jahollari
cdca1b5313 Merge branch 'main' into feature/CST-9636 2023-06-08 09:52:38 +02:00
Enea Jahollari
b44acd68ee CST-9639: Fix maxStartDate issue 2023-06-08 09:52:25 +02:00
Tim Donohue
ed6fe8c609 Merge pull request #2296 from atmire/w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Browse by Controlled Vocab on Community/Collection homepages
2023-06-07 16:43:30 -05:00
Mark H. Wood
50acff1b59 Empty the template of local content. 2023-06-07 12:22:37 -04:00
Alisa Ismailati
5331b43a62 [DURACOM-152] Fixed read-only visibility for submission form fields 2023-06-07 18:08:21 +02:00
Enea Jahollari
88b69a55eb Merge branch 'main' into feature/CST-9636 2023-06-07 17:29:27 +02:00
Enea Jahollari
12b3eb839b CST-9639: Added and fixed unit tests 2023-06-07 17:29:05 +02:00
Tim Donohue
3c871f90c0 Merge pull request #2234 from mspalti/mirador-config
Update of mirador configuration and webpack
2023-06-07 09:51:57 -05:00
Art Lowel
d69adab419 refactor primarybitstreams to work with DELETE, POST and PUT instead of PATCh 2023-06-07 16:22:57 +02:00
Enea Jahollari
9f78f6c5c1 Merge branch 'main' into feature/CST-9636
# Conflicts:
#	src/app/core/core.module.ts
2023-06-07 16:11:43 +02:00
Enea Jahollari
47e0314c9b CST-9639: Fixed error on control remove, fixed cancel button behavior, fixed bad state of access control tab on load, fixed translations, added jsdocs 2023-06-07 13:00:12 +02:00
Nona Luypaert
6b0318fc03 Merge branch 'main' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next 2023-06-07 11:07:12 +02:00
Nona Luypaert
9db595c232 Merge branch 'w2p-101127_browse-by-controlled-vocabulary' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next 2023-06-07 10:03:48 +02:00
Nona Luypaert
77a8fde646 101623: Fix Browse By Vocabulary on comcol page 2023-06-07 09:36:01 +02:00
Paulo Graça
a7f7cecdab Merge branch 'main' into bugfix/addressing-#2276 2023-06-07 08:34:33 +01:00
Paulo Graça
f6f68de6d1 Merge branch 'main' into portuguese_pt-PT-message-keys 2023-06-07 08:15:31 +01:00
Tim Donohue
829b111663 Merge pull request #2177 from alexandrevryghem/fix-metadata-fields-containing-dots_contribute-main
Added input validation for new metadata field submissions & fixed some other small bugs
2023-06-06 14:33:58 -05:00
Tim Donohue
e2b3f52fe4 Merge pull request #2228 from enea4science/feature/DURACOM-131
[DURACOM-131] Show output files in separate lines and a refresh spinner if status is running
2023-06-06 13:52:28 -05:00
Alexandre Vryghem
25e06fffe9 Merge remote-tracking branch 'alex/fix-metadata-fields-containing-dots_contribute-7.4' into fix-metadata-fields-containing-dots_contribute-main 2023-06-06 18:58:24 +02:00
Alexandre Vryghem
755451191c 100553: Updated form validation errors from metadata schema and field form 2023-06-06 18:27:07 +02:00
Giuseppe Digilio
d2dfd0b293 Merge branch 'main' into feature/CST-5729 2023-06-06 18:14:39 +02:00
Alisa Ismailati
454d869c53 Merge branch 'main' of https://bitbucket.org/4Science/dspace-angular into DURACOM-151 2023-06-06 18:09:21 +02:00
Alisa Ismailati
b1aa2f3550 [DURACOM-151] reverted setStaleByUUID method as it was 2023-06-06 16:57:17 +02:00
Enea Jahollari
3fdef20dc2 added unit testing 2023-06-06 15:54:57 +02:00
Alisa Ismailati
1b2d9829ed [DURACOM-151] unit test fix 2023-06-06 15:35:54 +02:00
Alisa Ismailati
3611f37563 [DURACOM-151] Fixed EPerson deletion 2023-06-06 14:42:49 +02:00
Enea Jahollari
dbccda4330 rollback change for orcid sync settings 2023-06-06 14:13:13 +02:00
Paulo Graça
7a19603f5c Merge branch 'main' into bugfix/addressing-#2276 2023-06-06 12:45:49 +01:00
Ricardo Saraiva
70b1717a3c Merge branch 'main' into portuguese_pt-PT-message-keys 2023-06-06 12:27:41 +01:00
Ricardo Saraiva
72be58aa2a Update pt-PT.json5 2023-06-06 11:50:35 +01:00
Ricardo Saraiva
3f343dbd60 Update pt-PT.json5 2023-06-06 11:29:47 +01:00
Art Lowel
8f536d31ef Merge remote-tracking branch 'upstream/main' into add-referrer-to-pageview-event-7.6.0-next 2023-06-06 10:43:30 +02:00
Tim Donohue
5af9793cdf Merge pull request #2253 from doana/orcid-settings-button-accessibility
ORCID registry queue button accessibility
2023-06-05 15:49:05 -05:00
Tim Donohue
1ba72f54c2 Merge pull request #2021 from atmire/default-configuration-fix
"default" search configuration fix
2023-06-05 15:37:29 -05:00
Tim Donohue
5dda1989b5 Merge pull request #2280 from atmire/w2p-102039_Multiple_Bitstream_deletion_endpoint
Fix multiple bitstream deletion not working
2023-06-05 15:36:02 -05:00
Tim Donohue
21c7f438ac Merge pull request #2215 from atmire/w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Browse by Controlled Vocabulary Page
2023-06-05 15:31:50 -05:00
Paulo Graça
2cfef082f1 Merge branch 'main' into bugfix/addressing-#2276 2023-06-05 15:45:35 +01:00
Ricardo Saraiva
2824469dc5 Update pt-PT.json5 2023-06-05 14:41:55 +01:00
Alan Orth
cdff2aba6c Merge pull request #2272 from alanorth/publisher-i18n-string
src/assets: add i18n string for publisher
2023-06-05 16:30:14 +03:00
Giuseppe Digilio
092608f6cb [CST-5729] Remove additional error message 2023-06-05 15:11:01 +02:00
Alan Orth
165bdf7797 src/assets: add i18n string for publisher
Add string for publisher in live import item preview.

Requires: https://github.com/DSpace/DSpace/pull/8866
2023-06-05 15:52:02 +03:00
Giuseppe Digilio
f52e95871a Merge branch 'main' into feature/CST-5729 2023-06-05 14:22:14 +02:00
Enea Jahollari
d99b98d140 Merge remote-tracking branch 'origin/main' into feature/CST-9636 2023-06-05 09:18:00 +02:00
Paulo Graça
58caa84153 Merge branch 'main' into bugfix/addressing-#2276 2023-06-04 09:31:58 +01:00
Nona Luypaert
9ca57e942a Merge branch 'main' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Conflicts:
	src/assets/i18n/en.json5
2023-06-03 00:07:37 +02:00
Tim Donohue
ef9fd36fe2 Merge pull request #2246 from doana/search-filter-accessibility
Add filter name to search filter button aria-label.
2023-06-02 17:02:21 -05:00
Tim Donohue
5a9e9fdd5a Merge pull request #2255 from doana/starts-with-text-missing-label
Add label to starts-with-text input field
2023-06-02 16:28:47 -05:00
Tim Donohue
e0f0b6935c Merge pull request #2274 from alanorth/fix-english-permission-string
src/assets/i18n: fix English permission string
2023-06-02 16:06:19 -05:00
Tim Donohue
acb9b24722 Merge pull request #2202 from mwoodiupui/themeable-section-upload-file
Themeable `SubmissionSectionUploadFileComponent`
2023-06-02 15:58:16 -05:00
Nona Luypaert
db8b9f13b6 Merge branch 'w2p-101127_browse-by-controlled-vocabulary' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next 2023-06-02 20:18:32 +02:00
Nona Luypaert
4cf69eb9c9 101623: Fix reset emit nog working for BrowseByTaxonomyPage 2023-06-02 20:16:13 +02:00
enea4science
df71391647 Merge branch 'main' into CST-7216 2023-06-02 15:33:50 +02:00
Enea Jahollari
81f7b5ae12 Merge remote-tracking branch 'upstream/main' into CST-7216 2023-06-02 15:32:57 +02:00
Enea Jahollari
ae269f64b6 Merge branch 'main' into feature/CST-9636
# Conflicts:
#	src/app/item-page/edit-item-page/edit-item-page.module.ts
#	src/app/item-page/edit-item-page/edit-item-page.routing.module.ts
2023-06-02 15:10:30 +02:00
Nona Luypaert
7135f8ab30 Merge branch 'w2p-101127_browse-by-controlled-vocabulary' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Conflicts:
	src/app/browse-by/browse-by-page.module.ts
	src/app/shared/form/form.module.ts
2023-06-02 14:31:52 +02:00
Nona Luypaert
9d08cac566 101623: Reset in Treeview also resets selectedItems + Provide TreeviewService in root 2023-06-02 14:15:46 +02:00
Alan Orth
da245b88b8 src/assets/i18n: fix English permission string
The current message is not correct English. Note, there seems to be
a mix of "don't" and "do not" language. Perhaps we should harmonize
that eventually.
2023-06-02 12:59:20 +03:00
enea4science
f16befb088 Merge branch 'main' into feature/DURACOM-131 2023-06-02 09:37:36 +02:00
Enea Jahollari
f09a26f019 Merge remote-tracking branch 'upstream/main' into feature/DURACOM-131 2023-06-02 09:34:23 +02:00
Mark H. Wood
10899aa22c Merge branch 'main' into themeable-section-upload-file 2023-06-01 16:36:09 -04:00
Tim Donohue
6ba8cbd49c Merge branch 'main' into starts-with-text-missing-label 2023-06-01 15:20:52 -05:00
Mark H. Wood
3a5d8022e5 Merge branch 'main' into themeable-request-copy 2023-06-01 13:58:07 -04:00
Mark H. Wood
dd548c20e9 Add blank custom versions to 'custom' theme. 2023-06-01 13:48:17 -04:00
Tim Donohue
37a323e94f Merge pull request #2231 from mspalti/date-browse-fix
Possible fix for browse-by-date links
2023-06-01 12:40:59 -05:00
Tim Donohue
be7938a21b Merge pull request #2036 from atmire/w2p-98422_Thumbnail-uploader_contribute-7.2
Adding themed components for EditBitstreamPageComponent and ItemStatusComponent
2023-06-01 11:53:46 -05:00
Tim Donohue
aa7409051b Merge pull request #2243 from 4Science/DURACOM-145
Handled collection step visibility on a submission form
2023-06-01 11:32:08 -05:00
Michael Spalti
8e450402af Removed unnecessary route navigation. 2023-06-01 09:30:38 -07:00
Michael Spalti
86e1333025 Possible fix for browse-by-date links 2023-06-01 09:30:38 -07:00
Mark H. Wood
97673471f7 Remove inherited input declarations. 2023-06-01 12:20:59 -04:00
Mark H. Wood
8e6268ff84 We want an empty template, since not yet used. 2023-06-01 12:16:29 -04:00
Giuseppe Digilio
81f3a5cce0 Merge branch 'main' into feature/CST-5729 2023-06-01 18:00:15 +02:00
Tim Donohue
828f2586b1 Merge pull request #2261 from tdonohue/fix_unsafe_links
Fix several "potentially unsafe external link" warnings
2023-06-01 10:57:41 -05:00
Tim Donohue
dd6051b645 Merge pull request #2287 from rsaraivac/portuguese_pt-PT-message-keys
Contribution to the Portuguese (pt-PT) translation of DSpace
2023-06-01 10:49:41 -05:00
Tim Donohue
6426f9e532 Merge pull request #2286 from alanorth/remove-webpack.js
Remove scripts/webpack.js
2023-06-01 10:49:07 -05:00
Kristof De Langhe
48896fdae2 Merge branch 'main' into w2p-98422_Thumbnail-uploader_contribute-7.2 2023-06-01 17:14:32 +02:00
Enea Jahollari
1ebe61028f Merge branch 'main' into feature/CST-9636 2023-06-01 17:01:24 +02:00
Enea Jahollari
5e4102cd21 update test file 2023-06-01 16:57:20 +02:00
Enea Jahollari
b35e27a44b disable tests 2023-06-01 16:57:13 +02:00
Enea Jahollari
72b089c0cd fix BulkAccessSettingsComponent test 2023-06-01 16:04:12 +02:00
Enea Jahollari
8b636f533b fix bitstream list item test 2023-06-01 15:41:52 +02:00
Enea Jahollari
c1dcebbd04 Fix: fix validation and translation
Show/hide the datepicker based on the value
2023-06-01 15:27:11 +02:00
Paulo Graça
3e7a3f250b Merge branch 'main' into portuguese_pt-PT-message-keys 2023-06-01 10:39:17 +01:00
Art Lowel
ee04589599 Merge branch 'add-referrer-to-pageview-event-7.4' into add-referrer-to-pageview-event-7.6.0-next 2023-06-01 11:01:05 +02:00
Art Lowel
f2cfab749e Merge branch 'add-referrer-to-pageview-event-7.2' into add-referrer-to-pageview-event-7.4 2023-06-01 11:00:53 +02:00
Art Lowel
42ba7924b9 Merge branch 'add-referrer-to-pageview-event-7.0' into add-referrer-to-pageview-event-7.2 2023-06-01 11:00:41 +02:00
Art Lowel
d1dff0553d fix lint error 2023-06-01 11:00:26 +02:00
Art Lowel
43e1e6d22b add noreferrer to license link 2023-06-01 10:56:44 +02:00
Giuseppe Digilio
a67c8906ee Merge branch 'main' into feature/CST-5729 2023-06-01 09:15:41 +02:00
Tim Donohue
37d9b5bfc2 Merge pull request #2269 from DSpace/dependabot/npm_and_yarn/socket.io-parser-4.2.3
Bump socket.io-parser from 4.2.2 to 4.2.3
2023-05-31 16:59:28 -05:00
rsaraivac
9c683b55e0 Merge branch 'main' into portuguese_pt-PT-message-keys 2023-05-31 21:15:04 +01:00
rsaraivac
c84db3ce3d Update pt-PT.json5 2023-05-31 20:34:21 +01:00
Tim Donohue
0968fe8bbc Merge pull request #2271 from kshepherd/item_status_page_config_fix
ItemStatus component should handle missing config gracefully
2023-05-31 14:28:37 -05:00
rsaraivac
29f283b35e Update pt-PT.json5 2023-05-31 20:11:38 +01:00
rsaraivac
6ad0f99ca4 Update pt-PT.json5 2023-05-31 20:06:12 +01:00
rsaraivac
d3d9a526fd Update pt-PT.json5 2023-05-31 19:29:57 +01:00
rsaraivac
bbfb8bec01 Update pt-PT.json5 2023-05-31 18:34:59 +01:00
Tim Donohue
8bdd2d293f Merge pull request #2135 from mwoodiupui/embargo-date
Don't allow the date picker to exceed the maximum start or end date for an access option
2023-05-31 11:53:53 -05:00
Alan Orth
6483eb2c30 Remove scripts/webpack.js
This is no longer used.

Fixes: https://github.com/DSpace/dspace-angular/issues/2285
2023-05-31 19:39:36 +03:00
Tim Donohue
38d7412569 Merge pull request #2284 from atmire/fix-issue-with-colons-in-ids
Fix issue where a colon in a uuid would get misinterpreted as a route param
2023-05-31 10:36:37 -05:00
rsaraivac
0f1b16cbeb Merge branch 'main' into portuguese_pt-PT-message-keys 2023-05-31 14:56:59 +01:00
Art Lowel
244608aa5c fix issue where a colon in a uuid would get misinterpreted as a route param 2023-05-31 12:11:15 +02:00
rsaraivac
fb1ff05757 Contribution to the Portuguese (pt-PT) translation of DSpace v7.5
Extended revision of the Portuguese (pt-PT) translation of DSpace v7.5. This version adds new message keys,  reordered the message keys accordingly to the authoritative master (en.json5) and adds missing or not found translation keys (mentioned in the last section of the file).
2023-05-30 22:09:59 +01:00
Art Lowel
15493e2f69 Merge branch 'add-referrer-to-pageview-event-7.4' into add-referrer-to-pageview-event-7.6.0-next 2023-05-30 17:48:29 +02:00
Art Lowel
ffdc7b32c5 Merge branch 'add-referrer-to-pageview-event-7.2' into add-referrer-to-pageview-event-7.4 2023-05-30 17:24:51 +02:00
Art Lowel
5723fcbdc0 Merge branch 'add-referrer-to-pageview-event-7.0' into add-referrer-to-pageview-event-7.2 2023-05-30 17:19:44 +02:00
Art Lowel
5b37101bb9 add the rel="noreferrer" attribute when target="_blank" 2023-05-30 17:17:54 +02:00
Art Lowel
3df0286ec8 fix an issue where the current page would be used instead of a third party referrer 2023-05-30 16:53:16 +02:00
Art Lowel
fcfdff7fbd ensure the rel="noopener" attribute is only set when target="_blank" and remove "noreferrer" in all cases 2023-05-30 16:53:12 +02:00
Art Lowel
4717d6f758 add referrer to pageview events 2023-05-30 16:39:50 +02:00
Art Lowel
2db6c96d57 Merge branch 'add-referrer-to-pageview-event-7.2' into add-referrer-to-pageview-event-7.4 2023-05-30 16:33:13 +02:00
Art Lowel
f8eb8e1cae Merge branch 'add-referrer-to-pageview-event-7.0' into add-referrer-to-pageview-event-7.2 2023-05-30 16:08:59 +02:00
Paulo Graça
2ff5b7370c updating project metatadata representation list html 2023-05-30 14:53:55 +01:00
Paulo Graça
f5e09c5f8d fixing angular test, I was using a legacy property 2023-05-30 14:24:56 +01:00
Nona Luypaert
23b5d52623 101623: Fix request being sent with uuid=undefined if not going to a DSO page 2023-05-30 14:50:25 +02:00
Nona Luypaert
97c90cfd9e Merge branch 'w2p-101127_browse-by-controlled-vocabulary' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Remove invalid _links in BrowseDefinition models
Make arrows smaller in on VocabularyTreeview template
2023-05-30 14:14:20 +02:00
Nona Luypaert
138fccf711 101623: Fix lint/tests after removing invalid links, Make arrows on Treeview smaller 2023-05-30 14:11:03 +02:00
Paulo Graça
d9ed91df05 new project metadata representation component 2023-05-30 11:46:59 +01:00
Alexandre Vryghem
fb66b5abd6 102039: Use patch to delete multiple bitstreams at once 2023-05-30 11:31:11 +02:00
Enea Jahollari
23eeee3d16 Fix alignment 2023-05-30 09:58:06 +02:00
Enea Jahollari
a525c6fe3e Fix sections alignment 2023-05-29 15:47:16 +02:00
Enea Jahollari
877af98c4b Make Reset and Execute buttons normal 2023-05-29 15:30:24 +02:00
Enea Jahollari
bd477765c0 Added labels and hide dates if disabled 2023-05-29 10:44:03 +02:00
Mark H. Wood
74a0820271 Correct test fixture to match unit-under-test requirements. 2023-05-26 13:13:03 -04:00
Giuseppe Digilio
ae4b68f1bb Merge branch 'main' into feature/CST-5729
# Conflicts:
#	src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.ts
2023-05-25 23:17:31 +02:00
Giuseppe Digilio
220b30bea7 [CST-5729] Address review feedback 2023-05-25 23:15:57 +02:00
Mark H. Wood
172f7e527f Merge remote-tracking branch 'upstream/main' into embargo-date 2023-05-25 14:57:25 -04:00
jeffmorin
de83b35d6c Merge branch 'DSpace:main' into main 2023-05-25 10:52:34 -04:00
Tim Donohue
d2fa8cda6a Merge pull request #2200 from atmire/w2p-100414_Missing-search-result-statistics-PR
Missing search results statistics
2023-05-25 08:55:01 -05:00
lotte
d71c16879e Merge branch 'main' into w2p-101289_1578_primaryBitstream-edit-implementation 2023-05-25 14:36:39 +02:00
Nona Luypaert
85f95112b3 101127: Remove invalid links in BrowseDefinition models 2023-05-25 12:10:28 +02:00
Kim Shepherd
efaf1d47da item-status comp should handle missing config gracefully
if the "register identifier" config is missing, simply
return enabled=false rather than break the rest of the
page features from loading
2023-05-25 10:34:08 +12:00
Nona Luypaert
d38b16eb48 Merge remote-tracking branch 'upstream/main' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Conflicts:
	src/app/browse-by/browse-by-guard.spec.ts
	src/app/shared/object-list/metadata-representation-list-element/browse-link/browse-link-metadata-list-element.component.ts
	src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.ts
2023-05-24 17:26:53 +02:00
Nona Luypaert
1d0df844c3 101623: Fixes after merge 2023-05-24 16:51:52 +02:00
Nona Luypaert
fad1a7ade4 Merge branch 'w2p-101127_browse-by-controlled-vocabulary' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Conflicts:
	src/app/browse-by/browse-by-routing.module.ts
	src/app/browse-by/browse-by.module.ts
	src/app/core/browse/browse-definition-data.service.ts
	src/app/core/core.module.ts
2023-05-24 16:35:37 +02:00
Sondissimo
632ef08905 CST-9779 Provided changes to the home component text as required (removed the 2 unwanted paragraphs) 2023-05-24 15:19:56 +02:00
dependabot[bot]
e7b02778cf Bump socket.io-parser from 4.2.2 to 4.2.3
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.2 to 4.2.3.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.2...4.2.3)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-24 02:15:33 +00:00
Mark H. Wood
8a93bef98c Supply a customizable themed version. 2023-05-23 13:06:12 -04:00
Tim Donohue
9c780200b2 Merge pull request #2226 from 4Science/DURACOM-133
Supervised Order with OBSERVER permissions can only view the item
2023-05-23 11:46:45 -05:00
Nona Luypaert
78d5116cdb 101623: Add missing docs + Fix lint issues 2023-05-23 17:54:33 +02:00
Nona Luypaert
2f0f69710e 101623: Fix browse-related tests by replacing abstract class 2023-05-23 17:40:07 +02:00
Nona Luypaert
d9b0eebc18 101623: Remove hardcoded 'browse by srsc' menu option in MenuResolver 2023-05-23 17:08:00 +02:00
Nona Luypaert
aee76913aa 101623: Replace hardcoded vocabulary with BrowseDefinition in BrowseByTaxonomyPage 2023-05-23 17:05:00 +02:00
Nona Luypaert
d1c91b8bc2 101623: Override createAndSendGetRequest in BrowseDefinitionDataService 2023-05-23 17:02:10 +02:00
Enea Jahollari
7f450320b6 Fix circular dependency 2023-05-23 16:05:38 +02:00
Enea Jahollari
d7fe120245 Merge branch 'main' into feature/CST-9636
# Conflicts:
#	src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.ts
2023-05-23 15:51:46 +02:00
Nona Luypaert
f01c58e84d 101623: Fix BrowseResponseParsingService + Add tests for it 2023-05-23 14:13:05 +02:00
Pascal-Nicolas Becker
7a2b1b2068 Merge pull request #2266 from fapsi/patch-1
German translation for "browse.startsWith"
2023-05-23 14:10:56 +02:00
fapsi
1bc8111117 Merge branch 'main' into patch-1 2023-05-23 01:22:40 +02:00
Tim Donohue
8b1a2d0a0e Merge pull request #2232 from uniba-ub/fix2219
Correctly load choice ui form.other-information translation keys
2023-05-22 17:01:23 -05:00
fapsi
6af872bf9f Removed unnecessary trailing spaces
Fixing linting.
2023-05-22 23:46:33 +02:00
fapsi
2445a6bd8a German translation for "browse.startsWith"
Added missing German translation for "browse.startsWith".
2023-05-22 23:05:13 +02:00
Tim Donohue
d5198659a9 Merge pull request #2129 from alexandrevryghem/retrieve-name-with-dsonameservice-main
Use the DSONameService to display DSpaceObjects names
2023-05-22 15:55:47 -05:00
Alexandre Vryghem
822db5120a 101731: Make ConfirmationModalComponent not dependent on DSpaceObject 2023-05-22 17:08:47 +02:00
Giuseppe Digilio
2c3329b7c0 Merge remote-tracking branch '4sciencebitbucket/DURACOM-133' into DURACOM-133 2023-05-22 09:15:30 +02:00
Giuseppe Digilio
e12da0fd0e Merge branch 'main' into feature/CST-5729 2023-05-22 09:11:34 +02:00
Alisa Ismailati
d0ccb59424 [DURACOM-133] Removed unused variable 2023-05-22 09:11:15 +02:00
Giuseppe Digilio
f0f8f163fa Merge remote-tracking branch '4sciencebitbucket/DURACOM-145' into DURACOM-145 2023-05-22 09:01:17 +02:00
Gantner, Florian Klaus
47098ca4ca add missing form.other-information keys 2023-05-22 08:29:23 +02:00
Tim Donohue
edeea00c75 Fix several "potentially unsafe external link" warnings 2023-05-19 16:02:30 -05:00
Tim Donohue
5a5c7cc43b Merge pull request #2254 from DSpace/dependabot/npm_and_yarn/engine.io-6.4.2
Bump engine.io from 6.4.1 to 6.4.2
2023-05-19 15:52:32 -05:00
dependabot[bot]
5f72865e42 Bump engine.io from 6.4.1 to 6.4.2
Bumps [engine.io](https://github.com/socketio/engine.io) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.4.1...6.4.2)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-19 19:46:45 +00:00
Mark H. Wood
055ed9ba6e Fix spec broken by signature change. 2023-05-19 14:00:21 -04:00
Mark H. Wood
d54754f78a Conform to expected ngOnChanges signature; tidy up. 2023-05-19 13:36:04 -04:00
Mark H. Wood
f466d0b67c Merge remote-tracking branch 'upstream/main' into themeable-section-upload-file 2023-05-19 13:31:05 -04:00
Tim Donohue
724f1fe4d3 Merge pull request #2260 from alexandrevryghem/fix-jasmine-matchers-not-properly-indexing
Fix jasmine Matchers functions not properly indexing in IntelliJ
2023-05-19 12:22:56 -05:00
Tim Donohue
8c52f2abed Merge pull request #2235 from alexandrevryghem/themed-thumbnail_component-main
Fixed `ngOnChanges` not working for themed components & decorator components + minor fixes
2023-05-19 11:57:13 -05:00
Giuseppe Digilio
2e6a1c21ea Merge remote-tracking branch '4sciencebitbucket/DURACOM-133' into DURACOM-133 2023-05-19 18:33:20 +02:00
Alisa Ismailati
aee6060fef Revert "[DURACOM-145] Fixed e2e failing tests"
This reverts commit b9c7391b1452e9a79d9c5615595b08cd7ac8b14c.
2023-05-19 18:31:52 +02:00
Alisa Ismailati
8e25a02fde [DURACOM-145] Fixed e2e failing tests 2023-05-19 18:31:52 +02:00
Alisa Ismailati
9ca04b4b63 [DURACOM-145] Handled collection step
on a submission form
2023-05-19 18:31:52 +02:00
Alisa Ismailati
3e202a67f1 [DURACOM-133] Remove isAdmin checks 2023-05-19 18:23:55 +02:00
Giuseppe Digilio
709764c8af [DURACOM-133] Fix import paths 2023-05-19 18:23:55 +02:00
Alisa Ismailati
c0d91da6e2 [DURACOM-133] Fixed failing test 2023-05-19 18:23:55 +02:00
Alisa Ismailati
6c8f816fb2 [DURACOM-133] Do not show edit/delete button
for observer
2023-05-19 18:23:55 +02:00
Alexandre Vryghem
99ea73f9f6 Fix jasmine Matchers functions not properly indexing 2023-05-19 17:49:21 +02:00
Nona Luypaert
bf31c76c88 101623: Add ValueListBrowseDefinition model + super NonHierarchicalBrowse class 2023-05-19 16:56:07 +02:00
Tim Donohue
e04dd9e183 Merge pull request #2256 from 4Science/fix_WorkspaceitemsDeletePageComponent_test
Fix test
2023-05-19 09:17:05 -05:00
Alexandre Vryghem
b878f28db6 Merge remote-tracking branch 'upstream/main' into retrieve-name-with-dsonameservice-main
# Conflicts:
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.ts
2023-05-19 15:00:24 +02:00
Alexandre Vryghem
af7d99a987 Merge branch 'retrieve-name-with-dsonameservice-7.4' into retrieve-name-with-dsonameservice-main 2023-05-19 14:59:40 +02:00
Alexandre Vryghem
11a86c3756 Fixed switch collection in submission form not working anymore 2023-05-19 14:59:23 +02:00
Alexandre Vryghem
8dd0b49e27 Merge branch 'fix-ngonchanges-not-working-for-themed-components_contribute-7.4' into fix-ngonchanges-not-working-for-themed-components_contribute-main 2023-05-19 14:02:29 +02:00
Alexandre Vryghem
0894ba0166 Merge branch 'fix-ngonchanges-not-working-for-themed-components_contribute-7.2' into fix-ngonchanges-not-working-for-themed-components_contribute-7.4
# Conflicts:
#	src/app/thumbnail/thumbnail.component.ts
2023-05-19 14:02:12 +02:00
Alexandre Vryghem
92f58f0e8a 101577: Fixed default thumbnail not working when thumbnail isn't defined 2023-05-19 14:01:35 +02:00
Alexandre Vryghem
053063d0f4 Merge remote-tracking branch 'upstream/main' into fix-ngonchanges-not-working-for-themed-components_contribute-main
# Conflicts:
#	src/app/shared/object-list/metadata-representation-list-element/metadata-representation-list-element.component.ts
#	src/app/shared/object-list/metadata-representation-list-element/plain-text/plain-text-metadata-list-element.component.html
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-search-result-list-element.component.ts
#	src/app/shared/object-list/my-dspace-result-list-element/pool-search-result/pool-search-result-list-element.component.ts
#	src/app/shared/shared.module.ts
#	src/app/shared/theme-support/themed.component.ts
#	src/themes/custom/lazy-theme.module.ts
2023-05-19 13:36:41 +02:00
Alexandre Vryghem
98a5076366 101577: Fixed some SearchResultListElementComponents not rendering because of potential undefined dso 2023-05-19 13:21:38 +02:00
Alexandre Vryghem
190f245635 Merge tag 'dspace-7.4' into fix-ngonchanges-not-working-for-themed-components_contribute-7.4
# Conflicts:
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component.spec.ts
#	src/app/admin/admin-search-page/admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component.spec.ts
#	src/app/shared/mydspace-actions/claimed-task/switcher/claimed-task-actions-loader.component.ts
#	src/app/shared/object-collection/shared/listable-object/listable-object-component-loader.component.ts
#	src/app/shared/object-grid/collection-grid-element/collection-grid-element.component.html
#	src/app/shared/object-grid/community-grid-element/community-grid-element.component.html
#	src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.html
#	src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.html
#	src/app/shared/object-grid/search-result-grid-element/item-search-result/item/item-search-result-grid-element.component.html
#	src/app/shared/theme-support/themed.component.ts
#	src/app/thumbnail/thumbnail.component.spec.ts
#	src/app/thumbnail/thumbnail.component.ts
#	src/themes/custom/lazy-theme.module.ts
2023-05-19 13:17:26 +02:00
Alexandre Vryghem
82a8da6028 101577: Fixed ClaimedTaskActionsLoaderComponent not updating its @rendersWorkflowTaskOption components ngOnChanges 2023-05-19 12:22:55 +02:00
Alexandre Vryghem
2ca91fd331 101577: Fixed MetadataRepresentationLoaderComponent not updating its @metadataRepresentationComponent components ngOnChanges 2023-05-19 12:22:55 +02:00
Alexandre Vryghem
a4a0482d88 101577: Fixed ListableObjectComponentLoaderComponent not updating its @listableObjectComponent components ngOnChanges 2023-05-19 12:22:43 +02:00
Giuseppe Digilio
e8f7a9e3a1 Merge branch 'main' into feature/CST-5729 2023-05-19 11:46:33 +02:00
Sondissimo
06e5c8871b CST-9779 Provided changes to the home component text as required 2023-05-19 11:43:30 +02:00
Giuseppe Digilio
008dee60c1 Fix test 2023-05-18 23:21:45 +02:00
Giuseppe Digilio
0c6994ba14 Merge branch 'main' into fix_WorkspaceitemsDeletePageComponent_test 2023-05-18 23:13:18 +02:00
Tim Donohue
8218ed595a Merge pull request #2257 from tdonohue/fix_community_list_spec
Fix several specs/tests on `main`
2023-05-18 15:38:19 -05:00
Tim Donohue
12a561d0a0 Comment out problematic test in "workspaceitems-delete-page" component 2023-05-18 13:37:45 -05:00
Tim Donohue
ba2444768e Minor fix to spec after Angular 15 update 2023-05-18 13:14:37 -05:00
Giuseppe Digilio
ba8b27e611 Fix test 2023-05-18 19:03:37 +02:00
Giuseppe Digilio
d5dec7582a Merge branch 'main' into DURACOM-133 2023-05-18 18:30:00 +02:00
Giuseppe Digilio
7906770e8e Merge branch 'main' into feature/CST-5729 2023-05-18 18:29:06 +02:00
Adam Doan
30ae91b206 Merge branch 'main' into starts-with-text-missing-label 2023-05-18 10:09:46 -04:00
Tim Donohue
ba4d652806 Merge pull request #2204 from atmire/Angular-15-upgrade
Angular 15 upgrade
2023-05-18 08:48:58 -05:00
Adam Doan
f1378b870b Add label to starts-with-text input field 2023-05-18 13:40:48 +00:00
Alexandre Vryghem
10d5f3d0af 101577: Ensure renderComponentInstance is called in ngOnChanges if the component is not initialised yet 2023-05-18 15:02:14 +02:00
Alexandre Vryghem
0559e1ebc1 101577: Added changes parameter to the ThumbnailComponent's ngOnChanges 2023-05-18 15:02:14 +02:00
Alexandre Vryghem
30cbcbb7c8 101577: Added themeable ThumbnailComponent to custom theme 2023-05-18 15:02:14 +02:00
Alexandre Vryghem
8e4247c2ac 101577: Themed ThumbnailComponent 2023-05-18 15:01:46 +02:00
Alisa Ismailati
be83037739 Merge branch 'main' of https://bitbucket.org/4Science/dspace-angular into DURACOM-133 2023-05-18 11:34:34 +02:00
Alisa Ismailati
69a3a1ec08 [DURACOM-133] Remove isAdmin checks 2023-05-18 11:30:51 +02:00
Tim Donohue
698795299d Merge pull request #2199 from arvoConsultores/DS-8636
#8636  Request a Copy's "helpdesk" strategy requires authentication t…
2023-05-17 16:46:55 -05:00
Tim Donohue
4f4dbffde8 Merge pull request #2227 from 4Science/DURACOM-134
Administer workflow actions
2023-05-17 16:44:18 -05:00
Art Lowel
3d7e61f57f add a custom FindDataImpl for browsedefinitions 2023-05-17 18:31:46 +02:00
Sondissimo
83a4165200 CST-9779 Provided changes to Title, repository name, added introduction text with links, as well added the small icon for coar-notify inside the navbar. 2023-05-17 17:42:31 +02:00
Adam Doan
0272f9a5a8 Merge branch 'DSpace:main' into orcid-settings-button-accessibility 2023-05-17 07:28:28 -04:00
damian
388c08b9a1 Archived items moved outside initial span element(fix for tests). Tests added. 2023-05-17 10:56:08 +02:00
Tim Donohue
e2c51710ea Merge pull request #2198 from uofmsean/fix-2197-authority-key-lookup
Fix #2197 authority key lookup
2023-05-16 16:54:54 -05:00
Adam Doan
bd1881fc9a Add accessible button names for ORCID queue action buttons 2023-05-16 18:54:17 +00:00
damian
da7cb11bcb Archived items moved outside initial span element(fix for tests) 2023-05-15 20:34:46 +02:00
Giuseppe Digilio
43d78c695c [CST-5729] Assign a default value 2023-05-15 17:11:45 +02:00
Giuseppe Digilio
1a95d0c571 Merge branch 'main' into feature/CST-5729 2023-05-15 17:03:29 +02:00
Giuseppe Digilio
10c6b03c40 [CST-5729] Fix lint 2023-05-15 16:58:20 +02:00
Giuseppe Digilio
a1b27a5fb3 [CST-5729] Revert unused changes 2023-05-15 16:34:02 +02:00
Giuseppe Digilio
c0efbbd07b Merge branch 'main' into feature/CST-5729 2023-05-15 16:27:54 +02:00
Giuseppe Digilio
78cf3e1bfc [CST-5729] Finalize signposting implementation 2023-05-15 16:27:38 +02:00
Tim Donohue
b93e0bf003 Merge pull request #2249 from 4Science/DURACOM-99
[DURACOM-99] Tests fixed
2023-05-15 09:22:46 -05:00
damian
536cb62cc0 Displaying item counts at Communities and Collections list view. 2023-05-15 16:09:17 +02:00
Enea Jahollari
b4340e0b91 [CST-9639] Fix lint issues 2023-05-15 15:39:39 +02:00
Enea Jahollari
691c6ff2d8 Merge branch 'main' into feature/CST-9636
# Conflicts:
#	src/app/core/shared/context.model.ts
2023-05-15 14:31:03 +02:00
Enea Jahollari
2fc2897a36 [CST-9639] Show warning only when replace is selected 2023-05-15 13:10:10 +02:00
Enea Jahollari
270e003328 [CST-9639] Disable Execute button if none is enabled and dont send field in payload if not enabled in form 2023-05-15 12:27:44 +02:00
Alexandre Vryghem
4be1b57db3 Merge remote-tracking branch 'upstream/main' into retrieve-name-with-dsonameservice-main
# Conflicts:
#	src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.spec.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component.ts
#	src/app/shared/object-detail/my-dspace-result-detail-element/workspace-item-search-result/workspace-item-search-result-detail-element.component.ts
#	src/app/shared/object-grid/search-result-grid-element/collection-search-result/collection-search-result-grid-element.component.html
#	src/app/shared/object-grid/search-result-grid-element/community-search-result/community-search-result-grid-element.component.html
#	src/app/shared/subscriptions/subscription-modal/subscription-modal.component.html
#	src/app/shared/subscriptions/subscription-view/subscription-view.component.html
2023-05-13 13:42:19 +02:00
Davide Negretti
9f73f4ad2d [DURACOM-99] Tests fixed 2023-05-12 23:41:29 +02:00
Tim Donohue
21b61fc0e2 Merge pull request #1951 from 4Science/DURACOM-99
Italian language
2023-05-12 16:19:36 -05:00
Tim Donohue
d7372bcdf3 Merge pull request #2239 from alexandrevryghem/fix-community-page-sorting_contribute-main
Fixed community's sub-communities and collections sort
2023-05-12 15:01:06 -05:00
Giuseppe Digilio
8c8d3e71a8 Merge branch 'main' into feature/CST-5729 2023-05-12 19:53:24 +02:00
Giuseppe Digilio
93d9b87db1 [CST-5729] Finalize implementation 2023-05-12 19:52:47 +02:00
Davide Negretti
58bc42671c [DURACOM-99] Lint errors fixed 2023-05-12 18:46:03 +02:00
Tim Donohue
f276756c3a Merge pull request #2217 from 4Science/DURACOM-138
Parameter box, shown or not
2023-05-12 11:03:32 -05:00
Alexandre Vryghem
d4efd85cc5 Merge remote-tracking branch 'upstream/main' into issue-1671_fix-relationships-not-updating-view-on-submission-form_contribute-main 2023-05-12 17:52:37 +02:00
Alexandre Vryghem
b318d7281a 101654: Fixed relationship fields not being hidden when they are out of scope 2023-05-12 17:52:03 +02:00
Alexandre Vryghem
a6a10200d2 Merge remote-tracking branch 'templates/dspace-7.4' into issue-1671_fix-relationships-not-updating-view-on-submission-form_contribute-7.4
# Conflicts:
#	src/app/submission/sections/form/section-form.component.spec.ts
#	src/app/submission/sections/form/section-form.component.ts
2023-05-12 17:36:19 +02:00
Giuseppe Digilio
11c844d973 [CST-9636] Format date to be sent to the process 2023-05-12 17:24:10 +02:00
Tim Donohue
39d1fc235e Merge pull request #2068 from atmire/w2p-97184_theme-feedback_contribute-main
Refactor badges
2023-05-12 10:15:52 -05:00
Giuseppe Digilio
6ff80700f3 [CST-9636] Fix multiple uuid argument 2023-05-12 16:56:59 +02:00
Alban Imami
22fbcbebfa [CST-5729] Method to remove Link tags from Head when switched page 2023-05-12 16:01:19 +02:00
Sondissimo
d523e1e94a Merge branch 'main' into DURACOM-138 2023-05-12 15:44:25 +02:00
Sondissimo
0cf46d0ac6 DURACOM-138 the test for the new change, regarding the parameter box appearing or not, has been written, also fixed the errors that the console was outputting 2023-05-12 15:16:44 +02:00
Giuseppe Digilio
ee0b76cb72 [CST-9636] Fix argument to send to the process 2023-05-12 15:07:24 +02:00
Adam Doan
9a8dfc229f Add filter name to search filter button aria-label. 2023-05-12 13:04:43 +00:00
samuel
4abdea5f62 99221: Fix minor issues with Relationships in submission - hide disabled buttons 2023-05-12 14:51:51 +02:00
samuel
dff343f62e 96598: Test feedback pt. 3: submission - repair auto-refresh - repair tests 2023-05-12 14:51:40 +02:00
samuel
14fb379419 96598: Test feedback pt. 3: submission - repair auto-refresh 2023-05-12 14:51:26 +02:00
Alban Imami
6f4b0ad6b1 [CST-5729] fixed the id on the bitstream api request 2023-05-12 12:10:57 +02:00
Davide Negretti
84b63a443f [DURACOM-99] Updated Italian translations (2023-05-12) 2023-05-12 12:05:32 +02:00
LotteHofstede
6c7da1cc5d Merge branch 'main' into w2p-97184_theme-feedback_contribute-main 2023-05-12 10:45:16 +02:00
lotte
b4d2f063c6 97184: styleurl fix for themed badges component 2023-05-12 10:44:55 +02:00
Nona Luypaert
f3d4754d5b 101623: Add BrowseDefinitionModels to CoreModule, Fix FlatBrowseDefinition 2023-05-12 10:06:03 +02:00
Davide Negretti
d332296da8 [DURACOM-99] First italian translations (2022-11-04) 2023-05-12 10:00:56 +02:00
Davide Negretti
134a808fba [DURACOM-99] Italian support added 2023-05-12 10:00:56 +02:00
Giuseppe Digilio
377e27b305 [CST-9636] Fix lint 2023-05-12 09:25:47 +02:00
Nona Luypaert
67976299de 101623: Fixes for rendersBrowseBy, BrowseResponseParsingService, BrowseByRoutingModule 2023-05-12 08:12:04 +02:00
Tim Donohue
959f826d64 Merge pull request #2241 from doana/view-mode-switch-accessibility
View mode switch accessibility
2023-05-11 16:53:45 -05:00
Mark H. Wood
8e5c4a73dc Make some request-copy components themeable. 2023-05-11 13:55:53 -04:00
Alban Imami
bb50e2bbdc Merge branch 'feature/CST-5729' of https://bitbucket.org/4Science/dspace-angular into feature/CST-5729 2023-05-11 18:52:32 +02:00
Alban Imami
558f8f51fb [CST-5729] Implemented functionality to add Links in Response Headers on Item Page 2023-05-11 18:47:01 +02:00
Tim Donohue
84d8a61f83 Merge pull request #2229 from mwoodiupui/license-linebreaks
Enable line breaks in deposit license during submission.
2023-05-11 10:12:34 -05:00
Giuseppe Digilio
6808eec3a4 Merge branch 'main' into feature/CST-9636
# Conflicts:
#	src/app/item-page/edit-item-page/edit-item-page.module.ts
#	src/app/item-page/edit-item-page/edit-item-page.routing.module.ts
2023-05-11 15:30:31 +02:00
Giuseppe Digilio
fe8bbddac2 [CST-5729] Fix proxying for signposting 2023-05-11 15:05:35 +02:00
Enea Jahollari
a6897e9a6d [CST-9639] Validation, translations and style fixes 2023-05-11 15:01:12 +02:00
Adam Doan
bd9f70acc8 Update tests 2023-05-11 12:57:44 +00:00
Kristof De Langhe
ff1175cd6f Merge branch 'w2p-100414_Missing-search-result-statistics-7.4' into w2p-100414_Missing-search-result-statistics-PR 2023-05-11 14:10:29 +02:00
Kristof De Langhe
c306dfd309 100414: remove fdescribe 2023-05-11 14:10:20 +02:00
Kristof De Langhe
e6bc199932 Merge branch 'w2p-100414_Missing-search-result-statistics-7.4' into w2p-100414_Missing-search-result-statistics-PR 2023-05-11 14:09:29 +02:00
Kristof De Langhe
f5b7bea3ec 100414: Lint fixes 2023-05-11 14:08:05 +02:00
Kristof De Langhe
6675b61f81 100414: test cases 2023-05-11 13:57:52 +02:00
Kristof De Langhe
cc34e27c20 100414: test cases 2023-05-11 13:56:54 +02:00
Adam Doan
9ddd75dbdf Use more semantically appropriate elements and explicit names 2023-05-11 11:50:28 +00:00
Alban Imami
e8ff0fbf36 [CST-5729] implemented functionality to add link tags in head html section when on item page 2023-05-11 12:53:18 +02:00
Kristof De Langhe
b382a88c2f Merge branch 'w2p-100414_Missing-search-result-statistics-7.4' into w2p-100414_Missing-search-result-statistics-PR 2023-05-11 12:29:28 +02:00
Kristof De Langhe
540ce4d7c4 100414: Rename object to clickedObject 2023-05-11 12:29:07 +02:00
Kristof De Langhe
b1c7728a96 Merge branch 'w2p-100414_Missing-search-result-statistics-7.4' into w2p-100414_Missing-search-result-statistics-PR 2023-05-11 11:36:24 +02:00
Kristof De Langhe
0f0847c069 100414: Refactor SearchTrackerComponent to SearchComponent 2023-05-11 11:32:49 +02:00
Kristof De Langhe
fbacebb439 Merge branch 'w2p-100414_Missing-search-result-statistics-7.2' into w2p-100414_Missing-search-result-statistics-7.4 2023-05-11 11:26:49 +02:00
Kristof De Langhe
cf12fb22ee Merge branch 'w2p-100414_Missing-search-result-statistics-7.0' into w2p-100414_Missing-search-result-statistics-7.2 2023-05-11 11:25:04 +02:00
Kristof De Langhe
3221621e6c 100414: Missing search result statistics - renaming object to clickedObject 2023-05-11 11:17:19 +02:00
Giuseppe Digilio
f3aa2d47a6 [CST-9636] finalize implementation 2023-05-11 11:10:00 +02:00
Alexandre Vryghem
4449960c0d Merge remote-tracking branch 'upstream/main' into fix-community-page-sorting_contribute-main 2023-05-10 23:39:36 +02:00
Tim Donohue
c914b42de2 Merge pull request #2196 from atmire/w2p-101198_in-place-links_contribute-main
Replace in-place links with buttons
2023-05-10 13:42:46 -05:00
Giuseppe Digilio
64c0fff370 [CST-9636] WIP Create unit tests 2023-05-10 20:18:20 +02:00
Giuseppe Digilio
e31fc562c5 [CST-9636] WIP Create the access-control.module 2023-05-10 18:25:41 +02:00
Enea Jahollari
7b5b795954 [CST-9636] Added state transformer to file model, added tests for bulk access control service 2023-05-10 17:12:53 +02:00
Enea Jahollari
628732b932 [CST-9636] Show warning only when there are no controls and form is not disabled 2023-05-10 16:45:17 +02:00
Enea Jahollari
9da66a5cfd Merge remote-tracking branch 'origin/feature/CST-9636' into feature/CST-9636 2023-05-10 16:28:00 +02:00
Enea Jahollari
5f74446bf5 [CST-9636] Added jsdoc comments 2023-05-10 16:27:53 +02:00
Giuseppe Digilio
b279b97c37 [CST-9636] WIP Fix bulk-access-config-data.service 2023-05-10 16:23:27 +02:00
Enea Jahollari
4bf10c880a [CST-9636] Refactor access control array form to accept dropdown options 2023-05-10 16:02:01 +02:00
Giuseppe Digilio
5455c79563 [CST-9636] WIP add bulk-access-config-data.service 2023-05-10 15:53:00 +02:00
Giuseppe Digilio
079c79bb42 Merge branch 'feature/CST-9636' of bitbucket.org:4Science/dspace-angular into feature/CST-9636 2023-05-10 15:13:07 +02:00
Giuseppe Digilio
35d4561d53 [CST-9636] WIP improve bulk access page 2023-05-10 15:12:55 +02:00
Enea Jahollari
723e1e1278 [CST-9636] Make access control form container reusable 2023-05-10 15:11:44 +02:00
Enea Jahollari
52d72766ca [CST-9636] Reactor to use one component for all the access-control pages 2023-05-10 14:34:29 +02:00
Nona Luypaert
195ab41aac 101623: Themed BrowseByTaxonomyPageComponent 2023-05-10 13:39:57 +02:00
Nona Luypaert
8c6e3b0c1f 101623: Add new BrowseResponseParsingService and BrowseDefinitionRestRequest 2023-05-10 13:28:49 +02:00
Giuseppe Digilio
3924a82048 [CST-9636] Provide possibility to paginate a full list of elements 2023-05-10 13:08:08 +02:00
Nona Luypaert
c2f2cb5b3a 101623: Add HierarchicalBrowseDefinition model + base BrowseDefinition class 2023-05-10 11:32:18 +02:00
Giuseppe Digilio
581ed432f9 [CST-9636] Use show thumbnail flag for community and collection list elements 2023-05-10 11:09:41 +02:00
Nona Luypaert
c10e660e0b 101623: Refactor BrowseDefinition model/resource-type to FlatBrowseDefinition 2023-05-10 10:11:06 +02:00
Tim Donohue
d67cfaa278 Merge pull request #2236 from tdonohue/enable_vietnamese
Enable Vietnamese language pack
2023-05-09 17:08:10 -05:00
Tim Donohue
fbfe55db35 Enable Vietnamese language pack 2023-05-09 16:37:33 -05:00
Tim Donohue
6d531db20c Merge pull request #2210 from Zerosoul1990/Zerosoul1990/issue2172
Vietnamese translation!
2023-05-09 16:36:09 -05:00
Tim Donohue
7e3613fa9d Merge pull request #2220 from alexandrevryghem/fix-mobile-navbar-and-header-icon-css-variables
Fixed mobile navbar not expanding & use same css variable for all header icons
2023-05-09 14:37:48 -05:00
Giuseppe Digilio
06fef61f02 [CST-9636] Create page for bulk access 2023-05-09 18:39:04 +02:00
Giuseppe Digilio
cd1808d981 Merge branch 'feature/CST-9636' of bitbucket.org:4Science/dspace-angular into feature/CST-9636 2023-05-09 18:25:18 +02:00
Giuseppe Digilio
40cb6a18be [CST-9636] Add flag to show or not thumbnail along list element by component's input firstly 2023-05-09 18:25:05 +02:00
Alisa Ismailati
681ee6f816 [DURACOM-145] Handled collection step
on a submission form
2023-05-09 17:27:06 +02:00
Enea Jahollari
a088641e5c [CST-9636] Added select bitstreams modal and made it work 2023-05-09 16:41:40 +02:00
lotte
ed24204f89 101198: Made aria label i18n 2023-05-09 14:03:34 +02:00
Enea Jahollari
301863fb80 [CST-9636] Added translations and validations to item, community and collection access control 2023-05-09 12:42:08 +02:00
Kristof De Langhe
e9da5f0616 Merge remote-tracking branch 'atmire/Angular-15-upgrade' into w2p-101108_Angular-15-upgrade 2023-05-09 11:37:53 +02:00
Kristof De Langhe
2d326d1f46 101108: Fix SSR animation console error 2023-05-09 11:34:57 +02:00
Michael Spalti
508fa76e45 Updated comment. 2023-05-08 12:20:55 -07:00
Michael Spalti
77c19d9fb1 Updated mirador webpack configuration. 2023-05-08 11:54:40 -07:00
Tim Donohue
c233927c29 Merge pull request #2211 from enea4science/feature/8384-edit-item-curate
Fixes #8384: Added Curate tab in Edit Item page
2023-05-08 11:20:38 -05:00
Enea Jahollari
57eb6da97a fixup! Fix change detection issue 2023-05-08 14:57:20 +02:00
Gantner, Florian Klaus
9ab022c225 remove buggy translation object
fixes https://github.com/DSpace/dspace-angular/issues/2219 by removing the json object for key form.other-information which avoids to load subordinated translation keys
2023-05-08 09:17:13 +02:00
Alexandre Vryghem
74cd70d860 Fixed communities collection and sub-community sorting not working after page refresh 2023-05-07 23:36:14 +02:00
Alexandre Vryghem
548a5ccb79 Merge branch 'fix-metadata-fields-containing-dots_contribute-7.4' into fix-metadata-fields-containing-dots_contribute-main
# Conflicts:
#	src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.html
#	src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts
2023-05-06 12:54:25 +02:00
Alexandre Vryghem
091d0fccf7 100553: Explicitly request EditInPlaceFieldComponent's metadata field suggestions with the sort by fieldName,ASC 2023-05-06 03:55:08 +02:00
LotteHofstede
2e3dc97e51 Merge branch 'main' into w2p-101198_in-place-links_contribute-main 2023-05-05 10:04:26 +02:00
lotte
325d7cc9e8 Added aria label to navbar search button 2023-05-05 09:53:29 +02:00
Art Lowel
f44bdc9c77 fix an issue where the current page would be used instead of a third party referrer 2023-05-04 17:41:47 +02:00
LotteHofstede
8c08e5384a Merge branch 'main' into w2p-97184_theme-feedback_contribute-main 2023-05-04 15:50:43 +02:00
lotte
f4cedeb576 Renamed context in remaining places 2023-05-04 15:18:00 +02:00
lotte
f944fbba37 Applied feedback for context name and missing context 2023-05-04 14:38:10 +02:00
lotte
f159590187 Added line breaks for clarity 2023-05-04 14:23:23 +02:00
lotte
130b0fad76 Added doc for some of the contexts 2023-05-04 14:20:53 +02:00
lotte
9439a51c5d 101198: Fixed issue with header search bar 2023-05-04 11:29:52 +02:00
Mark H. Wood
c21ab0a86f Enable line breaks in deposit license during submission. 2023-05-03 17:13:06 -04:00
Enea Jahollari
efedd10d9c [DURACOM-131] Add check to run the refresh only on browser 2023-05-03 17:25:25 +02:00
Enea Jahollari
c066bc9d54 [DURACOM-131] Added automatic refresh every 5 seconds if the status is running 2023-05-03 17:22:20 +02:00
Enea Jahollari
89eb4e3cb2 [DURACOM-131] Show output files in separate lines 2023-05-03 15:29:12 +02:00
Alisa Ismailati
13662e336d Merge branch 'DURACOM-134' of https://bitbucket.org/4Science/dspace-angular into DURACOM-134 2023-05-03 11:11:15 +02:00
Alisa Ismailati
7b19ba7be2 [DURACOM-134] Fixes 2023-05-03 11:11:10 +02:00
Alisa Ismailati
78a81cbb4b Merge branch 'DURACOM-133' of https://bitbucket.org/4Science/dspace-angular into DURACOM-133 2023-05-03 10:26:52 +02:00
Alisa Ismailati
06f3b68048 [DURACOM-133] Fixed failing test 2023-05-03 10:26:48 +02:00
Enea Jahollari
3a45ecf578 [CST-9636] Added bulk access condition options service 2023-05-03 09:31:01 +02:00
Art Lowel
f19daf54cb Merge branch 'add-referrer-to-pageview-event-7.2' into add-referrer-to-pageview-event-7.4 2023-05-02 18:31:06 +02:00
Art Lowel
bd4dbcf9ad Merge branch 'add-referrer-to-pageview-event-7.0' into add-referrer-to-pageview-event-7.2 2023-05-02 18:16:32 +02:00
Art Lowel
5aaa4ef371 ensure the rel="noopener" attribute is only set when target="_blank" and remove "noreferrer" in all cases 2023-05-02 18:11:57 +02:00
Art Lowel
27d3c58d00 add referrer to pageview events 2023-05-02 17:09:55 +02:00
Giuseppe Digilio
983769cf59 [DURACOM-133] Fix import paths 2023-05-02 15:52:24 +02:00
Giuseppe Digilio
6b9f6bf767 [DURACOM-134] Fix import paths 2023-05-02 15:49:41 +02:00
Sondissimo
dc3120234d Merge branch 'main' into DURACOM-138 2023-05-02 11:27:37 +02:00
jeffmorin
0e2b767c6c Merge branch 'DSpace:main' into main 2023-05-01 08:49:46 -04:00
Alexandre Vryghem
c042a5cf1a Fixed mobile nav not opening/displaying correctly 2023-05-01 14:41:19 +02:00
Alexandre Vryghem
ef9c42804c Fixed --ds-header-icon-color & --ds-header-icon-color-hover not being applied to all header icons 2023-05-01 14:41:19 +02:00
Alisa Ismailati
2895cfe083 [DURACOM-134] Administer workflow actions fixed 2023-04-28 18:03:52 +02:00
Yury Bondarenko
d98e44185c Update JavaScript target version 2023-04-28 18:02:18 +02:00
Yury Bondarenko
a94f729faa Lock webpack version to 5.76.1
This is a strict requirement of `@angular-devkit/build-angular` 15.2.5

Specifying the version as `@^5.0.0` causes multiple versions to be installed side by side, which leads to build issues.
Adding this "exact version dependency" gets rid of the warning but does not change yarn.lock (because that same version was already being resolved)
2023-04-28 18:01:42 +02:00
Tim Donohue
5e27741483 Merge pull request #2183 from atmire/w2p-100302_Live-import-issues-7.5
Fix Live Import issues
2023-04-28 09:59:39 -05:00
Enea Jahollari
3647292b8f [CST-9636] Added unit tests and the logic to create file object from payload 2023-04-28 16:47:07 +02:00
Sondissimo
3d9100f2d1 DURACOM-138 Added a single line in the process-parameters.component.html, we now check if the parameters selector for the process contains at least 1 value, if not, the selector box is not shown. 2023-04-28 16:40:15 +02:00
Yana De Pauw
2a90214778 Add typedocs 2023-04-28 14:19:44 +02:00
Alban Imami
90a1f25ba9 Work for signposting 2023-04-27 16:51:41 +02:00
Alisa Ismailati
8ec5d11fcc [DURACOM-133] Do not show edit/delete button
for observer
2023-04-27 15:58:37 +02:00
Nona Luypaert
0a2cc98524 Merge branch 'w2p-101127_browse-by-controlled-vocabulary' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Conflicts:
	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.spec.ts
2023-04-27 14:43:43 +02:00
Nona Luypaert
2a84c42531 101393: Fix VocabularyTreeview tests + Remove template comments 2023-04-27 14:37:13 +02:00
Art Lowel
a5c300aebd refactor mulitselect mode to use labels instead of buttons 2023-04-27 14:10:43 +02:00
Nona Luypaert
835eb73e0e Merge remote-tracking branch 'upstream/main' into w2p-101127_browse-by-controlled-vocabulary-7.6.0-next
Conflicts:
	src/app/browse-by/browse-by-routing.module.ts
	src/app/browse-by/browse-by.module.ts
2023-04-27 12:03:01 +02:00
Nona Luypaert
da7c980ab1 101393: Add 'Browse by Subject Category' link to 'All of DSpace' 2023-04-27 11:04:41 +02:00
Nona Luypaert
09f3dddde4 101393: Fix breadcrumbs on BrowseByTaxonomyPage 2023-04-27 10:52:51 +02:00
Enea Jahollari
b1d33c83a6 fixup! Added Curate tab in Edit Item page 2023-04-27 09:41:40 +02:00
Yury Bondarenko
fe1be27d49 Bump Node heap size in CI 2023-04-26 18:46:01 +02:00
Nona Luypaert
ea297d1296 101353: Add tests for BrowseByTaxonomyPageComponent 2023-04-26 18:40:38 +02:00
Nona Luypaert
bb242d99a6 101353: Fix VocabularyTreeview onSelect being called twice 2023-04-26 18:37:55 +02:00
Nona Luypaert
14b053b704 101353: Add deselect Output in VocabularyTreeview 2023-04-26 17:46:10 +02:00
Nona Luypaert
03bf4befab 101353: Fix issues in BrowseByTaxonomyPage and VocabularyTreeview 2023-04-26 16:50:48 +02:00
Alisa Ismailati
c89adf4f81 [DURACOM-134] send-back action fixed 2023-04-26 15:33:02 +02:00
lotte
3ee09834b1 101289: #1578 Changed primarybitstream field to primaryBitstreamUUID 2023-04-26 13:47:39 +02:00
Enea Jahollari
496853671e [CST-9636] Added access control components in community, item and collection edit page 2023-04-26 12:35:50 +02:00
Nona Luypaert
a80cae8fb5 101353: Add browse link + queryparams in BrowseByTaxonomyPage 2023-04-26 12:14:09 +02:00
tuanvu
b83c218bf1 Update 2023-04-26 16:35:44 +07:00
lotte
94f52721d4 101289: #1578 Removed border from primaryBitstream switch 2023-04-26 11:29:17 +02:00
tuanvu
0dbbe6cb79 Update error 2023-04-26 16:29:12 +07:00
tuanvu
53b883cb42 Internalization (i18n): Vietnamese translation!
Fixes #2172
2023-04-26 16:21:58 +07:00
Enea Jahollari
2e6b1cc4ef Added Curate tab in Edit Item page 2023-04-26 11:21:05 +02:00
tuanvu
702f9cd4db Update Lang file 2023-04-26 16:06:02 +07:00
Nona Luypaert
6e7a8a992c 101127: Add VocabularyTreeview to BrowseByTaxonomyPage 2023-04-26 10:57:33 +02:00
tuanvu
618f03c8ca Update Locale 2023-04-26 15:55:52 +07:00
lotte
222c220c56 101289: #1578 fixed redirection bug 2023-04-26 10:54:36 +02:00
tuanvu
08b271095f Internalization (i18n): Vietnamese translation! 2023-04-26 14:46:32 +07:00
Nona Luypaert
99dd9d2de9 101127: Take activeModal out of VocabularyTreeviewComponent 2023-04-25 17:55:20 +02:00
lotte
7008afd05f 1578: primaryBitstream implementation 2023-04-25 16:12:00 +02:00
Kristof De Langhe
18e7de81d9 101108: Removal of webpack devDependency to solve conflict with @angular-devkit/build-angular 2023-04-25 15:51:41 +02:00
Kristof De Langhe
6152b30425 Merge branch 'main' into w2p-101108_Angular-15-upgrade 2023-04-25 15:33:56 +02:00
enea4science
b6dc8a8579 Merge branch '4Science:main' into main 2023-04-25 14:51:35 +02:00
Kristof De Langhe
051b17e0e4 101108: Automatic npx npm-check-updates --interactive 2023-04-25 14:38:49 +02:00
Kristof De Langhe
36f6110e58 101108: Automatic ng update @nicky-lenaers/ngx-scroll-to 2023-04-25 11:35:41 +02:00
Kristof De Langhe
e037d87084 101108: Automatic ng update ngx-infinite-scroll 2023-04-25 11:24:11 +02:00
Kristof De Langhe
41a265f755 101108: Automatic ng update @angular/cdk@15 2023-04-25 10:38:18 +02:00
Kristof De Langhe
0ceeeaf33f 101108: Automatic ng update @angular/cdk@14 2023-04-25 10:35:40 +02:00
Kristof De Langhe
d6da065068 101108: Automatic ng update ngx-pagination 2023-04-24 11:54:35 +02:00
Kristof De Langhe
ee4da3f541 101108: Automatic ng update @ngx-translate/core 2023-04-24 10:34:49 +02:00
Kristof De Langhe
1ba642719d 101108: Automatic ng update ng-mocks 2023-04-24 10:31:37 +02:00
Mark H. Wood
6adc9a1742 Make theme-able. 2023-04-21 09:55:18 -04:00
Mark H. Wood
4f83eaa53d Tidy up interface declarations. 2023-04-21 09:47:18 -04:00
Nona Luypaert
7f7ed17d6e 101127: Add multiSelect tests in VocabularyTreeviewComponent 2023-04-21 09:11:28 +02:00
Alexandre Vryghem
e0fb0e14a3 Show N/A when submitter has been removed 2023-04-20 17:47:23 +02:00
Jean-François Morin
1cdbfc5bd0 Resolved conflicts 2023-04-20 11:37:51 -04:00
Adán Román Ruiz
b1605e095a Merge branch 'main' into DS-8636 2023-04-20 13:30:41 +02:00
aroman-arvo
9de002120d #8636 Request a Copy's "helpdesk" strategy requires authentication to respond 2023-04-20 11:12:37 +02:00
LotteHofstede
cc86ac5086 Merge branch 'main' into w2p-97184_theme-feedback_contribute-main 2023-04-20 10:47:04 +02:00
Kristof De Langhe
41e4e87061 100414: Add entities to allowed object route 2023-04-20 10:13:55 +02:00
lotte
1b9a85bde7 Merge branch 'main' into w2p-101198_in-place-links_contribute-main 2023-04-20 09:36:45 +02:00
uofmsean
b5f85c207c Merge branch 'main' into fix-2197-authority-key-lookup 2023-04-19 17:25:54 -05:00
Sean Kalynuk
73b2c0b29f Fix #2197 authority key lookup
Avoid an authority key lookup when it starts with "will be generated::"
2023-04-19 16:44:04 -05:00
Alexandre Vryghem
e0c3a22466 Merge remote-tracking branch 'origin/main' into retrieve-name-with-dsonameservice-main
# Conflicts:
#	src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
2023-04-19 23:35:35 +02:00
Tim Donohue
4847fc6f7a Merge pull request #2156 from alexandrevryghem/fix-enabling-video-mediaviewer-without-image-mediaviewer-main
Made it possible to enable video viewer without also enabling image viewer
2023-04-19 16:21:02 -05:00
Tim Donohue
cefe1bfda3 Merge pull request #2187 from mspalti/shibboleth-refresh
Shibboleth page update after authentication
2023-04-19 16:08:31 -05:00
Tim Donohue
d9f6386b11 Merge pull request #2164 from alexandrevryghem/fixed-default-input-values-not-working_contribute-main
Fixed some themeable component default values not being overridable
2023-04-19 16:06:59 -05:00
Michael W Spalti
b1f3b785e1 Added typedoc and minor test update 2023-04-19 11:39:59 -07:00
Michael Spalti
e336660cdd lint fix 2023-04-19 11:39:59 -07:00
Michael Spalti
d8ee1f55f1 closing auth check subscription 2023-04-19 11:39:59 -07:00
Michael Spalti
0bf095a1d9 removed unused import 2023-04-19 11:39:59 -07:00
Michael Spalti
4c2a7a10c7 updated auth-cookie check 2023-04-19 11:39:59 -07:00
Michael Spalti
290a89909e Added check for external auth and page refresh 2023-04-19 11:39:59 -07:00
Tim Donohue
ade9533f4c Merge pull request #2194 from tdonohue/fix_item_request
Add missing export for ItemRequest module
2023-04-19 11:55:15 -05:00
lotte
559691be0e Merge branch 'main' into w2p-101198_in-place-links_contribute-main 2023-04-19 15:51:32 +02:00
lotte
43d5bf372b 101198: in place links replaced with buttons 2023-04-19 15:50:00 +02:00
Tim Donohue
3e02f22f47 Add missing export for ItemRequest module 2023-04-18 11:20:20 -05:00
Alexandre Vryghem
fc7997d8b8 100479: Removed the default input values to make it possible to override them in themes 2023-04-17 23:50:15 +02:00
Tim Donohue
8c8fad75fa Merge pull request #2193 from tdonohue/update_actions
Split Codecov GitHub action to separate job & add retries. Update other actions.
2023-04-17 16:49:15 -05:00
Tim Donohue
8ce1552bb1 Merge pull request #2186 from vlguerrero/spanish-translation-contribution
Update es.json5
2023-04-17 16:24:12 -05:00
Alexandre Vryghem
7b27251cf2 Merge remote-tracking branch 'upstream/main' into fixed-default-input-values-not-working_contribute-main
# Conflicts:
#	src/app/shared/search/themed-search.component.ts
2023-04-17 23:14:57 +02:00
Tim Donohue
88ba37e527 Fix warnings in action summary. Use new Yarn cache syntax. Update Cypress and remove unnecessary headless flag. 2023-04-17 16:02:02 -05:00
Alexandre Vryghem
80b90524b6 100479: Removed the default input values to make it possible to override them in themes 2023-04-17 22:49:22 +02:00
Alexandre Vryghem
38df774c9c Merge remote-tracking branch 'templates/dspace-7.4' into fixed-default-input-values-not-working_contribute-7.4 2023-04-17 22:48:54 +02:00
Tim Donohue
fef1ba9663 Update to latest version of actions 2023-04-17 15:07:09 -05:00
Tim Donohue
187cdd7ae2 Split Codecov upload into a separate job. Make it auto-retry up to five times 2023-04-17 15:06:51 -05:00
Nona Luypaert
f0d0cb5930 101127: Fix all tests related to VocabularyTreeview 2023-04-17 16:27:58 +02:00
Nona Luypaert
7a876c0276 101127: Refactor VocabularyTreeView to add multiSelect & checkboxes 2023-04-17 15:35:27 +02:00
Nona Luypaert
3da2b3c0ef 101127: Put modal from VocabularyTreeview in VocabularyTreeviewModal 2023-04-17 10:13:14 +02:00
Alexandre Vryghem
1752b1afd4 100479: Removed the default input values to make it possible to override them in themes 2023-04-17 00:15:24 +02:00
Alexandre Vryghem
d6147e5236 Fixed default @Input() values not working for themed components 2023-04-17 00:08:48 +02:00
Tim Donohue
3fcb1138e2 Merge pull request #2146 from amgciadev/fix-1702-b
Fix #1702 - Move item collection with inheritPolicies support
2023-04-14 14:50:29 -05:00
Nona Luypaert
f4efe00671 101127: Create BrowseByTaxonomyPageComponent 2023-04-14 19:41:41 +02:00
Tim Donohue
548ccf8b90 Merge pull request #2162 from TexasDigitalLibrary/DS-8668
DS-8668: adds check for HTTP 413 status code when importing an SAF file
2023-04-14 11:43:20 -05:00
Tim Donohue
e986f10e21 Merge pull request #2144 from atmire/fix-dso-edit-menu-dropdowns
Fix DSO edit menu dropdowns
2023-04-13 16:47:33 -05:00
Tim Donohue
a8515faa90 Merge pull request #2190 from tdonohue/solr_dir_fix
Fix Docker solr configset directories
2023-04-13 15:02:05 -05:00
Tim Donohue
f73fbc270f Fix solr configset directories 2023-04-13 14:16:33 -05:00
lotte
8136826c6d Added missing typedoc 2023-04-13 16:12:49 +02:00
lotte
17782b80cd Merge branch 'main' into w2p-97184_theme-feedback_contribute-main 2023-04-13 13:11:58 +02:00
Tim Donohue
d972036736 Merge pull request #2184 from TexasDigitalLibrary/DS-2077
DS-2077: removes external Google font
2023-04-12 16:57:49 -05:00
Tim Donohue
d8f367ce9c Merge pull request #2189 from tdonohue/docker_cleanup
Minor docker / compose updates based on recent changes to backend
2023-04-12 16:50:07 -05:00
Tim Donohue
b7bd6ef709 Merge pull request #2110 from atmire/add-json5-eslint-support
Added i18n ESLint support
2023-04-12 15:07:59 -05:00
Tim Donohue
113703ff6b Ensure default Dockerfile starts in dev mode & has appropriate memory allocated. Enhance comments in -dist.yml 2023-04-12 11:42:37 -05:00
Kristof De Langhe
4ed6ccebff 101108: Angular 15 upgrade - test build & run fixes 2023-04-12 17:47:40 +02:00
Kristof De Langhe
84f1fcbb35 101108: Angular 15 upgrade - resolve fix 2023-04-12 17:29:54 +02:00
Tim Donohue
72fad0a6c9 Update/Enhance Docker README with latest info 2023-04-12 09:53:45 -05:00
Tim Donohue
0f22978b2e Sync changes from Dspace/DSpace#8679 to dspace-angular docker scripts 2023-04-12 09:52:48 -05:00
Kristof De Langhe
5761698a0d 101108: Automatic ng update @angular-devkit/build-angular@15 2023-04-12 12:25:10 +02:00
Kristof De Langhe
585ef37243 101108: install fixes 2023-04-12 12:17:15 +02:00
Kristof De Langhe
6d855caa33 101108: Automatic ng update @ngrx/router-store@15 2023-04-12 12:07:38 +02:00
Kristof De Langhe
83acd1f4b4 101108: Automatic ng update @nguniversal/express-engine@15 2023-04-12 12:04:32 +02:00
Kristof De Langhe
29fe2ef954 101108: Automatic ng update @nguniversal/express-engine@14 2023-04-12 12:02:31 +02:00
Kristof De Langhe
d705de1b4f 101108: Automatic ng update ngx-ui-switch@14 2023-04-12 11:58:10 +02:00
Kristof De Langhe
6deba31828 101108: Automatic ng update @ngtools/webpack@15 2023-04-12 11:42:16 +02:00
Kristof De Langhe
8c3ec98db3 101108: Automatic ng update @angular-eslint/schematics@15 2023-04-12 11:40:05 +02:00
Kristof De Langhe
0327f1d856 101108: Automatic ng update @nguniversal/builders@15 2023-04-12 11:37:25 +02:00
Kristof De Langhe
2eb91add4d 101108: Automatic ng update @angular/core@15 @angular/cli@15 2023-04-12 11:34:26 +02:00
jeffmorin
75ca560587 Merge branch 'DSpace:main' into main 2023-04-11 23:33:41 -04:00
Kristof De Langhe
643e75a838 101108: Angular 14 upgrade - build fixes #1 2023-04-11 17:50:50 +02:00
Kristof De Langhe
59681ea54d 101108: Automatic ng update @angular-devkit/build-angular@14 2023-04-11 17:05:23 +02:00
Kristof De Langhe
4c10721e3a 101108: Automatic ng update @angular/cli@14 2023-04-11 16:43:04 +02:00
Kristof De Langhe
5fb237d905 101108: Automatic ng update @nguniversal/builders@14 2023-04-11 16:28:29 +02:00
Kristof De Langhe
859ffb5cdc 101108: Automatic ng update @angular-devkit/build-angular@14 2023-04-11 16:23:18 +02:00
Kristof De Langhe
d21ce38011 101108: Automatic ng update @angular/core@14 2023-04-11 16:18:20 +02:00
Tim Donohue
4e7cad9e17 Merge pull request #2137 from mark-cooper/dspace-angular-dist
Build & publish dspace/dspace-angular imgs with -dist suffix
2023-04-07 12:02:30 -05:00
Mark Cooper
7410141d3f Build & publish dspace/dspace-angular imgs with -dist suffix 2023-04-06 16:46:08 -07:00
Leonardo Guerrero
05d73abbe2 Update es.json5 2023-04-05 11:35:23 -05:00
Kristof De Langhe
b829335ba5 100414: Missing search_result statistics fix 2023-04-05 17:49:29 +02:00
jeffmorin
5a01670260 Merge branch 'DSpace:main' into main 2023-04-05 10:33:19 -04:00
Tim Donohue
1ba3a0572b Merge pull request #2185 from tdonohue/minor_cypress_updates
Minor cypress updates & stabilize e2e tests
2023-04-05 08:37:57 -05:00
Alexandre Vryghem
93ac1957c5 Merge branch 'fix-enabling-video-mediaviewer-without-image-mediaviewer-7.2' into fix-enabling-video-mediaviewer-without-image-mediaviewer-main
# Conflicts:
#	src/app/item-page/media-viewer/media-viewer.component.html
2023-04-04 22:11:26 +02:00
Alexandre Vryghem
4469918640 Show ThumbnailComponent as fallback instead of a MediaViewerImageComponent placeholder when only one of the mediaviewers options is enabled 2023-04-04 22:05:09 +02:00
Tim Donohue
ff5ccf30ee Minor update to latest Cypress 2023-04-04 14:08:34 -05:00
Tim Donohue
fb45f5f807 Remove flakey check for success alert box. Unnecessary for this test, and sometimes randomly fails (if alert box closes before it can be clicked closed) 2023-04-04 14:07:22 -05:00
Tim Donohue
a1f4d7d7b6 Merge pull request #2176 from pilasou/pilasou-translations-fr
Small updates to french translations
2023-04-04 12:07:33 -05:00
nwoodward
dc6fa35483 remove unused import 2023-04-04 12:04:32 -05:00
nwoodward
a3034dd5f8 remove external Google font 2023-04-04 12:02:20 -05:00
Yana De Pauw
59b417d3f4 Merge remote-tracking branch 'upstream/main' into w2p-100302_Live-import-issues-7.5 2023-04-04 11:09:01 +02:00
Alexandre Vryghem
afbd16d38d Merge remote-tracking branch 'upstream/main' into add-json5-eslint-support
# Conflicts:
#	src/assets/i18n/fi.json5
#	src/assets/i18n/fr.json5
2023-04-04 00:08:48 +02:00
Tim Donohue
afc147507c Merge pull request #2133 from alexandrevryghem/fix-missing-hints-and-required-attributes-main
Fix missing hints and error messages for input-type `list` & `tag`
2023-04-03 16:31:36 -05:00
Yana De Pauw
4ab9f7086b Merge branch 'w2p-100302_Live-import-issues' into w2p-100302_Live-import-issues-7.5 2023-04-03 17:55:37 +02:00
Yana De Pauw
3590582832 100302: Change error check to hasFailed 2023-04-03 17:48:30 +02:00
Alexandre Vryghem
751ce12f97 Merge branch 'fix-metadata-fields-containing-dots_contribute-7.4' into fix-metadata-fields-containing-dots_contribute-main 2023-04-03 14:46:23 +02:00
Alexandre Vryghem
24e6cdd3ec 100553: Removed possibility to updated schema name, element and qualifier 2023-04-03 14:33:52 +02:00
Alexandre Vryghem
f301be3eb2 Merge remote-tracking branch 'upstream/main' into retrieve-name-with-dsonameservice-main
# Conflicts:
#	src/app/browse-by/browse-by-date-page/browse-by-date-page.component.ts
2023-04-01 21:08:27 +02:00
Tim Donohue
6892489156 Merge pull request #2143 from CrisGuzmanS/issues/2140
disabled the posibility to change the collection for workflow items to prevent errors
2023-03-30 16:50:07 -05:00
Tim Donohue
8740eaf218 Merge pull request #2171 from mspalti/browse-start-year
Added upper limit to browse by date (year)
2023-03-30 15:12:24 -05:00
Michael Spalti
521b7d4db8 updated value param check 2023-03-30 11:09:02 -07:00
Michael Spalti
24cc3fb76e reverted browse-by-metadata change 2023-03-30 11:09:02 -07:00
Michael Spalti
5b33c49ccc Added upper limit to browse by date 2023-03-30 11:09:02 -07:00
Cristian Emanuelle Guzmán Suárez
bb8775a8f0 Update workflowitems-edit-page-routing.module.ts
avoiding trailing-space
2023-03-30 12:02:42 -06:00
Cristian Emanuelle Guzmán Suárez
0ffdda26dc Update workflowitems-edit-page-routing.module.ts
small change to re run test
2023-03-30 11:16:28 -06:00
cris
b5881a0ae9 modifying behavior of collectionModifiable 2023-03-30 16:51:08 +00:00
Cristian Emanuelle Guzmán Suárez
7fbec71002 Merge branch 'DSpace:main' into issues/2140 2023-03-30 10:16:42 -06:00
Pierre Lasou
0fbcf84125 Small updates to french translations
Adding corrections suggested in the following PR review: https://github.com/DSpace/dspace-angular/pull/2154
2023-03-30 11:50:16 -04:00
Alexandre Vryghem
9cc158230f Merge remote-tracking branch 'upstream/main' into fix-metadata-fields-containing-dots_contribute-main
# Conflicts:
#	src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.html
#	src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.spec.ts
#	src/app/item-page/edit-item-page/item-metadata/edit-in-place-field/edit-in-place-field.component.ts
2023-03-30 17:49:39 +02:00
Alexandre Vryghem
792a614631 100553: Set the maximum amount of metadata fields shown on EditInPlaceFieldComponent back to 10 2023-03-30 17:35:55 +02:00
Alexandre Vryghem
b00a0f5be9 100553: Added extra regex validation to prevent users from adding namespaces, elements and qualifiers with spaces
Minor fixes:
- Metadata Registry's name field was not being emptied after successful submission
- The first input from both forms both had the red error border after clearing the fields
2023-03-30 17:35:55 +02:00
Tim Donohue
1ddeeed081 Merge pull request #2127 from tdonohue/update_cypress_12
Upgrade to Cypress 12 for e2e tests
2023-03-30 10:22:06 -05:00
Yana De Pauw
057b54a667 Merge branch 'w2p-100302_Live-import-issues' into w2p-100302_Live-import-issues-7.5 2023-03-30 17:05:07 +02:00
Yana De Pauw
6c5ae4972e 100302: Add an error to prevent piping or subscribing to undefined when no href is present 2023-03-30 16:53:10 +02:00
Enea Jahollari
af9b4a292e Fix error message when updating ORCID settings 2023-03-30 12:28:48 +02:00
Alexandre Vryghem
690554d103 Merge remote-tracking branch 'upstream/main' into fix-enabling-video-mediaviewer-without-image-mediaviewer-main
# Conflicts:
#	src/app/item-page/simple/item-types/publication/publication.component.html
#	src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
2023-03-29 10:12:16 +02:00
Tim Donohue
81087d3a2c Merge pull request #2154 from pilasou/pilasou-translations-fr
Update to fixe french labels for System-wide alert
2023-03-28 16:51:12 -05:00
Tim Donohue
f04f73edfa Merge pull request #2149 from alexandrevryghem/media-viewer-thumbnail-width_contribute-main
Media viewer thumbnails don't take viewport width into account
2023-03-28 16:20:20 -05:00
Tim Donohue
4ff68da423 Merge pull request #2166 from reetagithub/main
Update en.json5
2023-03-28 10:09:11 -05:00
Yana De Pauw
b86c467a1f Merge branch 'w2p-100302_Live-import-issues' into w2p-100302_Live-import-issues-7.5 2023-03-28 14:40:43 +02:00
Yana De Pauw
9f6616a5ce 100302: Add support to check if a request has a cached value 2023-03-28 14:38:44 +02:00
reetagithub
26f9c7e40f Update fi.json5
Harmonized some translations and translated the few new translations.
2023-03-28 12:44:34 +03:00
reetagithub
a2aa436c1d Update en.json5
Two typos corrected.
2023-03-28 10:24:01 +03:00
Yana De Pauw
3851884225 Merge remote-tracking branch 'upstream/main' into w2p-100302_Live-import-issues-7.5 2023-03-27 17:23:36 +02:00
Yana De Pauw
153a53f118 100302: Fix issues with live import 2023-03-27 16:31:26 +02:00
Alexandre Vryghem
918493ecb3 Merge branch 'fix-enabling-video-mediaviewer-without-image-mediaviewer-7.2' into fix-enabling-video-mediaviewer-without-image-mediaviewer-main 2023-03-26 01:04:19 +01:00
Alexandre Vryghem
43dd508b10 Fix placeholder not being shown for items with not THUMBNAIL bitstreams 2023-03-26 01:04:02 +01:00
Alexandre Vryghem
e14760a29b Merge remote-tracking branch 'upstream/main' into retrieve-name-with-dsonameservice-main
# Conflicts:
#	src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
2023-03-24 23:26:30 +01:00
Alexandre Vryghem
0c47298194 Merge remote-tracking branch 'upstream/main' into add-json5-eslint-support
# Conflicts:
#	src/assets/i18n/hu.json5
2023-03-24 21:22:31 +01:00
Pierre Lasou
46a73e9c1b Fixing minor syntax problems
Added missing commas and missing "//" characters.
2023-03-24 14:15:07 -04:00
Jean-François Morin
2c0e0ab991 Fixed conflicts and added strings for Content Reports 2023-03-24 11:58:45 -04:00
Jean-François Morin
a105dd5c46 Fixed conflicts 2023-03-24 11:40:35 -04:00
nwoodward
3a7ab491bf updated message to reflect only one file 2023-03-24 08:53:55 -05:00
nwoodward
b2a9c4f456 handle http status code 413 from the backend when an SAF file is larger than the limit 2023-03-24 08:48:19 -05:00
Alexandre Vryghem
a49c8cad99 Merge remote-tracking branch 'upstream/main' into fix-enabling-video-mediaviewer-without-image-mediaviewer-main
# Conflicts:
#	src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
#	src/app/item-page/media-viewer/media-viewer.component.html
#	src/app/item-page/simple/item-types/publication/publication.component.html
#	src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
2023-03-24 00:46:29 +01:00
Alexandre Vryghem
ebfef74adb Merge remote-tracking branch 'upstream/main' into media-viewer-thumbnail-width_contribute-main
# Conflicts:
#	src/app/item-page/simple/item-types/publication/publication.component.html
#	src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
2023-03-24 00:18:33 +01:00
Tim Donohue
d0ccec9d0e Merge pull request #2126 from atmire/ensure-cookie-language-is-valid-main
Ensure cookie language is valid
2023-03-23 16:37:30 -05:00
Tim Donohue
943e1b4eef Merge pull request #2151 from alexandrevryghem/atmire-contributions-march-2023
New themed components
2023-03-23 15:12:18 -05:00
Tim Donohue
3588643731 Merge pull request #2142 from akoscomp/main
Update hu language file with dspace7.5 strings
2023-03-23 14:48:49 -05:00
Tim Donohue
ee705f0ccf Merge pull request #2130 from amanbudgujar/virsoftech-angular
EPerson creation page changed
2023-03-23 14:38:37 -05:00
Tim Donohue
b4042e712d Merge pull request #2148 from DSpace/dependabot/npm_and_yarn/webpack-5.76.0
Bump webpack from 5.75.0 to 5.76.0
2023-03-23 14:09:39 -05:00
Tim Donohue
80c3416214 Merge pull request #2139 from CrisGuzmanS/issues/2128
browse-by-metadata-page works correctly on numeric 'value' param
2023-03-23 11:43:25 -05:00
Enea Jahollari
081e44521a Merge branch 'main' into CST-7216 2023-03-23 12:01:27 +01:00
Enea Jahollari
b31fdf0be6 [CST-7216] Imported UploadModule in AdminModule to fix build error 2023-03-23 11:59:50 +01:00
Alexandre Vryghem
2f336ff8de Merge branch 'w2p-99465_themed-MediaViewerCompoent_contribute-7.2' into atmire-contributions-march-2023 2023-03-21 10:03:55 +01:00
Alexandre Vryghem
e426c1a4ef Fixed MediaViewerVideoComponent 2023-03-21 10:02:43 +01:00
Alexandre Vryghem
83444fc9c2 Merge remote-tracking branch 'upstream/main' into fix-enabling-video-mediaviewer-without-image-mediaviewer-7.2
# Conflicts:
#	src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.html
#	src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
2023-03-19 23:37:35 +01:00
Alexandre Vryghem
aa4d56e2cf Made it possible to only enable video media viewer
Also:
- Filtered out non-supported media file types from the mediaViewers mediaList
- Fixed thumbnails not displaying with 0 ORIGINAL bitstreams
2023-03-19 21:22:57 +01:00
Pierre Lasou
58df43b852 Update to fixe french labels for System-wide alert
Add translations for the System wide alert feature as well other various missing parameters.
2023-03-17 15:02:07 -04:00
Alexandre Vryghem
5011ec672c Merge branch 'fix-rss-button-not-showing' into atmire-contributions-march-2023 2023-03-17 17:30:48 +01:00
Alexandre Vryghem
56d60820a5 96384: Fix RSS component sometimes not displaying when loaded to fast 2023-03-17 17:00:12 +01:00
Alexandre Vryghem
2d48c6369b Merge remote-tracking branch 'upstream/main' into retrieve-name-with-dsonameservice-main 2023-03-16 00:30:49 +01:00
Alexandre Vryghem
3b5829160b Merge branch 'retrieve-name-with-dsonameservice-7.4' into retrieve-name-with-dsonameservice-main 2023-03-16 00:26:55 +01:00
Alexandre Vryghem
2030b29ddc Fix scope name not being displayed after a page refresh & code cleanup 2023-03-16 00:26:11 +01:00
Alexandre Vryghem
21431f8111 Merge remote-tracking branch 'contributions/w2p-99464_add-missing-end-user-agreement-guards_contribute-7.2' 2023-03-15 17:37:52 +01:00
Alexandre Vryghem
4f87bab78c Merge remote-tracking branch 'alex/w2p-99465_themed-MediaViewerCompoent_contribute-7.2'
# Conflicts:
#	src/themes/custom/lazy-theme.module.ts
2023-03-15 17:22:50 +01:00
Alexandre Vryghem
daca70e6cb Merge remote-tracking branch 'atmire/issue-1833_entity-title-refactor_themed-ItemPageTitleFieldComponent-7.2'
# Conflicts:
#	src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.html
#	src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.html
#	src/app/entity-groups/journal-entities/item-pages/journal/journal.component.html
#	src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.html
#	src/app/entity-groups/research-entities/item-pages/person/person.component.html
#	src/app/entity-groups/research-entities/item-pages/project/project.component.html
#	src/app/item-page/full/full-item-page.component.html
#	src/app/item-page/simple/item-types/publication/publication.component.html
#	src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html
#	src/app/shared/shared.module.ts
#	src/themes/custom/lazy-theme.module.ts
2023-03-15 17:15:05 +01:00
cris
385b72862e lint issues solved 2023-03-15 16:00:07 +00:00
Alexandre Vryghem
06f95da018 Merge remote-tracking branch 'alex/w2p-100079_themed-feedback-form-component_contribute-7.2'
# Conflicts:
#	src/themes/custom/lazy-theme.module.ts
2023-03-15 16:55:21 +01:00
Alexandre Vryghem
f1d675bbe2 Merge remote-tracking branch 'upstream/main' into media-viewer-thumbnail-width_contribute-main 2023-03-15 14:31:35 +01:00
Alexandre Vryghem
d60e358766 Fix media viewer thumbnails exceeding max width 2023-03-15 14:15:04 +01:00
dependabot[bot]
be484b1249 Bump webpack from 5.75.0 to 5.76.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.75.0 to 5.76.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.75.0...v5.76.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 22:48:34 +00:00
Alexandre Vryghem
b63fa5f375 Themed MediaViewerVideoComponent 2023-03-14 14:26:51 +01:00
Alexandre Vryghem
f4e95946dc Themed MediaViewerImageComponent 2023-03-14 14:26:39 +01:00
Alexandre Vryghem
faec78a12e Themed MediaViewerComponent 2023-03-14 14:26:18 +01:00
Agustina Martinez
50d36231aa Add support to send inheritPolicies flag when moving item collection 2023-03-13 16:17:31 +00:00
cris
ebd8cbaaae avoid unnecesary assignment to this.value 2023-03-13 00:13:20 +00:00
cris
e4657b7d51 whitespace differences hiddne 2023-03-12 23:21:22 +00:00
Cristian Emanuelle Guzmán Suárez
a6bad9f142 Merge branch 'main' into issues/2128 2023-03-12 17:36:05 -06:00
cris
6983b40136 if data does not exist the undefined error is avoid 2023-03-12 21:13:17 +00:00
cris
12518dcc86 if collectionModiable does not exists is set as null 2023-03-12 20:49:01 +00:00
cris
22da2f7160 avoiding lint issues 2023-03-12 19:49:30 +00:00
cris
762bdafe5e Merge branch 'issues/2140' of https://github.com/CrisGuzmanS/dspace-angular into issues/2140 2023-03-12 19:39:41 +00:00
cris
f561ff8f35 collectionModifiable can be null 2023-03-12 19:39:26 +00:00
Cristian Emanuelle Guzmán Suárez
787c99bcde Merge branch 'DSpace:main' into issues/2140 2023-03-12 13:21:32 -06:00
Tim Donohue
694fa39a6e Merge pull request #2141 from CrisGuzmanS/issues/2044
pageSize applied in Recent Submissions
2023-03-10 12:55:05 -06:00
Tim Donohue
673d056554 Merge pull request #2132 from md1222/edit-bitstream
Fixed: Clear metadata if value has not set. Reference issue no #1612
2023-03-10 12:13:10 -06:00
Tim Donohue
42097b7802 Merge pull request #2083 from atmire/atmire-contributions-alex-7.5
New themed components
2023-03-10 12:02:49 -06:00
Tim Donohue
2326a2596f Merge pull request #2109 from vlguerrero/spanish-translation-contribution
Spanish translation contribution
2023-03-10 11:46:50 -06:00
Yury Bondarenko
7fb9c8a38a Fix DSO edit menu dropdowns 2023-03-10 11:36:40 +01:00
cris
1c2d96ce43 solving lint issues 2023-03-10 03:39:03 +00:00
cris
1ca8529440 collection is not modifiable in workflowitem section 2023-03-10 03:22:47 +00:00
cris
6e77140591 avoiding trailing space 2023-03-09 21:12:29 +00:00
cris
6493b62e6a adding sortConfig 2023-03-09 21:00:36 +00:00
akoscomp
22686d52da Update hu language file with dspace7.5 strings
Improve translationo
2023-03-09 21:31:47 +02:00
cris
9d1991eec1 pageSize applied in Recent Submissions 2023-03-09 18:39:13 +00:00
cris
293692f1d2 fixing lint issues 2023-03-09 15:45:55 +00:00
cris
e2cf97f8c1 browse-by-metadata-page works correctly on numeric 'value' param 2023-03-09 04:38:59 +00:00
Tim Donohue
6d1b9f3fa4 Ensure all SSR caching is disabled in CI environment 2023-03-07 16:38:25 -06:00
Tim Donohue
61ace6f831 Bug fix: generateViewEvent() requires Solr to commit stats immediately. 2023-03-07 15:02:31 -06:00
Tim Donohue
371bd072b3 Add generateViewEvent() util to generate stats in e2e tests. Refactored xsrf.interceptor.ts to move constants to a separate file so they can be reused in e2e tests easily. 2023-03-06 16:13:43 -06:00
Alexandre Vryghem
72dbb0fdef Themed FeedbackFormComponent 2023-03-06 22:09:34 +01:00
Mark H. Wood
1e7ede015b Don't allow the date picker to exceed the maximum start or end date for an access option. 2023-03-06 11:19:49 -05:00
Alexandre Vryghem
441eac2bf4 Merge remote-tracking branch 'upstream/main' into fix-missing-hints-and-required-attributes-main
# Conflicts:
#	src/app/shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-container.component.ts
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/list/dynamic-list-checkbox-group.model.ts
2023-03-05 17:57:27 +01:00
Alexandre Vryghem
7720f38364 Fixed hints & required error messages for input-type list
- Added mapping for required & hint properties
- Set the required type on the checkbox group instead of on each checkbox individually
2023-03-05 14:30:04 +01:00
Lucky
c72ab68b65 Merge branch 'main' into edit-bitstream 2023-03-04 15:01:10 +05:30
Asif Mustaque
f2ecef8499 A tiny indentation fix 2023-03-04 12:29:08 +05:30
Alexandre Vryghem
79cb51b2c1 Fix hints not being displayed for dynamic array fields 2023-03-03 21:59:06 +01:00
Tim Donohue
48e95e262d Fix lint warnings by switching + to concat() 2023-03-03 12:53:27 -06:00
Tim Donohue
d38ba9cf0e Make statistics tests more stable by waiting on page to fully load 2023-03-03 12:53:27 -06:00
Tim Donohue
aa7c644e6a Minor configuration cleanup for Cypress 2023-03-03 10:49:06 -06:00
Tim Donohue
934c23a550 Fix accessibility issue where restricted objects have no name in statistics table 2023-03-03 10:49:06 -06:00
Tim Donohue
1ae3c183d4 Minor test cleanup after upgrade 2023-03-03 10:49:06 -06:00
Asif Mustaque
c9d261e68b Fix for issue #1612
Removes metadata field entry dc.description from the bitstream's metadata

Co-Authored-By: Aman Budgujar <amanbudgujar@gmail.com>
2023-03-03 18:57:24 +05:30
Aman Budgujar
3a2123f569 Changes associated with #2026
While creating a new EPerson -
* Reset password button is not displayed.
* Submit button label changed from 'Save' to 'Create'.
2023-03-03 10:56:29 +05:30
Aman Budgujar
7d0891f9f6 Revert "Changes associated with #2026"
This reverts commit 0090088cb3.
2023-03-03 10:48:34 +05:30
Alexandre Vryghem
83155062cf Merge remote-tracking branch 'upstream/main' into retrieve-name-with-dsonameservice-7.4
# Conflicts:
#	src/app/access-control/epeople-registry/epeople-registry.component.html
#	src/app/access-control/epeople-registry/eperson-form/eperson-form.component.ts
#	src/app/access-control/group-registry/group-form/group-form.component.spec.ts
#	src/app/access-control/group-registry/group-form/group-form.component.ts
#	src/app/access-control/group-registry/group-form/members-list/members-list.component.html
#	src/app/access-control/group-registry/group-form/members-list/members-list.component.ts
#	src/app/collection-page/edit-item-template-page/edit-item-template-page.component.html
#	src/app/item-page/full/field-components/file-section/full-file-section.component.ts
#	src/app/item-page/media-viewer/media-viewer-video/media-viewer-video.component.ts
#	src/app/item-page/simple/field-components/file-section/file-section.component.html
#	src/app/item-page/simple/field-components/file-section/file-section.component.ts
#	src/app/item-page/versions/item-versions.component.ts
#	src/app/shared/auth-nav-menu/user-menu/user-menu.component.html
#	src/app/shared/auth-nav-menu/user-menu/user-menu.component.ts
#	src/app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component.html
2023-03-02 22:13:05 +01:00
Alexandre Vryghem
2513f91a1a Use DSONameService to display DSpaceObjects names 2023-03-02 19:40:36 +01:00
Aman Budgujar
5c27dca3d7 Revert "CSS changed for login-container #1952"
This reverts commit feb2d09d5a.
2023-03-02 18:51:39 +05:30
Aman Budgujar
0090088cb3 Changes associated with #2026
While creating a new EPerson -
* Reset password button is not displayed.
* Submit button label changed from 'Save' to 'Create'.
2023-03-02 18:47:59 +05:30
Aman Budgujar
4cf1feef07 Merge branch 'main' of https://github.com/amanbudgujar/dspace-angular 2023-03-02 18:18:52 +05:30
Tim Donohue
599e8a777e Update to latest cypress, cypress-axe and axe-core 2023-03-01 16:49:01 -06:00
Tim Donohue
f5d18edd06 Fix circulary dependency in our Cypress support code. 2023-03-01 16:39:35 -06:00
Tim Donohue
376788ea2e Automated upgrade to Cypress 12. 2023-03-01 16:39:31 -06:00
Tim Donohue
1d58910d70 Merge pull request #2085 from CrisGuzmanS/ul-and-li-in-dropdwon-collection-in-submissions-form
ID 469871. List or list item is not marked up properly.
2023-03-01 16:03:12 -06:00
Tim Donohue
eaa54dfcaf Merge pull request #2092 from CrisGuzmanS/issues/1186-470750
Buttons have same name but different actions.
2023-03-01 14:14:54 -06:00
Alexandre Vryghem
b8496df6aa Added missing EndUserAgreementCurrentUserGuard guards 2023-03-01 17:02:38 +01:00
cris
e80e56d78b erro fixed when dropdwon is closed 2023-03-01 03:31:31 +00:00
Cristian Emanuelle Guzmán Suárez
1ed3b9244f Merge branch 'DSpace:main' into ul-and-li-in-dropdwon-collection-in-submissions-form 2023-02-28 20:47:36 -06:00
Tim Donohue
00c5636c88 Merge pull request #2007 from arvoConsultores/DS-8408
In Advanced Search, list collections alphabetically
2023-02-28 16:58:14 -06:00
Tim Donohue
8264872f38 Merge pull request #2084 from CrisGuzmanS/role-in-tabs
ul and li replaced to role list and listitem
2023-02-28 16:28:11 -06:00
Cristian Emanuelle Guzmán Suárez
a2bd3be23f submission.workflow.generic.delete-help sentence make sense. 2023-02-28 16:24:13 -06:00
Alexandre Vryghem
019ef75804 Initialised EventEmitter submitSearch in ThemedSearchFormComponent 2023-02-28 23:05:19 +01:00
Tim Donohue
8bb73b3188 Merge pull request #2111 from atmire/fix-tests-upstream
Fix false positive tests caused by `fixture.debugElement.query().toBeDefined()` & `toBeUndefined()`
2023-02-28 15:04:25 -06:00
Tim Donohue
8d867a7a93 Merge pull request #2121 from CrisGuzmanS/issues/2089
avoiding drag and drop in put for multiple select option
2023-02-28 12:41:06 -06:00
Tim Donohue
d7977aba97 Merge pull request #2122 from atmire/atmire-css-contributions-main
Minor CSS fixes
2023-02-27 16:55:51 -06:00
Tim Donohue
07ee16aa8d Merge pull request #2113 from CrisGuzmanS/issues/1998
avoiding error when user unselect a filter option
2023-02-27 16:40:30 -06:00
Tim Donohue
e9f4d4574a Merge pull request #2117 from atmire/w2p-99615_misc-community-bug-fixes_contribute-main
Fixed UI issues #2087 and #2088
2023-02-27 16:00:52 -06:00
Alexandre Vryghem
d79dcbae73 94481: Themed ItemPageTitleFieldComponent 2023-02-27 17:25:08 +01:00
Alexandre Vryghem
ed998f41ce Merge remote-tracking branch 'upstream/main' into ensure-cookie-language-is-valid-7.2 2023-02-26 21:49:51 +01:00
Alexandre Vryghem
92f5c6f427 Do not use disabled or non-existing languages from language cookie 2023-02-26 21:39:10 +01:00
Alexandre Vryghem
200e95a390 Fix vertical alignment of text & buttons in tables 2023-02-26 00:53:26 +01:00
Alexandre Vryghem
1b46303539 Merge branch 'atmire-css-contributions-7.2' into atmire-css-contributions-main
# Conflicts:
#	src/app/admin/admin-registries/metadata-schema/metadata-schema.component.html
#	src/app/shared/log-in/log-in.component.html
2023-02-26 00:52:04 +01:00
cris
ec3f7736d4 avoiding drag and drop in put for multiple select option 2023-02-24 16:19:41 +00:00
Alexandre Vryghem
5398c06242 Fix alignment of input fields on metadata registry when only one input field has error 2023-02-24 01:19:28 +01:00
Alexandre Vryghem
af23a3a8e3 Fixed css issues of LogInComponent where text would overflow 2023-02-24 01:19:08 +01:00
lotte
e3fe80013c Merge branch 'w2p-99615_misc-community-bug-fixes_contribute-7.4' into w2p-99615_misc-community-bug-fixes_contribute-main 2023-02-23 15:55:20 +01:00
lotte
0a4f027129 99615: Fixed #2087 and #2088 2023-02-23 15:44:18 +01:00
lotte
d2871ea8a0 Solved test issues 2023-02-23 14:39:34 +01:00
lotte
ab78df2e68 Fixes after merge 2023-02-23 11:08:23 +01:00
lotte
c1a1d1a20e Merge branch 'w2p-99521_themed-top-level-communities-component_contribute-main' into w2p-97184_theme-feedback_contribute-main 2023-02-23 11:07:29 +01:00
Lucky
feb2d09d5a CSS changed for login-container #1952 2023-02-23 13:59:05 +05:30
lotte
55fcab1700 Merge branch 'w2p-99521_themed-top-level-communities-component_contribute-7.4' into w2p-99521_themed-top-level-communities-component_contribute-main 2023-02-22 16:14:25 +01:00
lotte
efe1d1085a Moved TopLevelCommunityComponent to Eager module 2023-02-22 16:12:40 +01:00
lotte
1c12977347 Merge branch 'w2p-99521_themed-top-level-communities-component_contribute-7.2' into w2p-99521_themed-top-level-communities-component_contribute-7.4 2023-02-22 16:08:36 +01:00
lotte
eff5f1b81a 99521: themed TopLevelCommunitiesComponent 2023-02-22 15:59:29 +01:00
Alexandre Vryghem
5e726f8916 Made private constructor arguments protected to be accessible in themed components 2023-02-22 14:28:15 +01:00
Alexandre Vryghem
64dd2e6344 Merge remote-tracking branch 'templates/w2p-91874_Authority-control_contribute-7.2' into atmire-contributions-alex-7.5
# Conflicts:
#	src/app/shared/form/form.module.ts
#	src/app/shared/shared.module.ts
#	src/themes/custom/lazy-theme.module.ts
2023-02-22 13:52:38 +01:00
Alexandre Vryghem
74ca23ec83 Merge branch 'w2p-98661_themed-FullFileSectionComponent-contribute-7.2' into atmire-contributions-alex-7.5
# Conflicts:
#	src/app/item-page/full/full-item-page.component.html
#	src/app/item-page/item-page.module.ts
#	src/themes/custom/lazy-theme.module.ts
2023-02-22 13:29:44 +01:00
cris
17afdfa34b avoiding error when user unselect a filter option 2023-02-21 22:44:45 +00:00
Alexandre Vryghem
553002406f Merge branch 'fix-tests-7.4' into fix-tests-upstream 2023-02-19 01:06:21 +01:00
Alexandre Vryghem
4f14d66400 Fixed lint issues 2023-02-19 01:04:25 +01:00
Alexandre Vryghem
b13f7cdf64 Merge remote-tracking branch 'upstream/main' into fix-tests-upstream 2023-02-19 00:49:30 +01:00
Alexandre Vryghem
f063b15fb4 Merge remote-tracking branch 'templates/w2p-97755_fix-spy-created-after-component_contribute-7.2' into fix-tests-upstream
# Conflicts:
#	src/app/admin/admin-sidebar/admin-sidebar.component.spec.ts
2023-02-19 00:48:24 +01:00
Alexandre Vryghem
718db3466d Fixed false positive tests caused by fixture.debugElement.query().toBeDefined() 2023-02-19 00:23:19 +01:00
Alexandre Vryghem
3c2f3d071f Fixed *.json5 linting issues 2023-02-18 19:52:39 +01:00
Alexandre Vryghem
5ccfeccb42 Added ESLint validation for *.json5 files 2023-02-18 19:48:48 +01:00
Alexandre Vryghem
008e089e62 Merge remote-tracking branch 'upstream/main' into atmire-contributions-alex-7.5
# Conflicts:
#	src/app/item-page/item-page.module.ts
#	src/app/shared/search/themed-search.component.ts
#	src/app/shared/shared.module.ts
#	src/themes/custom/eager-theme.module.ts
#	src/themes/custom/lazy-theme.module.ts
2023-02-18 13:19:08 +01:00
Leonardo Guerrero
7844a939ca Arranges after personal review 2023-02-17 22:27:49 -05:00
Leonardo Guerrero
9e03faac54 Fix some typo mistakes 2023-02-17 22:10:46 -05:00
Leonardo Guerrero
6078ca9e8a update es.json5 2023-02-17 21:57:49 -05:00
Tim Donohue
bbec2fd038 Update version tag for development of next release 2023-02-17 10:48:04 -06:00
Tim Donohue
d1ec9897b1 Update version tag for release 2023-02-17 10:35:32 -06:00
Sufiyan Shaikh
98da08ead0 [CST-7216] Design fixes and parameter changed 2023-02-17 12:08:22 +01:00
Sufiyan Shaikh
e47b42bc89 [CST-7216] Angular: Import saf via URL 2023-02-17 12:07:52 +01:00
Tim Donohue
1ea7c61315 Merge pull request #2107 from tdonohue/fix_8670
Fix issue with admin reset password functionality
2023-02-16 16:03:13 -06:00
Tim Donohue
02cc3b77f3 Merge pull request #2102 from CrisGuzmanS/2101
Fix for "No option appears for Bundle when the user is loading a bitstream of an item"
2023-02-16 14:22:53 -06:00
Tim Donohue
92f2196135 Fix param to send user the forgot password email 2023-02-16 14:09:35 -06:00
cris
4c819ea665 Merge branch '2101' of https://github.com/CrisGuzmanS/dspace-angular into 2101 2023-02-16 17:12:19 +00:00
cris
3a2225679a avoiding console.log errors 2023-02-16 17:11:17 +00:00
Giuseppe Digilio
0733e2766d [CST-8952] Fix issue with admin reset password functionality 2023-02-16 17:53:47 +01:00
Cristian Emanuelle Guzmán Suárez
0915afac14 Merge branch 'DSpace:main' into 2101 2023-02-15 16:30:13 -06:00
cris
bf22eb5582 suggestionOption.name displayed 2023-02-15 22:14:31 +00:00
Tim Donohue
49bec1b046 Merge pull request #2098 from saschaszott/german-translation-fixes
German translation fixes in security form
2023-02-15 15:14:17 -06:00
Sascha Szott
e5e6639d21 added comma to default translation 2023-02-15 20:05:59 +01:00
Sascha Szott
26705a5cf7 fixed missing comma 2023-02-15 20:05:59 +01:00
Sascha Szott
3ed9ae2d3e remove minimum passwort length value from translated messages 2023-02-15 20:05:59 +01:00
Sascha Szott
028d4192bb translation fixes in security form 2023-02-15 20:05:59 +01:00
Tim Donohue
e48b675bd4 Merge pull request #2100 from 4Science/CST-8935-fix-edit-bitstream-form
Fix issue with missing matcher providers
2023-02-15 12:31:06 -06:00
aroman-arvo
938bf33ad2 DS-8404 - fix config param name 2023-02-15 19:20:20 +01:00
Giuseppe Digilio
b676c1ab79 [CST-8935] Fix issue with missing matcher providers 2023-02-15 18:43:49 +01:00
Tim Donohue
8f410eb66b Merge pull request #2097 from alanorth/2096-item-submission-form
src/assets/i18n: Improve English strings for file upload
2023-02-15 10:33:22 -06:00
Alan Orth
d810cbcc8f src/assets/i18n: Improve English strings for file upload
Simple improvement to the wording in the file upload section of the
item submission form. Also add a period at the end of the string.

Fixes: #2096
2023-02-15 11:36:56 +03:00
Tim Donohue
5fb7f4da60 Merge pull request #2093 from 4Science/CST-8914-export-button
Add flag to show/hide csv export button
2023-02-14 12:34:53 -06:00
Tim Donohue
21b0374290 Merge pull request #2075 from atmire/w2p-98855_themeable-file-download-link_contribute-main
Pass `ng-content` to themed child components
2023-02-14 12:33:54 -06:00
Tim Donohue
368c1ea93f Merge pull request #2019 from 4Science/CST-7755
Supervision orders user interface
2023-02-14 11:11:50 -06:00
Tim Donohue
5ba0997bbd Merge pull request #2042 from atmire/poc-keepalive-during-ssr
Keep SSL sessions alive during SSR
2023-02-14 09:06:25 -06:00
Tim Donohue
2ee818543a Merge pull request #2091 from tdonohue/fix_2090
Fix for "cannot read properties of undefined" error for Withdrawn Items
2023-02-14 09:06:01 -06:00
Giuseppe Digilio
0f25f9f18f [CST-8914] Add flag to show/hide csv export button 2023-02-14 11:24:08 +01:00
cris
1d00b431ac aria-label added to edit, view and delete button 2023-02-14 03:18:28 +00:00
Tim Donohue
da4e1a85cb Fix for "cannot read properties of undefined" error 2023-02-13 16:21:46 -06:00
Giuseppe Digilio
6a0c1a978c Merge branch 'main' into CST-7755-refactoring
# Conflicts:
#	src/app/core/core.module.ts
#	src/app/shared/shared.module.ts
2023-02-13 21:36:30 +01:00
Giuseppe Digilio
75ebacf90e [CST-7755] Complete refactoring 2023-02-13 21:34:45 +01:00
aroman-arvo
9a2b885501 DS-8498: ling fixes 2023-02-13 19:38:32 +01:00
aroman-arvo
742922dba0 DS-8408: Test cases and some fixes or comcol ordering 2023-02-13 19:32:47 +01:00
Tim Donohue
6cb6737256 Merge pull request #2061 from CrisGuzmanS/collection-in-workflow-tasks
Collection in workflow tasks
2023-02-13 10:20:42 -06:00
Tim Donohue
bd428d7c85 Merge pull request #2017 from 4Science/CST-7757
Manage Subscriptions interface
2023-02-13 09:51:55 -06:00
Davide Negretti
078bdd287f [CST-7757] Fix delete message 2023-02-13 15:45:56 +01:00
aroman-arvo
0121e6d895 DS-8408 - more lint problems 2023-02-13 12:34:13 +01:00
aroman-arvo
e2668cdf97 DS-8408 - lint errors 2023-02-13 12:22:07 +01:00
aroman-arvo
b015f682b4 Merge remote-tracking branch 'github/main' into DS-8408 2023-02-13 11:31:03 +01:00
Giuseppe Digilio
363136027e [CST-7755] WIP revert changes on list components 2023-02-13 11:30:17 +01:00
aroman-arvo
eeda26e122 8408 - sort ordering is parametrized and used only when no text query is send. 2023-02-13 10:42:56 +01:00
Giuseppe Digilio
cf0db54011 Merge branch 'main' into CST-7755-refactoring
# Conflicts:
#	src/app/shared/shared.module.ts
2023-02-13 10:09:17 +01:00
Alexandre Vryghem
a6be9204e6 Merge remote-tracking branch 'upstream/main' into w2p-98855_themeable-file-download-link_contribute-main
# Conflicts:
#	src/themes/custom/eager-theme.module.ts
2023-02-12 23:22:00 +01:00
cris
c74ef49797 fixed issue in browser console 2023-02-11 17:13:52 +00:00
cris
ff09bec795 Merge branch 'collection-in-workflow-tasks' of https://github.com/CrisGuzmanS/dspace-angular into collection-in-workflow-tasks 2023-02-11 16:09:15 +00:00
Cristian Emanuelle Guzmán Suárez
c749746129 Merge branch 'DSpace:main' into collection-in-workflow-tasks 2023-02-11 10:08:59 -06:00
cris
875eea05f0 Merge branch 'main' of https://github.com/CrisGuzmanS/dspace-angular into collection-in-workflow-tasks 2023-02-11 16:08:30 +00:00
Davide Negretti
851fe7869e [CST-7757] Missing label 2023-02-11 03:29:17 +01:00
Davide Negretti
d65c12ae04 Merge branch 'main-gh4s' into CST-7757
# Conflicts:
#	src/app/collection-page/collection-page.component.html
#	src/app/community-page/community-page.component.html
#	src/app/core/core.module.ts
#	src/app/core/data/feature-authorization/feature-id.ts
#	src/app/shared/shared.module.ts
2023-02-11 03:17:44 +01:00
Tim Donohue
a3e99b6a11 Merge pull request #2039 from atmire/w2p-98211_advanced-workflow-actions-main
Advanced workflow actions - framework & workflows `scoreReview` and `selectSingleReviewer`
2023-02-10 13:40:31 -06:00
Marie Verdonck
53cb013b81 Merge branch 'main' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/shared/shared.module.ts
2023-02-10 19:57:25 +01:00
Giuseppe Digilio
7a9f4efa95 Merge branch 'main' into CST-7755-refactoring
# Conflicts:
#	src/app/core/core.module.ts
#	src/app/shared/shared.module.ts
2023-02-10 19:52:55 +01:00
Giuseppe Digilio
d82526af8a [CST-7755] WIP refactoring 2023-02-10 19:47:20 +01:00
Tim Donohue
f2f49a6ef2 Merge pull request #2073 from DSpace/dependabot/npm_and_yarn/http-cache-semantics-4.1.1
Bump http-cache-semantics from 4.1.0 to 4.1.1
2023-02-10 12:24:41 -06:00
dependabot[bot]
8ddcd42d04 Bump http-cache-semantics from 4.1.0 to 4.1.1
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-10 18:14:15 +00:00
Tim Donohue
e8a7bf2314 Merge pull request #2079 from atmire/w2p-97732_feature-context-help-service
Remove unnecessary subscriptions
2023-02-10 11:04:56 -06:00
Alexandre Vryghem
1d69e1581a 97755: Call spy before component is created 2023-02-10 18:00:42 +01:00
Tim Donohue
fae586bc44 Merge pull request #2078 from atmire/restore-csr-fallback
Let the production server "serve for direct CSR" if SSR is disabled or fails
2023-02-10 10:51:24 -06:00
Tim Donohue
f886d3de77 Merge pull request #2018 from 4Science/CST-7217
Improve facet badges alignment
2023-02-10 10:11:25 -06:00
Alexandre Vryghem
164af61417 Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main 2023-02-10 16:57:55 +01:00
Alexandre Vryghem
dce84dbe70 99053: Save queryParams in init to prevent them being overwritten 2023-02-10 16:53:02 +01:00
Tim Donohue
9246e5ef06 Merge pull request #1852 from atmire/w2p-94390_replace-dso-page-edit-buttons-with-a-menu
Replace dso page edit buttons with a menu
2023-02-10 09:49:32 -06:00
Alexandre Vryghem
63c5b2ca9a Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main 2023-02-10 15:55:09 +01:00
Alexandre Vryghem
356962a571 99053: Pass all queryParameters to advanced workflow pages by default 2023-02-10 15:52:51 +01:00
Tim Donohue
46f6037a0c Merge pull request #1740 from the-library-code/TLC-249_show_identifiers_7x
Show Identifiers section
2023-02-10 06:51:44 -06:00
Alexandre Vryghem
9af7bb7bc6 Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/shared/testing/active-router.stub.ts
2023-02-10 13:42:25 +01:00
Alexandre Vryghem
f0ceb645c7 99053: Passed previousSearchQuery to AdvancedWorkflowActionSelectReviewerComponent 2023-02-10 13:41:51 +01:00
Alexandre Vryghem
67c6684320 Merge remote-tracking branch 'atmire/w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/shared/testing/active-router.stub.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/advanced-workflow-action-select-reviewer.component.ts
2023-02-10 13:37:19 +01:00
Alexandre Vryghem
99f9f592a0 99053: Passed previousSearchQuery to AdvancedWorkflowActionSelectReviewerComponent 2023-02-10 13:24:00 +01:00
Alexandre Vryghem
19d0975df5 99053: Fixed encoded parameters being encoded twice in WorkflowItemActionPageComponent.previousPage() 2023-02-10 12:21:33 +01:00
Yana De Pauw
131eaef469 Merge remote-tracking branch 'upstream/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2023-02-10 12:05:21 +01:00
Yury Bondarenko
59d8ba5d7e Merge remote-tracking branch 'origin/main' into restore-csr-fallback 2023-02-10 11:53:31 +01:00
Tim Donohue
f2624fdf86 Merge pull request #2025 from atmire/w2p-97425_System-wide-alerts
System-wide alerts
2023-02-09 17:10:56 -06:00
Pascal-Nicolas Becker
86dd622da5 Merge pull request #2072 from amgciadev/2071
Fixes DSpace/dspace-angular#2071
2023-02-09 22:55:37 +01:00
cris
e1beb61525 ul and li in dropdwon collection in submissions form 2023-02-09 21:44:02 +00:00
Agustina Martinez
f00b8738ad Merge branch 'main' into 2071 2023-02-09 21:08:11 +00:00
cris
e4e973bbef ul and li replaced to role list and listitem 2023-02-09 20:53:28 +00:00
Tim Donohue
e0488fa4a3 Merge pull request #2033 from tdonohue/improve_caching
Add Caching of SSR public pages. Update default Cache-Control HTTP header
2023-02-09 14:49:59 -06:00
Alexandre Vryghem
0ec4e08e4b Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	yarn.lock
2023-02-09 17:19:59 +01:00
Alexandre Vryghem
ac06f30950 99053: Removed ngx-bootstrap dependency 2023-02-09 17:19:07 +01:00
Tim Donohue
9e11d69a8a Fix bug where allowStale couldn't be disabled 2023-02-09 08:48:50 -06:00
Yury Bondarenko
9f9864be79 Merge remote-tracking branch 'origin/main' into poc-keepalive-during-ssr 2023-02-09 15:41:20 +01:00
corrado lombardi
52cd98a7d3 [CST-7755] lint fix 2023-02-09 15:39:13 +01:00
corrado lombardi
800d3a9001 [CST-7755] added cancel button to modal and updated message returned when a supervision order already exists 2023-02-09 15:31:03 +01:00
Yury Bondarenko
1e20551d2a Keep SSL sessions alive between xhr2 requests 2023-02-09 15:08:56 +01:00
Yana De Pauw
81c786af5c Merge remote-tracking branch 'upstream/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2023-02-09 14:25:10 +01:00
Davide Negretti
516b91f520 [CST-7757] Hide delete info for new subscriptions and fix issue with unavailable items 2023-02-09 12:06:15 +01:00
Yana De Pauw
0076edd026 Merge remote-tracking branch 'upstream/main' into w2p-97425_System-wide-alerts 2023-02-09 11:57:25 +01:00
Giuseppe Digilio
0755e300e8 [CST-7217] Add margins to better align badge 2023-02-09 11:41:14 +01:00
lotte
458fe3c680 Merge remote-tracking branch 'origin/main' into w2p-97184_theme-feedback_contribute-main 2023-02-09 11:23:33 +01:00
Giuseppe Digilio
54fc97206c Merge branch 'main' into CST-7217 2023-02-09 11:19:35 +01:00
Alexandre Vryghem
7edc1c1036 Merge branch 'w2p-94688_added-themeable-search-form-component' into atmire-contributions-alex-7.5 2023-02-08 23:04:52 +01:00
Alexandre Vryghem
b1077dad31 Merge remote-tracking branch 'templates/w2p-97729_themed-ItemAlertsComponent_contribute-7.4' into atmire-contributions-alex-7.5
# Conflicts:
#	src/app/item-page/alerts/themed-item-alerts.component.ts
#	src/app/shared/shared.module.ts
#	src/themes/custom/lazy-theme.module.ts
2023-02-08 22:56:08 +01:00
Alexandre Vryghem
b3c65f59a4 97281: Added ItemSearchResultListElementComponent & PublicationSidebarSearchListElementComponent to custom theme 2023-02-08 21:33:06 +01:00
Alexandre Vryghem
e8dda89f19 Merge remote-tracking branch 'templates/w2p-98819_themed-starts-with-components_contribute-7.0' into atmire-contributions-alex-7.5
# Conflicts:
#	src/themes/custom/entry-components.ts
#	src/themes/custom/lazy-theme.module.ts
2023-02-08 21:29:20 +01:00
Alexandre Vryghem
827aa1f045 Merge remote-tracking branch 'atmire/w2p-98891_pass-default-query-to-search_contribute-7.2' into atmire-contributions-alex-7.5
# Conflicts:
#	src/app/shared/search/search.component.ts
2023-02-08 21:22:22 +01:00
Davide Negretti
27f541ef84 [CST-7757] modal fixes 2023-02-08 19:56:54 +01:00
Davide Negretti
325d78dded [CST-7757] modal fixes 2023-02-08 19:38:42 +01:00
Davide Negretti
c8e7ac3e8c [CST-7757] subscription modal tests 2023-02-08 18:26:37 +01:00
Tim Donohue
8acf7c565b Merge pull request #2016 from atmire/w2p-97298_issue-3281_self-register-issue-main
Self register domain restriction
2023-02-08 10:56:19 -06:00
Tim Donohue
94f90f5c1d Merge pull request #2076 from atmire/w2p-99039_XSRFTokenGetRequest
XSRF Token to ServerAuthRequestService
2023-02-08 10:44:33 -06:00
Alexandre Vryghem
8f62fc2fa9 Merge branch 'w2p-98855_themeable-file-download-link_contribute-7.4' into w2p-98855_themeable-file-download-link_contribute-main
# Conflicts:
#	src/app/shared/theme-support/themed.component.ts
2023-02-08 15:40:27 +01:00
Alexandre Vryghem
04d0621b4a Fixed default @Input() values not working for themed components 2023-02-08 15:21:07 +01:00
Alexandre Vryghem
b4acb5cbed Fixed text (without HTML tags) not being passed to child components 2023-02-08 15:07:02 +01:00
Davide Negretti
6bfcc25502 [CST-7757] subscriptions data service tests 2023-02-08 13:08:39 +01:00
Koen Pauwels
ad870829d2 97732 Remove unnecessary subscriptions 2023-02-08 11:13:03 +01:00
Alexandre Vryghem
d2dec2b79a Merge remote-tracking branch 'atmire/w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main
# Conflicts:
#	src/app/register-email-form/register-email-form.component.spec.ts
2023-02-08 10:21:31 +01:00
Alexandre Vryghem
5d2f63ff65 99053: Added test to check that the TYPE_REQUEST_FORGOT doesn't use the authentication-password.domain.valid 2023-02-08 10:17:36 +01:00
Tim Donohue
bee893dd12 Merge pull request #2063 from CrisGuzmanS/issue/1190-1
aria-selected added to Item Edit "Status" Tab. Fixed ID: 470076
2023-02-07 16:56:41 -06:00
Tim Donohue
b87ea9a875 Merge pull request #1972 from the-library-code/TLC-380_browse_links_in_item_pages_PR
Browse links and "by regex" links in item display (Angular)
2023-02-07 14:18:44 -06:00
Nathan Buckingham
9435f1c4a7 Add done() to async tests 2023-02-07 13:59:57 -05:00
Tim Donohue
c099bc468d Add "debug" config and "allowStale" configs 2023-02-07 12:22:32 -06:00
Nathan Buckingham
369ffac39e Merge branch 'main' into w2p-99039_XSRFTokenGetRequest 2023-02-07 11:59:46 -05:00
Nathan Buckingham
ce6324a569 Fix lint and test issues 2023-02-07 11:50:42 -05:00
Yury Bondarenko
88cb397dc9 Fix direct CSR
By moving from environment.ts to config.yml we made it so the environment is _not_ up to date with the server configuration when main.js is first loaded.
Because of this the app behaved as if CSR always happened _after_ SSR, effectively breaking direct CSR.

Here the "criterion" for SSR/non-SSR HTML is changed from the related configuration property to the presence of Angular Universal transfer state.

This means we can correctly determine when to bootstrap the app for direct CSR, and it's' now "safe" to just send index.html by itself.
2023-02-07 15:25:20 +01:00
Art Lowel
06de559974 Retrieve the XSRF token first, and set it as both the XSRF header and cookie 2023-02-07 14:49:22 +01:00
Alexandre Vryghem
9deb7cbb60 Merge remote-tracking branch 'atmire/w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/my-dspace-page/my-dspace-search.module.ts
#	src/app/shared/mydspace-actions/claimed-task/claimed-task-actions.component.html
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.html
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-approved-search-result/claimed-approved-search-result-list-element.component.spec.ts
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.html
#	src/app/shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-search-result/claimed-declined-search-result-list-element.component.spec.ts
2023-02-07 10:33:28 +01:00
Kim Shepherd
129342435f [TLC-249] Further test fixes 2023-02-07 17:48:06 +13:00
Kim Shepherd
8346232444 [TLC-249] Fix import typo (from merge conflict) 2023-02-07 17:22:59 +13:00
Kim Shepherd
08096e6829 [TLC-249] Lint 2023-02-07 17:12:02 +13:00
Kim Shepherd
76407866c0 [TLC-249] Update item status button logic to avoid nested subs 2023-02-07 17:05:21 +13:00
Kim Shepherd
e65bb88e23 [TLC-249] Attempting art's sub fix (doesn't work) 2023-02-07 17:05:21 +13:00
Kim Shepherd
639fe69c5f [TLC-380] Refactor to use new endpoints, better naming 2023-02-07 17:05:21 +13:00
Kim Shepherd
0a69560a8c [TLC-380] Refactor to use new endpoints, better naming 2023-02-07 17:05:21 +13:00
Kim Shepherd
e86f0d3d13 [TLC-380] WIP trying new routing / create flow 2023-02-07 17:05:21 +13:00
Kim Shepherd
ce84c3fe36 [TLC-380] Renaming, changes as per review feedback 2023-02-07 17:05:20 +13:00
Kim Shepherd
b779509bf0 [TLC-249] Identifier mock data updated in unit test 2023-02-07 17:03:49 +13:00
Kim Shepherd
b5c6e7f1b7 [TLC-249] Identifier mock data updated in unit test 2023-02-07 17:03:49 +13:00
Kim Shepherd
9471aa9897 [TLC-249] Update en.json5 with DOI status labels 2023-02-07 17:03:49 +13:00
Kim Shepherd
d6f458863f [TLC-249] Improve model of identifier data in workspace section 2023-02-07 17:03:49 +13:00
Kim Shepherd
39fb61ca85 [TLC-249] Lint fixes (imports, quotes) 2023-02-07 17:03:49 +13:00
Kim Shepherd
52a3776027 [TLC-249] Addressing review feedback #2
Update WorkspaceitemSectionIdentifiersObject model to include a
display types string array, so identifier types can be included or excluded
from the step as needed.

Update section template to work with the above new data

As per todonohue's feedback on 2022-01-18
2023-02-07 17:03:49 +13:00
Kim Shepherd
838cde4841 [TLC-249] Addressing review feedback
Adding comments and tidying some comments, imports
Expect text for status not integer
Send a 'type' parameter with a DOI registration
Rename item-status.register to registerDOI

As per todonohue's feedback on 2022-01-18
2023-02-07 17:03:49 +13:00
Kim Shepherd
d0b5fc257a [TLC-249] Update spec test for new config form data service 2023-02-07 17:03:49 +13:00
Kim Shepherd
21c9ef4ea2 [TLC-249] Ensure identifier data model mapped to type 2023-02-07 17:03:48 +13:00
Kim Shepherd
7795f92234 [TLC-249] Update data service usage since rebasing 2023-02-07 17:03:48 +13:00
Kim Shepherd
ed5ab710a3 [TLC-249] Update data service usage since rebasing 2023-02-07 17:03:48 +13:00
Kim Shepherd
8d70e1788b [TLC-249] Lint fixes 2023-02-07 17:03:48 +13:00
Kim Shepherd
e0c0d3c8e0 [TLC-337] Unit tests for register DOI component 2023-02-07 17:03:48 +13:00
Kim Shepherd
87bbe50732 [TLC-249] Linting 2023-02-07 17:03:48 +13:00
Kim Shepherd
5f6e20eaa4 [TLC-249] Register DOI operation and button in item status page 2023-02-07 17:03:47 +13:00
Kim Shepherd
a7586ca07a [TLC-249] LGTM unused import fixes 2023-02-07 17:01:39 +13:00
Kim Shepherd
0ab12d5ab5 [TLC-249] Lint fixes 2023-02-07 17:01:39 +13:00
Kim Shepherd
16fbc8e339 [TLC-249] Remove CRIS7 visibility refs from component, i18n 2023-02-07 17:01:39 +13:00
Kim Shepherd
0082d71658 [TLC-249] Show Identifier Step angular 7.x 2023-02-07 17:01:39 +13:00
Kim Shepherd
e8a53da766 [TLC-380] Fix item page field test to supply router 2023-02-07 15:30:14 +13:00
Kim Shepherd
ca6f799ee5 [TLC-380] Lint fixes on spec test 2023-02-07 15:30:14 +13:00
Kim Shepherd
7934118823 [TLC-380] Template link fixes, spec test fixes
Correct use of routerLink and queryParams
Removed unused method from browse service, specs
New spec tests for MetadataRepresentationListElementComponent
2023-02-07 15:30:14 +13:00
Kim Shepherd
5aab1af5f7 [TLC-380] Lint fixes 2023-02-07 15:30:14 +13:00
Kim Shepherd
63af2e079c [TLC-380] Refactor metadata rep list comp after rebase 2023-02-07 15:30:14 +13:00
Kim Shepherd
d86e8ed0a8 [TLC-380] Template link, spec test, doc fixup as per review 2023-02-07 15:30:14 +13:00
Kim Shepherd
6883b8c782 [TLC-380] Lint fixes for mock browse def service 2023-02-07 15:30:14 +13:00
Kim Shepherd
72afd0cafd [TLC-380] Simplify / strip browse service from components 2023-02-07 15:30:14 +13:00
Kim Shepherd
bf9041f25f [TLC-380] Fix mock service to return proper payload 2023-02-07 15:30:14 +13:00
Kim Shepherd
6ead2f0a7d [TLC-249] Lint fixes 2023-02-07 15:30:14 +13:00
Kim Shepherd
58673ed9ab [TLC-249] Lint fixes 2023-02-07 15:30:14 +13:00
Kim Shepherd
bdda84f884 [TLC-249] Larger refactor to field, item components for browse links 2023-02-07 15:30:14 +13:00
Kim Shepherd
2b1b2ef4cb [TLC-249] Fix circular dependency in browse services 2023-02-07 15:30:14 +13:00
Kim Shepherd
5ad635fb5a [TLC-380] Refactor browse links to use new /browses endpoint 2023-02-07 15:30:14 +13:00
Kim Shepherd
b80545642f [TLC-380] further browse link unit test fixes (waitForAsync) 2023-02-07 15:30:14 +13:00
Kim Shepherd
bc73032e45 [TLC-380] lint fix 2023-02-07 15:30:14 +13:00
Kim Shepherd
e74b77840c [TLC-380] Unit test (provider injection) fixes
(resolved conflict jan 16)
2023-02-07 15:30:14 +13:00
Kim Shepherd
4b5b438968 [TLC-380] Lint fixes 2023-02-07 15:30:14 +13:00
Kim Shepherd
3c48df6fe5 [TLC-380] Lint fixes 2023-02-07 15:30:14 +13:00
Kim Shepherd
928157f994 [TLC-380] Support browse links and regex links in metadata display
(resolved conflicts jan 2023)
2023-02-07 15:30:14 +13:00
Alexandre Vryghem
4cc98ae7be 99053: Added missing documentation 2023-02-06 22:53:50 +01:00
Marie Verdonck
014169ea37 Merge branch 'main' into w2p-97298_issue-3281_self-register-issue-main 2023-02-06 22:33:23 +01:00
Alexandre Vryghem
1b4bdba52d 99053: Fixed AdvancedWorkflowActionRatingComponent's rating from validation 2023-02-06 21:57:25 +01:00
Alexandre Vryghem
615c74288e 99053: Added DeclinedTask search result banner 2023-02-06 19:08:13 +01:00
Alexandre Vryghem
34e970827e 99053: Invalidate cache by default when performing the WorkflowItemActionPageComponent action 2023-02-06 18:47:15 +01:00
Tim Donohue
430b43581a Merge pull request #2074 from 4Science/CST-7221-var
[CST-7221] Opaque search bar
2023-02-06 10:04:19 -06:00
Alexandre Vryghem
ae5625458c Merge remote-tracking branch 'atmire/w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main
# Conflicts:
#	src/app/register-email-form/register-email-form.component.spec.ts
2023-02-06 16:58:30 +01:00
Alexandre Vryghem
6864ffb385 97298: Added form validator tests for restricted domains 2023-02-06 16:56:45 +01:00
corrado lombardi
67d401cc77 [CST-7755] updated PR to latest REST changes 2023-02-06 16:53:37 +01:00
Alexandre Vryghem
590297e307 Merge remote-tracking branch 'atmire/w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main
# Conflicts:
#	src/app/register-email-form/register-email-form.component.spec.ts
#	src/app/register-email-form/register-email-form.component.ts
2023-02-06 16:27:10 +01:00
corrado lombardi
aaf8f25fe5 Merge branch 'main' into CST-7755
# Conflicts:
#	src/app/shared/shared.module.ts
2023-02-06 15:30:07 +01:00
Davide Negretti
7a46e6d93c [CST-7757] Labels renamed 2023-02-06 11:40:13 +01:00
Davide Negretti
eae7b0d768 [CST-7757] Minor fixes 2023-02-06 11:40:13 +01:00
Alexandre Vryghem
a4e70baf97 Merge remote-tracking branch 'upstream/main' into w2p-98855_themeable-file-download-link_contribute-main
# Conflicts:
#	src/app/shared/shared.module.ts
#	src/app/shared/theme-support/themed.component.ts
#	src/themes/custom/eager-theme.module.ts
2023-02-06 11:09:19 +01:00
Davide Negretti
cbfddc68e6 Merge branch 'main-gh4s' into CST-7757
# Conflicts:
#	src/app/core/data/feature-authorization/feature-id.ts
2023-02-06 11:02:50 +01:00
Yana De Pauw
d56497edfa Merge remote-tracking branch 'upstream/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2023-02-06 11:00:55 +01:00
Davide Negretti
3bf5b9fd0b [CST-7221] Opaque search bar 2023-02-06 10:37:16 +01:00
Alexandre Vryghem
da1a20096b 98855: Remove temp themed ng-content container
This is problematic when ng-content is provided but it's not used
2023-02-06 10:27:04 +01:00
Davide Negretti
0dfb37d154 [CST-7757] Show object name 2023-02-06 10:24:08 +01:00
Davide Negretti
0f8d2d7b16 [CST-7757] D-W-M fixed 2023-02-06 10:23:44 +01:00
Davide Negretti
a4d94b0399 [CST-7757] Response parameters fixed; submit button disabled if frequency is missing 2023-02-06 10:23:32 +01:00
Davide Negretti
b1011edb3d [CST-7757] Remove subscription button from item pages 2023-02-06 10:23:24 +01:00
cris
03c2ecc24f Merge branch 'collection-in-workflow-tasks' of https://github.com/CrisGuzmanS/dspace-angular into collection-in-workflow-tasks 2023-02-04 21:29:45 +00:00
cris
ac7b5f841e collection is displayed below the submitter 2023-02-04 21:28:49 +00:00
cris
17841ed049 Merge branch 'main' of https://github.com/CrisGuzmanS/dspace-angular into collection-in-workflow-tasks 2023-02-04 19:03:22 +00:00
Cristian Emanuelle Guzmán Suárez
c9bf355237 Merge branch 'DSpace:main' into collection-in-workflow-tasks 2023-02-04 13:02:39 -06:00
Nathan Buckingham
6d99f51d78 Add test for xsrf and change to Post so xsrf is tested for validity 2023-02-03 15:45:44 -05:00
Tim Donohue
a150c64e2f Fix test configuration 2023-02-03 13:28:35 -06:00
Tim Donohue
bae63111e7 Refactor to two caches. One for bots and one for anonymous users 2023-02-03 12:59:13 -06:00
Alexandre Vryghem
22fbed760e 98863: Prevent retrieval of the domains on TYPE_REQUEST_FORGOT form & fixed error message when no emails are set 2023-02-03 18:21:06 +01:00
Agustina Martinez
e92c2209e9 Update recent-item-list.component.ts
Update PaginatedSearchOptions to only retrieve items
2023-02-02 23:39:50 +00:00
Nathan Buckingham
34c07fd904 w2p-99039 Add xsrf token to createShortLivedToken get request 2023-02-02 17:51:30 -05:00
Cristian Emanuelle Guzmán Suárez
b26d5fa13d adding role for ul and li
i have added roles for ul and li (tablist and tab)
2023-02-02 15:19:11 -06:00
Tim Donohue
36085e4854 Avoid caching a page twice in a row 2023-02-02 15:09:31 -06:00
Tim Donohue
048e5b012d Rename enableCache() to initCache() to make code easier to understand 2023-02-02 15:09:31 -06:00
Tim Donohue
f9810493c3 Remove unused import 2023-02-02 15:09:31 -06:00
Tim Donohue
2a7aa2b5c1 Updates to defaults of cache.control setting and enhanced comments 2023-02-02 15:09:31 -06:00
Tim Donohue
ee0ebebf14 Add missing test configs 2023-02-02 15:09:31 -06:00
Tim Donohue
0d4cf5e468 Update SSR caching to only work when unauthenticated. Enhance config comments 2023-02-02 15:09:31 -06:00
Tim Donohue
b0696a404d Add SSR caching via lru-cache. Update Cache-Control header to 1 week, but tell browsers not to cache index.html 2023-02-02 15:09:31 -06:00
Tim Donohue
485bb840ce Merge pull request #2028 from atmire/edit-metadata-redesign-PR
Edit metadata redesign
2023-02-02 15:06:58 -06:00
Yana De Pauw
bb7eef2631 Fix typo 2023-02-02 17:58:55 +01:00
Tim Donohue
e576551ff3 Merge pull request #2030 from atmire/w2p-97732_feature-context-help-service
Context help tooltips
2023-02-02 10:39:27 -06:00
Tim Donohue
0e6a6ce666 Merge pull request #1999 from atmire/w2p-97183_fix-user-authorization-issues-with-admin-sidebar
Fix user authorization issues with admin sidebar
2023-02-02 10:35:10 -06:00
Giuseppe Digilio
24fa3b1271 Merge branch 'CST-7217' of github.com:4Science/dspace-angular into CST-7217 2023-02-02 17:32:42 +01:00
Giuseppe Digilio
25dc0ab239 [CST-7217] Use short number pipe and fix badge alignment 2023-02-02 17:31:27 +01:00
Yana De Pauw
b4b927e2d8 Merge remote-tracking branch 'upstream/main' into w2p-97425_System-wide-alerts 2023-02-02 17:14:19 +01:00
Alexandre Vryghem
581afbbbb6 99053: Hide return to pool button for second step of SelectSingleReviewer 2023-02-02 17:13:56 +01:00
Alexandre Vryghem
bd152dc074 99053: Fixed previous page not always returning the correct value
- Fixed previousPage not correctly redirecting to urls with queryParams
- Fixed previousPage returning to wrong page because of ReviewersListComponent
2023-02-02 17:12:56 +01:00
Yana De Pauw
3763e43000 Remove flex-wrap 2023-02-02 17:09:07 +01:00
Yana De Pauw
36e10f87b3 97425: Fix minor issues 2023-02-02 16:22:59 +01:00
Giuseppe Digilio
29b9bb048d [CST-7217] Implement short number pipe 2023-02-02 15:54:04 +01:00
lotte
3faf244259 Merge branch 'main' into w2p-97184_theme-feedback_contribute-main 2023-02-02 14:35:13 +01:00
Yura Bondarenko
b3060707dd Make ThemedComponent reproject slots to wrapped component 2023-02-02 12:04:57 +01:00
Giuseppe Digilio
078ce10922 Merge branch 'main' into CST-7217 2023-02-02 11:53:32 +01:00
Kristof De Langhe
d5d9b40c32 Merge branch 'edit-metadata-redesign-7.4' into edit-metadata-redesign-PR 2023-02-02 11:45:07 +01:00
Kristof De Langhe
e880062cfd 97742: Add missing export 2023-02-02 11:44:55 +01:00
Kristof De Langhe
90a3e85fce Merge branch 'main' into edit-metadata-redesign-PR 2023-02-02 10:57:50 +01:00
Kristof De Langhe
aece5930cc Merge branch 'edit-metadata-redesign-7.4' into edit-metadata-redesign-PR 2023-02-02 10:57:20 +01:00
Kristof De Langhe
ff455b57ea Merge branch 'w2p-97075_Edit-metadata-redesign' into edit-metadata-redesign-7.4 2023-02-02 10:56:27 +01:00
Tim Donohue
34ee3cfdee Merge pull request #2062 from CrisGuzmanS/issue/1190
fixed ID 470077. Purpose of the link is not clear in context
2023-02-01 16:54:42 -06:00
Tim Donohue
99ba1d394d Merge pull request #2053 from toniprieto/trad-ca
Catalan translation
2023-02-01 16:14:32 -06:00
Tim Donohue
1c1804f6df Merge pull request #2052 from toniprieto/trad-es
Update spanish translation
2023-02-01 16:05:19 -06:00
Yury Bondarenko
38a058d7af Add configuration option to disable inlined CSS in SSR HTML
When inlining CSS, Angular Universal needs to extract critical styles.
This seems to take up a significant chunk of processing time.

However, loading may appear less smooth when this feature is disabled.

Added to the configuration to make it easier to A/B test this without a full re-build.
2023-02-01 17:09:22 +01:00
Alexandre Vryghem
80670855ff 98855: Added themeable FileDownloadLinkComponent to custom theme 2023-02-01 16:44:43 +01:00
Alexandre Vryghem
4fb914b51c 98855: Themed FileDownloadLinkComponent 2023-02-01 16:44:43 +01:00
Tim Donohue
ce096496eb Merge pull request #2065 from atmire/single-page-of-bitstreams-for-citation-pdf-url-tag
Only check 1 page of bitstreams when generating the citation_pdf_url tag
2023-01-31 14:34:21 -06:00
Art Lowel
4eb00d67c5 only check the first page of bitstreams when generating the citation_pdf_url meta tag 2023-01-31 18:36:20 +01:00
Alexandre Vryghem
c6ecc0cbd4 98891: DsDynamicLookupRelationSearchTabComponent should have the form value already filled in the search input 2023-01-31 15:51:55 +01:00
Alexandre Vryghem
fbeaec1a54 98891: Make it possible to provide query to SearchComponent 2023-01-31 15:16:44 +01:00
Kristof De Langhe
47f05bf11d 97742: Feedback 2023-01-27 - Table roles and aria attributes + additional feedback changes 2023-01-31 13:33:29 +01:00
Yana De Pauw
38063d617e 97425: Implement feedback 2023-01-31 13:06:03 +01:00
Mykhaylo
b09de30272 [CST-7757] renamed param 2023-01-31 10:20:19 +01:00
cris
14dfd6d9b8 aria-selected added to item edit tab 2023-01-30 21:44:38 +00:00
Cristian Emanuelle Guzmán Suárez
fbc384deec Merge branch 'DSpace:main' into issue/1190 2023-01-30 15:03:24 -06:00
Tim Donohue
933a4aee26 Merge pull request #2049 from 4Science/CST-8165
CST-8165 show logo when browsing collections
2023-01-30 14:50:45 -06:00
cris
471744679a Merge branch 'main' of https://github.com/CrisGuzmanS/dspace-angular into issue/1190 2023-01-30 19:31:57 +00:00
cris
53dfca0056 fixed issue #1190 with id 470077 2023-01-30 19:31:54 +00:00
Tim Donohue
99885e5187 Merge pull request #2060 from CrisGuzmanS/space-in-spanish-version
adding space in es.json5 for pagination.showing.label
2023-01-30 09:02:39 -06:00
cris
7574f828ba adding space in es.json5 for pagination.showing.detail 2023-01-28 18:23:33 +00:00
cris
328b16c1e4 formatting issues fixed 2023-01-28 17:58:51 +00:00
cris
8eab0f743f The collection is displayed in the workflow task 2023-01-28 17:48:39 +00:00
Tim Donohue
480370b8ed Merge pull request #2054 from DSpace/dependabot/npm_and_yarn/ua-parser-js-0.7.33
Bump ua-parser-js from 0.7.32 to 0.7.33
2023-01-27 16:31:53 -06:00
Koen Pauwels
ac5a359b1d Merge branch 'feature-context-help-7.4' into w2p-97732_feature-context-help-service 2023-01-27 13:32:55 +01:00
Koen Pauwels
1e85e1d88b 97732 Fix header search icon hover color 2023-01-27 12:30:42 +01:00
Koen Pauwels
2fb3f6e62f Merge branch 'feature-context-help-7.2' into feature-context-help-7.4 2023-01-27 12:12:10 +01:00
Koen Pauwels
bceca43580 97732 Context help toggle button only appears when there is at least one element with a tooltip on the page 2023-01-27 11:59:24 +01:00
Koen Pauwels
e717e610f9 97732 Header buttons now behave consistently on hover 2023-01-27 11:03:18 +01:00
Marie Verdonck
81d21e25c2 98863: IT fix 2023-01-26 16:13:21 +01:00
Marie Verdonck
1ea1f7eaa0 Merge branch 'w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main
# Conflicts:
#	src/app/register-email-form/register-email-form.component.ts
2023-01-26 15:42:04 +01:00
Yana De Pauw
b4273fa734 97425: Implement feedback 2023-01-26 15:41:45 +01:00
Marie Verdonck
31d86eeb8c 98863: Domain validator fix + error message 2023-01-26 15:18:50 +01:00
Alexandre Vryghem
d3832326a5 Merge remote-tracking branch 'atmire/w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main
# Conflicts:
#	src/app/register-email-form/register-email-form.component.ts
#	src/assets/i18n/en.json5
2023-01-26 10:31:40 +01:00
Alexandre Vryghem
0d7a030960 98863: Fixed typo and added domain name validation on input field 2023-01-26 10:30:24 +01:00
Tim Donohue
b29dd6d24f Merge pull request #2037 from atmire/fully-qualified-sitemap-urls-7.5-next
Add support for fully qualified sitemap urls
2023-01-25 14:27:30 -06:00
Marie Verdonck
b0d5fc5c0c Merge branch 'w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main
# Conflicts:
#	src/app/register-email-form/register-email-form.component.ts
2023-01-25 17:08:01 +01:00
Marie Verdonck
66c6872b00 97061: type request param name change to avoid confusion with rest object type & non valid email domain error code changed 2023-01-25 16:02:37 +01:00
lotte
3a6c2a4a8d Ran lint fixes 2023-01-25 09:30:50 +01:00
lotte
0a889f67b6 Merge branch 'w2p-97184_theme-feedback_contribute-7.4' into w2p-97184_theme-feedback_contribute-main 2023-01-25 09:13:05 +01:00
lotte
7cedb9415f Merge branch 'w2p-97184_theme-feedback_contribute-7.2' into w2p-97184_theme-feedback_contribute-7.4 2023-01-25 09:12:48 +01:00
lotte
c294ddf565 Fixed issue with detail page badges 2023-01-25 09:11:46 +01:00
lotte
2ff7ea43cf Fixed import issue 2023-01-25 09:10:26 +01:00
lotte
99e83b3e70 Merge branch 'w2p-97184_theme-feedback_contribute-7.4' into w2p-97184_theme-feedback_contribute-main 2023-01-24 18:18:35 +01:00
lotte
3a2f15d1ef Fixed issues with badges and moved access status into ds-badges 2023-01-24 18:13:50 +01:00
dependabot[bot]
a8f5457a2f Bump ua-parser-js from 0.7.32 to 0.7.33
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.32 to 0.7.33.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.32...0.7.33)

---
updated-dependencies:
- dependency-name: ua-parser-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-24 15:40:12 +00:00
Kristof De Langhe
1f7d7618d5 Merge branch 'main' into edit-metadata-redesign-PR 2023-01-24 16:18:46 +01:00
Tim Donohue
d91b876bf6 Merge pull request #1995 from mspalti/item-back-button
Back to results button in item view
2023-01-24 09:14:00 -06:00
Kristof De Langhe
c2909de99e Merge branch 'main' into edit-metadata-redesign-PR 2023-01-24 15:59:19 +01:00
Kristof De Langhe
d6342ca393 Merge branch 'edit-metadata-redesign-7.4' into edit-metadata-redesign-PR 2023-01-24 15:29:57 +01:00
Kristof De Langhe
c8d03bc336 Merge branch 'w2p-97075_Edit-metadata-redesign' into edit-metadata-redesign-7.4 2023-01-24 15:29:33 +01:00
Kristof De Langhe
018c74def4 97742: Disable drag & bigger textarea on metadata edit 2023-01-24 15:28:57 +01:00
lotte
36b4d08779 Put accidentally moved components back 2023-01-24 14:23:48 +01:00
lotte
666ffda1df Fixed merge issue 2023-01-24 13:48:04 +01:00
lotte
eccd67d131 Merge branch 'w2p-97184_theme-feedback_contribute-7.2' into w2p-97184_theme-feedback_contribute-7.4 2023-01-24 13:47:35 +01:00
lotte
a475fa10be Fixed more tests and imports 2023-01-24 13:28:02 +01:00
Yana De Pauw
715d3ae014 Fix issues with module changes 2023-01-24 11:24:13 +01:00
Yana De Pauw
45248b4ee8 Merge remote-tracking branch 'upstream/main' into w2p-97425_System-wide-alerts 2023-01-24 10:25:58 +01:00
lotte
906c26bbe4 Revert "Made ListableObjectComponentLoaderComponent themeable"
This reverts commit a4679ca7
2023-01-24 09:51:33 +01:00
lotte
1f2897664a Fixing tests 2023-01-24 09:30:45 +01:00
lotte
d7b38b2a78 Fixed issues with new badges 2023-01-24 08:24:37 +01:00
Michael Spalti
db9a6e4a86 Minor comment update. 2023-01-23 11:04:19 -08:00
Michael Spalti
3ca8ce5098 Added regex property to item component 2023-01-23 10:59:27 -08:00
Alexandre Vryghem
d49ae535a1 98819: Added StartsWithDateComponent & StartsWithTextComponent to custom folder 2023-01-23 18:24:14 +01:00
Yana De Pauw
54ef5b8c3b 97425: Fix issue when no previous alert is present 2023-01-23 17:25:49 +01:00
lotte
69342e7f69 Merge branch 'w2p-97184_theme-feedback_contribute-7.2' into w2p-97184_theme-feedback_contribute-7.4 2023-01-23 16:58:52 +01:00
lotte
85562679a2 Refactored item list badges 2023-01-23 16:54:16 +01:00
Yana De Pauw
3e8cb4f3d9 97425: Implement feedback 2023-01-23 16:48:47 +01:00
lotte
a27a27905f Merge branch 'w2p-97184_theme-feedback_contribute-7.4' into w2p-97184_theme-feedback_contribute-main 2023-01-23 13:48:47 +01:00
lotte
4682507b25 Fixed in/outputs that changed for themed components 2023-01-23 13:48:30 +01:00
lotte
7ac4fbc387 Merge branch 'w2p-97184_theme-feedback_contribute-7.2' into w2p-97184_theme-feedback_contribute-7.4 2023-01-23 13:32:39 +01:00
lotte
ff98a9bcd8 Fixed ThemedListableObjectComponentLoader 2023-01-23 13:32:25 +01:00
lotte
7abcea1d03 Merge branch 'w2p-97184_theme-feedback_contribute-7.4' into w2p-97184_theme-feedback_contribute-main 2023-01-23 12:54:14 +01:00
lotte
ab0ff30886 Merge branch 'main' into w2p-97184_theme-feedback_contribute-main 2023-01-23 12:48:37 +01:00
lotte
5351ba6c55 Merge branch 'dspace-7.4' into w2p-97184_theme-feedback_contribute-7.4 2023-01-23 12:46:38 +01:00
lotte
a4679ca7e5 Made ListableObjectComponentLoaderComponent themeable 2023-01-23 12:33:01 +01:00
lotte
6114337660 Split up process module to be importable 2023-01-23 12:16:05 +01:00
Michael W Spalti
1b33936ee5 Label as input parameter to button component 2023-01-21 16:37:57 -08:00
Michael W Spalti
924c67ea5f lint fix 2023-01-21 14:01:17 -08:00
Michael W Spalti
67531ea48c Updated test and custom theme module. 2023-01-21 13:51:13 -08:00
Michael W Spalti
52163b30b8 Added component to custom theme's lazy-theme.module 2023-01-21 13:23:17 -08:00
Michael W Spalti
c87964cc29 Changed module exports; fixes intermittent build failure. 2023-01-21 12:49:58 -08:00
Michael W Spalti
886b59b5e6 lint fix 2023-01-21 12:02:47 -08:00
Michael W Spalti
1efb0b908f Merge branch 'item-back-button' of https://github.com/mspalti/dspace-angular into item-back-button 2023-01-21 11:57:41 -08:00
Michael W Spalti
fbeba91d7f Defining back logic in parent 2023-01-21 11:54:40 -08:00
Michael Spalti
44d88aca9a Merge branch 'main' into item-back-button 2023-01-21 04:42:09 -08:00
Michael Spalti
4f476adbc1 Updated themed component. 2023-01-21 04:39:11 -08:00
Toni Prieto
6dc4f58dec Update es.json5 2023-01-21 12:59:17 +01:00
Toni Prieto
f6a95e692f Enable Catalan language 2023-01-21 12:52:49 +01:00
Toni Prieto
636b4f8a29 Catalan translation 2023-01-21 12:52:43 +01:00
Michael Spalti
ec73f1c1a6 Merge branch 'main' into item-back-button 2023-01-20 16:28:57 -08:00
Michael Spalti
6e052af1f0 moved view logic back to ItemComponent 2023-01-20 16:11:56 -08:00
Tim Donohue
d0aa6cedd7 Merge pull request #2032 from mspalti/fix-login-menu
Ignore IP authentication method in login component.
2023-01-20 16:13:03 -06:00
Tim Donohue
a8a35d1645 Merge pull request #2040 from atmire/Duplicate-GA-page-view-fix
Fix duplicate GA page_view events
2023-01-20 16:00:16 -06:00
Michael Spalti
00bf90d8ea lint fix 2023-01-20 11:52:17 -08:00
Michael Spalti
549735795b Merge branch 'main' into item-back-button 2023-01-20 11:35:40 -08:00
Michael Spalti
f8d0dab747 fixed issue with browse back button 2023-01-20 11:34:26 -08:00
Koen Pauwels
40de69dfec 97732 ContextHelpToggleComponent: added typedoc and removed unnecessary dependency 2023-01-20 14:33:00 +01:00
Giuseppe Digilio
ad9bdd6e45 Merge branch 'main' into CST-5337
# Conflicts:
#	src/assets/i18n/en.json5
2023-01-20 08:29:28 +01:00
Kristof De Langhe
853d4e4d3c 97287: Test fix 2023-01-19 17:48:01 +01:00
Alexandre Vryghem
660a6dbd56 98661: Created themeable FullFileSectionComponent 2023-01-19 15:33:18 +01:00
Giuseppe Digilio
366907a9c4 Merge remote-tracking branch 'origin/main' into CST-7755
# Conflicts:
#	src/assets/i18n/en.json5
2023-01-19 13:03:48 +01:00
Andrea Barbasso
d852ca0816 CST-8165 show logo when browsing collections 2023-01-19 12:07:45 +01:00
Alexandre Vryghem
7ef40cceda Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-actions-loader/advanced-workflow-actions-loader.component.spec.ts
2023-01-18 21:00:14 +01:00
Tim Donohue
112e93e4bf Merge pull request #2013 from 4Science/CST-7694
Group description edit
2023-01-18 13:27:51 -06:00
Tim Donohue
c7aff004b6 Merge pull request #1988 from atmire/issue-815-controlled-vocabulary-hierarchical-facets-7.4
Issue 815 controlled vocabulary hierarchical facets 7.4
2023-01-18 11:48:44 -06:00
Alexandre Vryghem
940c6281a2 98535: Added missing tests to the new advanced workflow components 2023-01-18 17:27:19 +01:00
jeffmorin
2b8c377512 Merge branch 'DSpace:main' into main 2023-01-18 08:34:57 -05:00
Alexandre Vryghem
8844b1b2c3 Merge remote-tracking branch 'upstream/main' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/shared/shared.module.ts
2023-01-18 13:54:31 +01:00
Alexandre Vryghem
a36b57661f Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/core/core.module.ts
#	src/app/workflowitems-edit-page/advanced-workflow-action/advanced-workflow-action-select-reviewer/reviewers-list/reviewers-list.component.spec.ts
2023-01-18 13:52:25 +01:00
Alexandre Vryghem
572f5ac4c5 98535: Added missing tests to the new advanced workflow components 2023-01-18 13:45:04 +01:00
Alexandre Vryghem
fe61bb7b6b 98535: Cleaned up code & added documentation 2023-01-18 12:27:06 +01:00
kshepherd
105e4b6c13 Merge pull request #2045 from atmire/clean-angular-cli-cache-7.4
Add a yarn clean script for the .angular/cache folder
2023-01-18 10:35:10 +13:00
Art Lowel
ace396a31f add yarn clean script for the .angular/cache folder 2023-01-17 17:23:29 +01:00
Koen Pauwels
f13b67e8ad 97732 Fix linter issues 2023-01-16 18:11:40 +01:00
Koen Pauwels
711e2e1e7c 97732 Fix linter issues 2023-01-16 18:07:39 +01:00
Koen Pauwels
2ff8664b0f 97732 Fix linter issues 2023-01-16 17:56:09 +01:00
jeffmorin
18f913e35f Merge branch 'DSpace:main' into main 2023-01-16 11:11:38 -05:00
Koen Pauwels
bbdb964923 Merge remote-tracking branch 'dspace/main' into w2p-97732_feature-context-help-service 2023-01-16 15:58:05 +01:00
Koen Pauwels
e5cc565327 97732 Fix flaky test for ContextHelpToggleComponent 2023-01-16 14:27:56 +01:00
Koen Pauwels
950952383c 97732 Fix flaky test for ContextHelpToggleComponent 2023-01-16 14:14:02 +01:00
Koen Pauwels
b38e1e0367 97732 Fix flaky test for ContextHelpToggleComponent 2023-01-16 14:13:01 +01:00
aroman-arvo
6523b02913 DS-8408: Edit item is ordered by relevance 2023-01-16 13:09:05 +01:00
Koen Pauwels
98f8aaf30c Merge branch 'feature-context-help-7.4' into w2p-97732_feature-context-help-service 2023-01-16 12:24:29 +01:00
Koen Pauwels
fd080c2366 Merge branch 'feature-context-help-7.2' into feature-context-help-7.4 2023-01-16 12:24:05 +01:00
Koen Pauwels
bed14c6b06 97732 ContextHelpWrapper: changed tooltip link color 2023-01-16 12:23:12 +01:00
Koen Pauwels
12dd605706 Merge branch 'feature-context-help-7.2' into feature-context-help-7.4 2023-01-16 11:39:10 +01:00
Koen Pauwels
04f4d74ed0 Merge branch 'feature-context-help-7.4' into w2p-97732_feature-context-help-service 2023-01-16 11:38:05 +01:00
Koen Pauwels
0cdf4b9c3e Merge branch 'feature-context-help-7.2' into feature-context-help-7.4 2023-01-16 11:11:33 +01:00
Koen Pauwels
7812eecb53 97732 Fix linter issues 2023-01-16 11:07:47 +01:00
Koen Pauwels
f170d751c9 Merge branch 'feature-context-help-7.4' into w2p-97732_feature-context-help-service 2023-01-16 10:37:53 +01:00
Koen Pauwels
674fb24115 Merge branch 'feature-context-help-7.2' into feature-context-help-7.4 2023-01-16 10:26:00 +01:00
Giuseppe Digilio
5a71b0cfac Merge branch 'main' into CST-7755 2023-01-16 10:13:46 +01:00
Giuseppe Digilio
28351f2ac7 [CST-7757] Fix merge with main 2023-01-16 09:55:56 +01:00
Jens Vannerum
e40cd20287 97049: Disable the vocabulary by default 2023-01-16 09:55:52 +01:00
Adán Román Ruiz
4e0a0a0105 Merge branch 'DSpace:main' into DS-8408 2023-01-16 09:54:22 +01:00
Koen Pauwels
bcbfafcb32 97732 Context help button now disabled when there are no tooltips available on the page 2023-01-16 09:36:57 +01:00
Giuseppe Digilio
1cc03f4b86 Merge branch 'main' into CST-7757
# Conflicts:
#	src/app/shared/shared.module.ts
2023-01-16 09:19:01 +01:00
Giuseppe
5aa9d3d29d Merge branch 'main' into CST-7217 2023-01-16 09:06:07 +01:00
Michael W Spalti
624e059a4c Merge branch 'main' into fix-login-menu 2023-01-13 12:12:55 -08:00
Michael W Spalti
055787ee55 Merge branch 'main' into item-back-button 2023-01-13 10:17:03 -08:00
Koen Pauwels
6bee69bc3f 97732 Completed ContextHelpWrapper tests 2023-01-13 15:45:54 +01:00
Yana De Pauw
e2087ad952 Fix merge issues 2023-01-13 14:35:40 +01:00
Yana De Pauw
419cb947d9 Merge remote-tracking branch 'upstream/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2023-01-13 14:35:35 +01:00
Koen Pauwels
84c8b7690a 97732 ContextHelpToggleComponent tests 2023-01-13 14:05:33 +01:00
Koen Pauwels
f7787d74bc 97732 Tests for ContextHelpService 2023-01-13 12:28:41 +01:00
Jens Vannerum
e0cadec2c2 97049: Group keys together 2023-01-13 12:14:43 +01:00
jensvannerum
065d816b3d Merge branch 'main' into issue-815-controlled-vocabulary-hierarchical-facets-7.4 2023-01-13 11:33:04 +01:00
Michael Spalti
99ada45288 removed unused property 2023-01-12 18:46:57 -08:00
Michael Spalti
0fe9665026 removed code repetition 2023-01-12 18:42:59 -08:00
Tim Donohue
7a82b08ba7 Merge pull request #1949 from 4Science/CST-7392
Login menu refactoring
2023-01-12 14:51:40 -06:00
jeffmorin
97c6bf5386 Merge branch 'DSpace:main' into main 2023-01-12 14:10:57 -05:00
Jean-François Morin
9677de735c Fixed code style errors 2023-01-12 13:56:47 -05:00
Jean-François Morin
9533713a3d Synchronized API update with REST layer + i18n update in Greek and Ukrainian files 2023-01-12 11:37:45 -05:00
Tim Donohue
ee560d297a Merge pull request #2006 from mwoodiupui/2005
Catch and report errors from non-JSON responses to authentication requests.
2023-01-12 10:32:17 -06:00
Kristof De Langhe
9b9d9518c5 Merge branch 'main' into w2p-97287_Duplicate-GA-page-view-fix 2023-01-12 17:06:19 +01:00
Kristof De Langhe
1062dc4341 97287: Remove unused import 2023-01-12 17:06:15 +01:00
Kristof De Langhe
953213ac4f Merge branch 'main' into edit-metadata-redesign-PR 2023-01-12 17:02:09 +01:00
Davide Negretti
0dd6333e05 [CST-7392] [DSC-773] login menu refactoring 2023-01-12 15:52:22 +01:00
Jean-François Morin
bc730394c6 Merge branch 'main' of github.com:jeffmorin/dspace-angular 2023-01-12 08:59:08 -05:00
Sufiyan Shaikh
4d2522a69a [CST-7755] Build Failded Fixed 2023-01-12 19:00:44 +05:30
corrado lombardi
697407a71c Merge branch 'CST-7755' of github.com:4Science/dspace-angular into CST-7755 2023-01-12 12:35:56 +01:00
corrado lombardi
c9ad080c04 Merge branch 'main' into CST-7755
# Conflicts:
#	src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts
#	src/app/shared/shared.module.ts
2023-01-12 12:26:45 +01:00
Tim Donohue
793bed30bc Merge pull request #1973 from 4Science/CST-7604
Restored highlighting of title in search results
2023-01-11 16:36:46 -06:00
Michael Spalti
65af3973ba fixed lint error 2023-01-11 12:03:19 -08:00
Alexandre Vryghem
f1bc30c695 Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main 2023-01-11 20:53:50 +01:00
Michael Spalti
357525e68a Ignore IP authentication method in login component.
lint fix

using enum

Simplified assignment.
2023-01-11 11:53:39 -08:00
Marie Verdonck
bd2135bcd2 98376: scoreReview workflow - slight refactor REST changes 2023-01-11 20:52:52 +01:00
Alexandre Vryghem
6acbb7ec0e Merge branch 'w2p-98211_advanced-workflow-actions-7.2' into w2p-98211_advanced-workflow-actions-main
# Conflicts:
#	src/app/access-control/access-control.module.ts
#	src/app/access-control/group-registry/group-form/eperson-list/eperson-list.component.spec.ts
#	src/app/access-control/group-registry/group-form/eperson-list/eperson-list.component.ts
#	src/app/access-control/group-registry/group-form/members-list/members-list.component.ts
#	src/assets/i18n/en.json5
2023-01-11 20:40:40 +01:00
Alexandre Vryghem
11b6ec9a9e 98376: Replaced EPersonListComponent with MembersListComponent & display error for empty reviewers list 2023-01-11 20:28:54 +01:00
Tim Donohue
bbdef724e8 Merge pull request #2038 from tdonohue/datacite_i18n_key
Add DataCite to i18n list of sources
2023-01-11 13:13:30 -06:00
Tim Donohue
6396e6a585 Add DataCite to i18n list of sources 2023-01-11 12:33:26 -06:00
Adán Román Ruiz
f790d29355 Merge branch 'main' into DS-8408 2023-01-11 19:13:54 +01:00
Alexandre Vryghem
cd0019eb8a Merge branch 'main-upstream' into w2p-98211_advanced-workflow-actions 2023-01-11 18:24:30 +01:00
Art Lowel
266931f55f Merge remote-tracking branch 'upstream/main' into fully-qualified-sitemap-urls-7.5-next 2023-01-11 17:51:58 +01:00
Art Lowel
5c77f500dc Merge tag 'dspace-7.4' into fully-qualified-sitemap-urls-7.4 2023-01-11 17:39:22 +01:00
lotte
bcb27f666a replace ds-search-sidebar with ds-themed-search-sidebar 2023-01-11 15:14:19 +01:00
Kristof De Langhe
35a9e7cdc9 Merge remote-tracking branch 'dspace/main' into w2p-98422_Thumbnail-uploader_contribute-7.2 2023-01-11 15:03:27 +01:00
Kristof De Langhe
4ba64fdfcc 98422: Remove unused import 2023-01-11 14:55:16 +01:00
Kristof De Langhe
de7fcb30da 98422: Themed component import fixes 2023-01-11 14:49:21 +01:00
lotte
cb982d6552 Made SearchSidebarComponent themeable 2023-01-11 14:46:37 +01:00
Kristof De Langhe
c3d71cbdd6 98422: Themed ItemStatusComponent and EditBitstreamPageComponent 2023-01-11 14:18:20 +01:00
Alexandre Vryghem
7cee2aac6f 98376: Added rating button to ratingreviewaction claimed task and created page 2023-01-11 12:40:54 +01:00
lotte
7926277acd added new input to ThemedSearchFiltersComponent 2023-01-11 11:24:42 +01:00
lotte
e135b014be Merge branch 'main' into w2p-97184_theme-feedback_contribute-7.2 2023-01-11 10:56:11 +01:00
lotte
9fdac08c67 removed unnecessary text in html file 2023-01-11 10:53:32 +01:00
lotte
9979d8664d Made SearchFiltersComponent themeable 2023-01-11 10:27:30 +01:00
corrado lombardi
fec3f0909f Merge remote-tracking branch 'origin/CST-7604' into CST-7604 2023-01-11 08:51:45 +01:00
Tim Donohue
6e53117d4b Merge pull request #2020 from DSpace/dependabot/npm_and_yarn/json5-2.2.2
Bump json5 from 2.2.1 to 2.2.2
2023-01-10 16:58:35 -06:00
Tim Donohue
0d149a3ae4 Merge pull request #2029 from atmire/Fix-breadcrumb-css-issue
Fix breadcrumb css issue
2023-01-10 16:20:21 -06:00
Nikunj Sharma
5660e7dc70 [CST-7604] test cases update 2023-01-11 02:46:20 +05:30
Tim Donohue
6c63af33d8 Merge pull request #1967 from yingjin/DA-8586
Add captioning support for video/audio files
2023-01-10 13:17:13 -06:00
Tim Donohue
2fbfdd0483 Merge pull request #2031 from ybnd/fix-klaro-i18n
Fix Klaro i18n messages
2023-01-10 12:04:16 -06:00
Giuseppe Digilio
736c92cd8d Merge branch 'main' into CST-7755 2023-01-10 18:48:33 +01:00
Tim Donohue
1cb1e31a59 Merge pull request #2022 from atmire/w2p-96252_Reduce-main-bundle-size_Reorganize-shared-module-pt2
Reorganize shared module to reduce main bundle size - part 2
2023-01-10 11:45:48 -06:00
Alexandre Vryghem
ef9373baec 98376: Fixed collection-roles page for collections with single workflowGroup 2023-01-10 17:56:32 +01:00
Alexandre Vryghem
36891ef3bf 98204: Edit collection assign roles tab breaks when no workflow groups 2023-01-10 16:40:37 +01:00
corrado lombardi
99f8a314df Merge remote-tracking branch 'origin/CST-7604' into CST-7604 2023-01-10 15:28:50 +01:00
Nikunj Sharma
b7b2803f6e [CST-7604] added hithighlight for person and orgunit 2023-01-10 19:56:32 +05:30
Nikunj Sharma
f9f3ad32c7 [CST-7604] added hithighlight for person and orgunit 2023-01-10 19:37:06 +05:30
Alexandre Vryghem
b351053489 98344: Fixed workflow id passed to backend instead of claimed task id 2023-01-10 14:10:44 +01:00
Nikunj Sharma
fc2c7c5e69 Merge remote-tracking branch 'origin/main' into CST-7604 2023-01-10 16:24:04 +05:30
Alexandre Vryghem
f4a303f808 98344: Added decline task simple workflow step 2023-01-09 23:20:14 +01:00
Alexandre Vryghem
5a5884dd1a 98344: Implemented the Select reviewers advanced step 2023-01-09 22:01:33 +01:00
Alexandre Vryghem
a03a150015 98211: Added tests 2023-01-09 22:01:33 +01:00
Koen Pauwels
cad4f74173 Moved tests from ContextHelpDirective to ContextHelpWrapperComponent and added more tests 2023-01-09 17:15:07 +01:00
Yury Bondarenko
463bcb40e9 Remove stray console.log 2023-01-09 16:47:24 +01:00
Yury Bondarenko
a7a6d1b27a Fix Klaro i18n issue
Caused by a merge mistake in https://github.com/DSpace/dspace-angular/pull/1975
2023-01-09 16:47:05 +01:00
Kristof De Langhe
1c11b9813c 97287: Fix GA page-view requests 2023-01-09 15:59:48 +01:00
Jean-François Morin
be97cad421 Resolved conflict on pl.json5 2023-01-09 09:38:05 -05:00
Koen Pauwels
365b0208d9 Tests for ContextHelpDirective 2023-01-09 11:37:29 +01:00
Alexandre Vryghem
1a8320c4f7 98211: Added ModifyItemOverviewComponent & confirm action button to AdvancedWorkflowActionSelectReviewerComponent 2023-01-06 16:50:52 +01:00
Alexandre Vryghem
947658dd08 98211: Created advanced workflow task pages 2023-01-06 16:50:52 +01:00
Koen Pauwels
72fb37f4c5 Merge remote-tracking branch 'dspace/main' into w2p-97732_feature-context-help-service 2023-01-06 11:38:40 +01:00
Koen Pauwels
0676b5aebb Merge tag 'dspace-7.4' into feature-context-help-7.4 2023-01-06 11:13:41 +01:00
Yana De Pauw
827ab4d49e Yarn lock change 2023-01-06 10:07:23 +01:00
Yana De Pauw
3daec441f2 Merge remote-tracking branch 'upstream/main' into w2p-97425_System-wide-alerts 2023-01-06 10:04:35 +01:00
yingjin
9627ebb13b Merge branch 'DSpace:main' into DA-8586 2023-01-05 16:41:47 -06:00
Ying Jin
68a3c8a4b2 change typo from minetype to mimetype 2023-01-05 16:31:42 -06:00
Tim Donohue
95b8dc3c11 Merge pull request #1923 from 4Science/CST-6171
Customizability of theme colours
2023-01-05 15:00:41 -06:00
Koen Pauwels
8850f005b4 97732 Fixed button hover color issue in header 2023-01-05 15:05:42 +01:00
Koen Pauwels
84c053575f 97732 Some example tooltips for the edit group page 2023-01-05 15:05:42 +01:00
Koen Pauwels
5a1e57408f 97732 Fixed some display issues 2023-01-05 15:05:42 +01:00
Koen Pauwels
920e36ecf2 97732 Fixed bug where ContextHelpWrapperComponent subscriptions would not properly be initialized if the application launches with help icons hidden by default 2023-01-05 15:05:42 +01:00
Koen Pauwels
e16a3edf78 97732 ContextHelpToggleComponent added 2023-01-05 15:05:42 +01:00
Koen Pauwels
5ba45cb0fa 97732 Context help service, changes to directive and component 2023-01-05 15:05:42 +01:00
Koen Pauwels
c156e1ca6f 97732 Context help model, actions and reducer 2023-01-05 15:05:42 +01:00
Koen Pauwels
10bf18fe29 97399 WIP: Tests for ContextHelpDirective 2023-01-05 15:05:32 +01:00
Kristof De Langhe
5da65b3c79 97742: Revert accidental dspace-angular version 2023-01-05 13:42:25 +01:00
Yana De Pauw
6fb4cce104 Merge remote-tracking branch 'upstream/main' into Fix-breadcrumb-css-issue 2023-01-05 13:37:43 +01:00
Yana De Pauw
e5082ffa1f Remove unneeded important 2023-01-05 13:30:28 +01:00
Yana De Pauw
594f8eaa77 Fix breadcrumb color css 2023-01-05 13:18:36 +01:00
Kristof De Langhe
8cbf3511bb 97742: Lint fixes 2023-01-05 13:13:40 +01:00
Kristof De Langhe
9af8b17f81 Merge branch 'edit-metadata-redesign-7.4' into edit-metadata-redesign-PR 2023-01-05 13:07:39 +01:00
Kristof De Langhe
9f61109e83 97742: Lint fix 2023-01-05 13:07:31 +01:00
Kristof De Langhe
57f10fa9eb v1.22.19 2023-01-05 11:47:53 +01:00
Kristof De Langhe
21eae60abb Merge branch 'main' into edit-metadata-redesign-PR 2023-01-05 11:40:10 +01:00
Kristof De Langhe
30eba0bdef 97742: Themed DsoEditMetadataComponent 2023-01-05 11:37:46 +01:00
Alexandre Vryghem
0fb9970734 98211: Added button to my workflow task page 2023-01-04 22:48:45 +01:00
Alexandre Vryghem
1cf0f97121 98211: Added advanced workflow models 2023-01-04 22:25:03 +01:00
Kristof De Langhe
124469209a 97742: Post merge test & build fixes 2023-01-04 17:51:34 +01:00
Kristof De Langhe
82e604650e Merge branch 'w2p-97075_Edit-metadata-redesign' into edit-metadata-redesign-7.4 2023-01-04 17:18:53 +01:00
Kristof De Langhe
ceb6ea3672 93747: Fixed and improved ArrayMoveChangeAnalyzer 2023-01-04 14:29:48 +01:00
Yury Bondarenko
76108e57b3 Merge remote-tracking branch 'origin/main' into w2p-96252_Reduce-main-bundle-size_Reorganize-shared-module-pt2 2023-01-04 12:26:08 +01:00
Kristof De Langhe
c4de31ec4d 97742: Removing old item-metadata component & adding support for itemtemplate dso-edit-metadata 2023-01-04 11:55:37 +01:00
Sufiyan Shaikh
81696dfd04 [CST-7755] Modified the changes related to the reload the object and authorization 2023-01-04 13:12:57 +05:30
Yury Bondarenko
f6db75f4f8 96252: Remove unneeded imports from SharedModule
These are no longer required in SharedModule, so we can remove them from main.js
2023-01-03 17:05:36 +01:00
Yury Bondarenko
67616a5d52 96252: Remove unused sidebar filter components 2023-01-03 17:03:46 +01:00
Yury Bondarenko
1c7108e928 96252: Move MyDSpace components out of SharedModule
Also move ds-metadata-field-wrapper to SharedModule so it can be reused in detail view without importing ItemSharedModule
2023-01-03 17:03:42 +01:00
Yury Bondarenko
935e9a4690 96252: Move Bitstream page components out of SharedModule 2023-01-03 17:03:32 +01:00
Yury Bondarenko
661ed72c11 96252: Move Item page components out of SharedModule 2023-01-03 17:03:19 +01:00
Nikunj Sharma
4645d4baa4 Merge remote-tracking branch 'origin/main' into CST-7604 2023-01-03 21:22:22 +05:30
Kristof De Langhe
533d833225 93747: Test cases 2023-01-03 16:16:11 +01:00
Kristof De Langhe
9d3769103d 93747: Test cases 2023-01-02 17:44:58 +01:00
Yana De Pauw
3fd4be9929 Merge remote-tracking branch 'upstream/main' into default-configuration-fix 2023-01-02 16:01:01 +01:00
Jens Vannerum
3e09653f0b 97049: Nest before each statements 2023-01-02 14:38:20 +01:00
dependabot[bot]
9b6ba906d6 Bump json5 from 2.2.1 to 2.2.2
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 12:50:21 +00:00
Jens Vannerum
6012c66d1c 97049: fix tests 2023-01-02 13:48:50 +01:00
Kristof De Langhe
6773ad967b 93747: Feedback 2022-12-21 - fixing move patch 2023-01-02 13:17:41 +01:00
Jens Vannerum
ec89addf17 97049: Missing provided service after merge 2023-01-02 12:14:33 +01:00
Kristof De Langhe
d4c30044f7 93747: DsoEditMetadataForm test cases 2023-01-02 11:29:44 +01:00
Jens Vannerum
befdc56fca Merge remote-tracking branch 'dspaceMain/main' into issue-815-controlled-vocabulary-hierarchical-facets-7.4 2023-01-02 10:15:18 +01:00
corrado lombardi
69390a7172 [CST-7755] Updated label and made other workspace items option available to controllers 2022-12-30 16:05:39 +01:00
Giuseppe Digilio
ed6d06c7ae [CST-7217] Apply fix also for selected facets 2022-12-30 10:30:28 +01:00
Giuseppe Digilio
928431284f [CST-7217] Improve fix 2022-12-30 10:12:15 +01:00
Giuseppe Digilio
17b8bee824 Merged main into CST-7217 2022-12-30 08:48:34 +00:00
Giuseppe Digilio
710b11655d [CST-7757] Rename type property to subscriptionType 2022-12-29 18:46:19 +01:00
Sufiyan Shaikh
2069bc20a2 [CST-7755] merge with latest main branch 2022-12-29 18:20:19 +05:30
Sufiyan Shaikh
09781c9057 [CST-7755] LYRASIS: Supervisor orders (Angular) 2022-12-29 18:16:54 +05:30
Marie Verdonck
b273b7a137 Merge branch 'w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main
# Conflicts:
#	src/app/core/data/eperson-registration.service.spec.ts
#	src/app/core/data/eperson-registration.service.ts
#	src/app/register-email-form/register-email-form.component.spec.ts
#	src/app/register-email-form/register-email-form.component.ts
2022-12-29 13:16:30 +01:00
Giuseppe Digilio
90a9238895 [CST-7757] fix pagination 2022-12-28 16:23:08 +01:00
Giuseppe Digilio
27d5097f4b [CST-7757] Add subscribe button to all dso pages 2022-12-28 16:22:17 +01:00
Marie Verdonck
31b17731f2 97298: #3281 Self-register - test fixes 2022-12-28 16:13:27 +01:00
Giuseppe Digilio
88eefc6b79 [CST-7757] fix tests 2022-12-28 15:29:13 +01:00
Marie Verdonck
e4ce91fa73 97298: #3281 Self-register - type request query param 2022-12-28 11:57:48 +01:00
Giuseppe Digilio
88e191e961 [CST-7757] Fix lint errors 2022-12-28 11:28:18 +01:00
Giuseppe Digilio
72a42b0a6e [CST-7757] Refactoring code 2022-12-27 20:10:47 +01:00
Giuseppe Digilio
af0b7e72b4 Merge branch 'main' into CST-7757
# Conflicts:
#	src/app/shared/shared.module.ts
2022-12-27 09:42:28 +01:00
Davide Negretti
a6cd39c906 [CST-7757] Subscriptions porting (wip) 2022-12-23 18:25:04 +01:00
corrado lombardi
3ed4d50e18 Merge branch 'main' into CST-7694 2022-12-23 14:47:14 +01:00
Marie Verdonck
bf826fa105 Merge remote-tracking branch 'origin/main' into w2p-97298_issue-3281_self-register-issue-main 2022-12-23 14:27:50 +01:00
Davide Negretti
3ab552ed38 [CST-7757] Subscriptions porting (wip) 2022-12-23 14:06:28 +01:00
Davide Negretti
f15ca85afd [CST-7757] Subscriptions porting (wip) 2022-12-23 13:26:04 +01:00
Yana De Pauw
b6218494e5 97425: Fix countdown timer intial display and remove rounded banner corner 2022-12-23 12:15:35 +01:00
Yana De Pauw
37ec888b0a 97425: Create "System Wide Alerts" feature 2022-12-23 10:51:53 +01:00
Rezart Vata
b775cd5ab0 [CST-7757] Subscriptions porting (wip) 2022-12-22 17:11:18 +01:00
Michael Spalti
6a1f81280b Finished removing results button from shared.module 2022-12-21 12:54:31 -08:00
Michael Spalti
10841aac90 Merge branch 'main' into item-back-button 2022-12-21 12:34:39 -08:00
Michael Spalti
e963629d53 Renamed directory. 2022-12-21 12:29:09 -08:00
Michael Spalti
09e31e758d New modules for back button and browse-by 2022-12-21 12:02:56 -08:00
Tim Donohue
fd37c725e5 Merge pull request #2008 from tdonohue/enable_polish
Enable Polish language by default
2022-12-21 11:33:42 -06:00
Tim Donohue
43fc7986bf Enable Polish language by default 2022-12-21 10:11:31 -06:00
Tim Donohue
bee32d6634 Merge pull request #2001 from michdyk/DS1931---Polish-Translation
Ds1931   polish translation
2022-12-21 10:09:22 -06:00
Alexandre Vryghem
2451bbbd34 97729: Themed ItemAlertsComponent 2022-12-21 14:48:14 +01:00
Michał Dykas
3df9d24d88 Update pl.json5
Removing CRIS references
2022-12-21 11:44:23 +01:00
Adan Roman
d6402fbaf8 DS-8408 - Unused dependency 2022-12-21 08:31:42 +01:00
Michael Spalti
35bb0fb802 Removed back() function 2022-12-20 14:34:07 -08:00
Michael Spalti
73a9e0b0bb Apply shared button component to browse-by. 2022-12-20 13:46:59 -08:00
Adan Roman
c2b56c1fa4 DS-8408 - In Advanced Search, list collections alphabetically 2022-12-20 17:23:03 +01:00
Tim Donohue
63a07c759f Merge pull request #2003 from mark-cooper/textarea-spellcheck
Enable / disable spellcheck for textarea inputs via config
2022-12-20 10:06:33 -06:00
Tim Donohue
61f2383c6e Merge pull request #1976 from 4Science/main_1950_DURACOM-101
Common Extendend Regex format for submission-forms
2022-12-20 09:40:00 -06:00
Joost
4f960231da lint fixes 2022-12-20 15:57:54 +01:00
Joost
cbf6f24d87 lint fixes 2022-12-20 15:50:31 +01:00
Joost
fd5da5e1a3 Merge branch 'w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main 2022-12-20 15:47:49 +01:00
Joost
c4f9bc4b1a lint fixes 2022-12-20 15:45:51 +01:00
Adan Roman
8949e7cc27 DS-8408 - In Advanced Search, list collections alphabetically 2022-12-20 15:42:56 +01:00
Joost
8b71ad6735 [task 97198] fix merge mistakes 2022-12-20 15:36:15 +01:00
Joost
05fa88fc32 Merge branch 'w2p-97298_issue-3281_self-register-issue-7.2' into w2p-97298_issue-3281_self-register-issue-main 2022-12-20 15:17:53 +01:00
Joost
3f7bdb284f [task 97298] displaying mail domains only on register 2022-12-20 15:01:53 +01:00
Joost
3690dceb75 [task 97298] sending the type for registration 2022-12-20 14:54:54 +01:00
Vincenzo Mecca
8f91e146de [1950][DURACOM-101] JSDoc and regex validation tests 2022-12-20 10:23:19 +01:00
Michael Spalti
c28f165923 Node 18 spec fix 2022-12-19 15:21:29 -08:00
Michael Spalti
d34cea1215 Fixed module. 2022-12-19 13:01:53 -08:00
Michael Spalti
7eb446a84f Merge branch 'main' into item-back-button 2022-12-19 12:54:59 -08:00
Tim Donohue
fa2dc72f33 Merge pull request #1987 from mspalti/relation-submisssion-thumb
Fix for related item thumbnail images.
2022-12-19 14:46:31 -06:00
Michael Spalti
d029e80495 Convert to themed, shared component 2022-12-19 12:32:53 -08:00
Tim Donohue
701290efe6 Merge pull request #1993 from atmire/w2p-97265_fix-statistics-menu-order-7.4
Fix statistics option position in header on different DSO pages
2022-12-19 11:54:24 -06:00
Koen Pauwels
c158fd18c9 97399 Documentation 2022-12-19 17:05:26 +01:00
Joost
8f6db1f6a0 lint fixes 2022-12-19 16:43:02 +01:00
Koen Pauwels
1ae18ec9f7 97399 Added support for links in tooltips 2022-12-19 14:55:55 +01:00
Yana De Pauw
f766c0020f Fix lint issue 2022-12-19 14:49:32 +01:00
Tim Donohue
f1dfd0ce8a Merge pull request #1992 from atmire/theme-name-as-data-attr-7.5-next
Make it easier to know which theme is being used for a component
2022-12-16 16:56:09 -06:00
Tim Donohue
34e60df6e0 Merge pull request #1981 from atmire/w2p-96121_server-side-language-headers
Server side language headers
2022-12-16 16:45:59 -06:00
Mark H. Wood
2afc835b7f Catch and report errors from non-JSON responses. 2022-12-16 17:17:55 -05:00
Tim Donohue
95f0976175 Merge pull request #1942 from atmire/w2p-96062_theme-external-source-entry-import-modal-component
make the ExternalSourceEntryImportModalComponent themeable by default
2022-12-16 11:29:57 -06:00
Tim Donohue
7b1a8f8cf7 Merge pull request #1939 from atmire/w2p-96062_theme-collection-dropdown-component
Make the CollectionDropdownComponent themeable
2022-12-16 10:57:19 -06:00
Koen Pauwels
28a127ca0e 97399 Improvements to ContextHelpDirective and ContextHelpWrapperComponent 2022-12-16 16:50:17 +01:00
Nikunj Sharma
247e61ce2b [CST-7604] fixed as per tom comment to highlight Journal, Project, OrgUnit or Person) or is a Community or Collection 2022-12-16 20:27:00 +05:30
Kristof De Langhe
bf9612e967 93747: Edit metadata redesign - drag to reorder pt2 2022-12-16 15:08:32 +01:00
Koen Pauwels
a40d93a941 97399 Implemented basic working tooltip on top level community list 2022-12-16 11:41:09 +01:00
jensvannerum
62378a5d95 Merge branch 'main' into issue-815-controlled-vocabulary-hierarchical-facets-7.4 2022-12-16 11:13:38 +01:00
Mark Cooper
9771d756b6 Enable / disable spellcheck for textarea inputs via config 2022-12-15 15:46:03 -08:00
Ying Jin
2fea10aced add/remove comments 2022-12-15 17:18:22 -06:00
yingjin
5c1101c13e Merge branch 'DSpace:main' into DA-8586 2022-12-15 17:17:07 -06:00
Tim Donohue
ffc5ecb100 Merge pull request #2002 from tdonohue/fix_docker_arm64_build
Fix Docker arm64 build
2022-12-15 16:37:08 -06:00
Julian Timal
ea275aff34 Use full community, collection and item names in breadcrumb navigation (#1957)
* Add ngTooTip and property botton in ToolTip

modify the breadcumbs html file to show the full name on mouseover

* fixed in test of breadcumbs

* Suggestion last breadcumb

* Fix alignment (as it was before)

Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2022-12-15 16:23:08 -06:00
Tim Donohue
e0679d4ba6 Ensure all necessary build tools exist in image 2022-12-15 16:03:10 -06:00
Jean-François Morin
1d1c713b70 Fixed merge conflict 2022-12-15 13:06:53 -05:00
Tim Donohue
ed593d5786 Merge pull request #2000 from tdonohue/update_latest_angular13
Update to latest Angular 13 & Remove unused dependencies
2022-12-15 11:02:42 -06:00
Jens Vannerum
f2972d7d34 Merge remote-tracking branch 'dspace-main/main' into w2p-96062_theme-collection-dropdown-component
# Conflicts:
#	src/app/shared/shared.module.ts
2022-12-15 17:58:28 +01:00
Jens Vannerum
efd3600a47 Merge remote-tracking branch 'dspace-main/main' into w2p-96062_theme-external-source-entry-import-modal-component
# Conflicts:
#	src/app/shared/form/form.module.ts
2022-12-15 17:43:34 +01:00
Kristof De Langhe
64d96453c3 93747: Edit metadata redesign - drag to reorder pt1 2022-12-15 17:25:23 +01:00
Michał Dykas
4dcc082ec0 Update config.example.yml
Enabling Polish language
2022-12-14 16:00:22 +01:00
Kristof De Langhe
43d9e3f958 93746: Feedback 2022-12-14 - missing types & tooltip width 2022-12-14 16:00:10 +01:00
Michał Dykas
9f0f7c4f29 Update pl.json5
Full Polish translation
2022-12-14 15:57:30 +01:00
Jens Vannerum
07fe4f261f 97049: Attempt to fix aSync test 2022-12-14 11:52:00 +01:00
Jens Vannerum
b04c8025dc 97049: Attempt to fix aSync test 2022-12-14 11:35:19 +01:00
Yana De Pauw
95ed5087d3 Merge branch 'default-configuration-fix-7.2' into default-configuration-fix 2022-12-13 16:07:35 +01:00
Jens Vannerum
c2ef6893d3 97049: fix lint issue after merge 2022-12-13 15:12:28 +01:00
Jens Vannerum
04e5510c6b 97049: fix wrong import after merge 2022-12-13 15:01:56 +01:00
Kristof De Langhe
50f7211947 93746: Edit metadata redesign - Virtual metadata 2022-12-13 14:38:53 +01:00
Jens Vannerum
83505cdce6 Merge remote-tracking branch 'dspaceMain/main' into issue-815-controlled-vocabulary-hierarchical-facets-7.4
# Conflicts:
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts
2022-12-13 13:08:38 +01:00
Joost
7917f61210 typo fix 2022-12-13 11:12:16 +01:00
Joost
03fe9a3ab9 typo fix 2022-12-13 11:11:42 +01:00
Joost
fd0a8c64c0 Merge branch 'main' into w2p-97298_issue-3281_self-register-issue-main 2022-12-13 11:11:19 +01:00
Joost
e0deed785e [task 97298] error message for not correct domain in registration mail 2022-12-12 17:27:54 +01:00
Tim Donohue
85c8722f7d Fix accessibility issue with empty <th> by switching to a <td> 2022-12-12 10:19:42 -06:00
Kristof De Langhe
454bfd2f9f 97075: Feedback 2022-12-09 - debounce on language input 2022-12-12 16:32:13 +01:00
Kristof De Langhe
1ca217e748 97075: Feedback 2022-12-09 - splitting into multiple components 2022-12-12 16:28:01 +01:00
Kristof De Langhe
3c9623a2b0 97075: Feedback 2022-12-09 - improvements 2022-12-12 13:26:45 +01:00
Yana De Pauw
cceea734b3 97248: Remove hardcoded 'default' configuration 2022-12-12 11:43:56 +01:00
Jens Vannerum
1af1d511d0 97049: Lint issue 2022-12-12 11:23:19 +01:00
Jens Vannerum
105308cdf8 97049: Fixing inconsistent tests 2022-12-12 11:18:31 +01:00
Koen Pauwels
e31781b5d0 97183 Fix linter issue, again 2022-12-12 10:07:00 +01:00
Koen Pauwels
69bd324da5 97183 Fix linter issue 2022-12-12 10:01:04 +01:00
Tim Donohue
3b6d37b006 Update to latest nodemon. Tested with yarn start:dev 2022-12-09 16:47:03 -06:00
Tim Donohue
24087290dd Update eslint-plugin-jsdoc for Node 18 compatibility 2022-12-09 16:07:18 -06:00
Tim Donohue
bec474b083 Remove unused dev dependencies. Update @nguniversal/builders to latest v13 2022-12-09 16:05:48 -06:00
Tim Donohue
1238caa906 Fixes for SASS 1.33. Update Bootstrap & FortAwesome to support 2022-12-09 16:05:48 -06:00
Tim Donohue
904171752f Cleanup of dependency versions 2022-12-09 16:05:48 -06:00
Tim Donohue
57f299df2b Remove unused dependencies 2022-12-09 16:05:48 -06:00
Tim Donohue
4d126bf558 yarn upgrade everything 2022-12-09 16:05:44 -06:00
Tim Donohue
3217402c09 Upgrade to latest Angular 13, Sass 1.33.0, etc. 2022-12-09 16:04:58 -06:00
Tim Donohue
4915f10b0e Merge pull request #1946 from mwoodiupui/1865
Support Node v18
2022-12-09 14:10:15 -06:00
Tim Donohue
70d2d20f06 Update Dockerfile to use Node 18 2022-12-09 12:14:57 -06:00
Tim Donohue
19a6ae840c Merge pull request #1975 from atmire/w2p-96252_Reduce-main-bundle-size_Reorganize-shared-module
Reorganize shared module to reduce main bundle size
2022-12-09 11:32:55 -06:00
Koen Pauwels
742b68b706 97183 Minor fixes (code review) 2022-12-09 14:52:41 +01:00
Tim Donohue
492344e6bd Spin up UI and REST on 127.0.0.1 2022-12-08 16:04:54 -06:00
Art Lowel
ee6ab3e3b2 Merge pull request #1984 from tdonohue/fix_1983
Fix email validation regex to use email validation regex from HTML5 specs
2022-12-08 19:29:59 +01:00
Jens Vannerum
9cde4c119e 97049: Fixing inconsistent tests 2022-12-08 17:52:49 +01:00
Jens Vannerum
a642a02663 Merge remote-tracking branch 'dspaceMain/main' into issue-815-controlled-vocabulary-hierarchical-facets-7.4
# Conflicts:
#	config/config.example.yml
#	src/assets/i18n/en.json5
2022-12-08 17:08:52 +01:00
Yury Bondarenko
2ffd732a40 Merge remote-tracking branch 'origin/main' into w2p-96252_Reduce-main-bundle-size_Reorganize-shared-module_REBASE-ON-7.4 2022-12-08 16:19:41 +01:00
Yury Bondarenko
95d5a2ff74 96252: Make Klaro lazy-loaded 2022-12-08 16:15:50 +01:00
Yury Bondarenko
d0c74ed49f 96252: Clean up SharedModule & CoreModule 2022-12-08 16:12:30 +01:00
Yury Bondarenko
9e731909ae 96252: Move menu support code to MenuModule 2022-12-08 16:12:27 +01:00
Yury Bondarenko
db3e8f9246 96252: Extract upload-specific code from SharedModule 2022-12-08 16:12:24 +01:00
Yury Bondarenko
3739fa4121 96252: Move dynamic forms out of AppModule 2022-12-08 16:12:20 +01:00
Yury Bondarenko
8341882b0f 96252: Extract form-specific code from SharedModule 2022-12-08 16:12:14 +01:00
Kristof De Langhe
c24e904c66 97075: Edit metadata - reset reinstatable on value delete 2022-12-08 11:08:15 +01:00
Kristof De Langhe
86164f743e 97075: Edit metadata - Reset reinstatable on change 2022-12-08 11:05:11 +01:00
Michael Spalti
9fefe064bf Added some space below the button. 2022-12-07 13:45:54 -08:00
Tim Donohue
23279017ca Merge pull request #1977 from 4Science/CST-7693
[CST-7693] Missing Translations added
2022-12-07 15:09:01 -06:00
Tim Donohue
cc80da9989 Merge pull request #1955 from arvoConsultores/DS-1774
The number of bitstreams on item pages are now configurable
2022-12-07 14:49:20 -06:00
Tim Donohue
599a5fdca0 Correct comment text 2022-12-07 14:46:28 -06:00
Michael Spalti
6684c2ea0c Merge branch 'main' into item-back-button 2022-12-07 12:25:28 -08:00
Michael Spalti
f378d53d4c Item back button and tests. 2022-12-07 12:22:23 -08:00
Tim Donohue
74b27e4166 Merge pull request #1994 from tdonohue/enable_ukrainian
Enable Ukrainian by default
2022-12-07 12:08:03 -06:00
Tim Donohue
f1d19fb53a Merge pull request #1986 from DSpace/dependabot/npm_and_yarn/decode-uri-component-0.2.2
Bump decode-uri-component from 0.2.0 to 0.2.2
2022-12-07 12:06:02 -06:00
Tim Donohue
6467c21a55 Enable Ukrainian by default 2022-12-07 11:33:14 -06:00
Tim Donohue
8fef157255 Merge pull request #1940 from AndrukhivAndriy/main
Add: Ukrainian translation
2022-12-07 11:32:17 -06:00
Tim Donohue
66820dd264 Merge pull request #1936 from atmire/w2p-95335_created-ListableNotificationObjectComponent_contribute-7.2
Created `ListableNotificationObject`
2022-12-07 10:44:34 -06:00
Joost
f81d416daf [task 97298][wip] showing domains for which registration can be done 2022-12-07 17:28:36 +01:00
Yana De Pauw
e99ec671d0 Merge branch 'dso-edit-menu-fixes' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-12-07 09:48:58 +01:00
Yana De Pauw
475745b134 Remove old test fix 2022-12-07 09:48:21 +01:00
Tim Donohue
d26dd04066 Merge pull request #1962 from DSpace/dependabot/npm_and_yarn/socket.io-parser-3.3.3
Bump socket.io-parser from 3.3.2 to 3.3.3
2022-12-06 13:46:21 -06:00
dependabot[bot]
66ac508027 Bump socket.io-parser from 3.3.2 to 3.3.3
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/3.3.2...3.3.3)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-06 18:46:07 +00:00
Tim Donohue
b10c1c5421 Merge pull request #1989 from tdonohue/enable_github_codeql
Update to use GitHub CodeQL for code scanning (Angular UI)
2022-12-06 12:10:00 -06:00
Tim Donohue
3f9884eb24 Update to use GitHub CodeQL for code scanning 2022-12-06 11:28:08 -06:00
Tim Donohue
e127bde4cc Merge pull request #1991 from tdonohue/add_contributing_docs
Add CONTRIBUTING docs and resync with PR template
2022-12-06 11:09:35 -06:00
Jens Vannerum
26d4be6101 Merge branch 'w2p-97265_fix-statistics-menu-order' into w2p-97265_fix-statistics-menu-order-7.4 2022-12-06 18:04:16 +01:00
Art Lowel
7ede96b25c Merge branch 'main' into theme-name-as-data-attr-7.2 2022-12-06 17:58:46 +01:00
Art Lowel
31d660536f add data attribute to show which theme is being used for a component 2022-12-06 17:58:06 +01:00
Jens Vannerum
fcdc4b2b63 97265: Fix statistics header bug 2022-12-06 17:55:23 +01:00
Tim Donohue
23c4034cfb Add CONTRIBUTING docs and resync with PR template 2022-12-06 10:44:19 -06:00
Yana De Pauw
d3d0d19b81 Merge branch 'dso-edit-menu-fixes' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-12-06 16:26:54 +01:00
Yana De Pauw
d185630faa Fix issue with onClick models in dso edit menus 2022-12-06 16:20:21 +01:00
Koen Pauwels
92c7922fbe 97183 Fixed linting issues 2022-12-06 15:59:01 +01:00
Koen Pauwels
4f20d200ca 97183 Tests for MenuService.isMenuVisibleWithVisibleSections 2022-12-06 15:45:46 +01:00
Koen Pauwels
fa87b1d94e 97183 MenuResolver tests for regular user 2022-12-06 14:33:04 +01:00
Koen Pauwels
68bac1f400 97183 Hide sidebar items w/o appropriate permissions.
See https://github.com/DSpace/dspace-angular/issues/1643

Sidebar now omits "New" and/or "Edit" options in the sidebar if the user does
not have permissions to respectively create new Items or edit Items.

If this results in an empty sidebar, the sidebar is hidden in its entirety.
2022-12-06 11:30:46 +01:00
Michael Spalti
b0e4daee04 Merge branch 'main' into relation-submisssion-thumb 2022-12-05 09:51:17 -08:00
jensvannerum
c97ab80d93 Merge branch 'main' into issue-815-controlled-vocabulary-hierarchical-facets-7.4 2022-12-05 15:21:43 +01:00
Jens Vannerum
acbff2e6b4 97049: Minor refactor // adding docs 2022-12-05 15:13:13 +01:00
Jens Vannerum
569e34f869 lint fixes 2022-12-05 11:32:05 +01:00
Jens Vannerum
744b406745 Alter tests for themed modal 2022-12-05 11:20:09 +01:00
Jens Vannerum
eb15368197 97049: Clean up strings 2022-12-05 09:58:38 +01:00
Jens Vannerum
7916dada1b Theme external-source-entry-import-modal.component 2022-12-05 09:40:46 +01:00
Jens Vannerum
fb82d22509 Merge branch 'create-reference-to-themed-comp' into w2p-96062_theme-external-source-entry-import-modal-component 2022-12-05 09:18:51 +01:00
Jens Vannerum
6c0459e590 Merge remote-tracking branch 'dspace-main/main' into create-reference-to-themed-comp 2022-12-05 09:11:44 +01:00
Jens Vannerum
73aa164f0f Add missing import 2022-12-05 09:11:17 +01:00
Michael Spalti
e8dacfff1d Removed style. 2022-12-04 20:02:04 -08:00
Michael Spalti
652e941e59 Updated spec. 2022-12-03 14:04:58 -08:00
Michael Spalti
422d72e001 Fix for related item thumbnail images. 2022-12-03 13:36:52 -08:00
dependabot[bot]
7a6b835ea8 Bump decode-uri-component from 0.2.0 to 0.2.2
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 04:00:44 +00:00
Tim Donohue
39aee1dbb9 Merge pull request #1937 from pilasou/main
Addition of missing params
2022-12-02 12:27:20 -06:00
Tim Donohue
1215a7ee7a Fix email validation regex to use HTML5 provided regex 2022-12-02 10:08:45 -06:00
Mark H. Wood
20faa40f22 More name resolution repairs. 2022-12-02 09:24:30 -05:00
Alexandre Vryghem
6e54acddc6 97065: Check if indexableObject exists 2022-12-02 14:52:21 +01:00
Mark H. Wood
2ef78741cc Name resolution changed in Node 18 -- avoid it. 2022-12-02 08:47:01 -05:00
Jens Vannerum
099debf666 97049: Resolve lint issues 2022-12-02 14:11:41 +01:00
Jens Vannerum
aac8fea225 97049: Fix constructor issue + rework test for new functionality 2022-12-02 13:43:22 +01:00
Alexandre Vryghem
a0c3ca57d4 97065: Make the error clickable and resend request if it failed 2022-12-02 10:59:15 +01:00
Jens Vannerum
d04ac74c6f Merge remote-tracking branch 'dspaceMain/main' into issue-815-controlled-vocabulary-hierarchical-facets-7.2
# Conflicts:
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.spec.ts
#	src/app/shared/search/search-filters/search-filter/search-hierarchy-filter/search-hierarchy-filter.component.ts
#	src/app/shared/vocabulary-treeview/vocabulary-treeview.component.ts
#	src/assets/i18n/en.json5
#	src/config/app-config.interface.ts
#	src/config/default-app-config.ts
#	src/environments/environment.test.ts
2022-12-02 10:45:11 +01:00
Alexandre Vryghem
4ba5eba556 95335: Display error message when DSOSelectorComponent can't successfully retrieve the next page of DSOs 2022-12-02 10:19:38 +01:00
Jens Vannerum
6ed762a8ac 97049: alter tests 2022-12-01 17:12:14 +01:00
Jens Vannerum
dd3a528c48 97049: Remove accidental focused describe 2022-12-01 16:52:50 +01:00
Jens Vannerum
472c2a1dd1 97049: Remove client structure 2022-12-01 15:34:41 +01:00
Jens Vannerum
85ccfc6ea7 97049: Remove client structure 2022-12-01 15:30:30 +01:00
Art Lowel
be0b54e058 change sitemap entries in robots.txt to absolute urls 2022-12-01 15:08:58 +01:00
Jens Vannerum
edc73d3585 97049: Refactor how to obtain vocabularies for filter (configurable) 2022-12-01 15:01:11 +01:00
Kristof De Langhe
532a59006f 97075: Edit-metadata redesign messages + JSDocs 2022-12-01 14:33:23 +01:00
Jens Vannerum
4afa5181a6 refac 2022-12-01 13:34:56 +01:00
Kristof De Langhe
6be343cccf 97075: Margin fixes + metadata field autofocus and validation 2022-12-01 13:07:19 +01:00
Alexandre Vryghem
ba15b28c7c 94688: Added themeable template of SearchFormComponent 2022-12-01 10:28:15 +01:00
Alexandre Vryghem
e96954cf60 94688: Added ThemedSearchFormComponent 2022-12-01 10:27:10 +01:00
Samuel
3b7d962671 taskid 85843 Add a tree to browse hierarchical facets on the search page - feedback 2022-12-01 10:08:28 +01:00
Samuel
2fab841562 taskid 85843 Add a tree to browse hierarchical facets on the search page - i18n updates 2022-12-01 10:08:18 +01:00
Samuel
bc3ab46e8e taskid 85843 Add a tree to browse hierarchical facets on the search page - fix import issue 2022-12-01 10:07:42 +01:00
Samuel
d5578accea taskid 85843 Add a tree to browse hierarchical facets on the search page 2022-12-01 10:07:41 +01:00
Samuel
9ff1a6a642 taskid 85843 Add a tree to browse hierarchical facets on the search page - overrides 2022-12-01 10:03:25 +01:00
Tim Donohue
7d39f5de83 Merge pull request #1965 from LisAtUP/main
Update el.json5
2022-11-30 16:25:33 -06:00
Jean-François Morin
f37122b23c Content Reports 2022-11-30 15:41:56 -05:00
Kristof De Langhe
105f6cb954 97075: Edit metadata redesign pt2 2022-11-30 17:49:19 +01:00
Koen Pauwels
627da93e23 97183 Workaround: reorder admin sidebar sections
The issue described at https://github.com/DSpace/dspace-angular/issues/1643 was
no longer reproducible: The menu component ultimately retrieves menu section
information from the store, but in the `MenuComponent#ngOnInit` method, this
information is piped through `distinctUntilChanged(compareArraysUsingIds())`,
which discards an update that sets these menu elements to be visible.

The behavior of this pipe is probably incorrect, but a proper fix is out of
scope for the current task. For now, we work around the problem by adding
top-level menu sections _after_ their children while initializing the menu
section store, which side-steps this issue.
2022-11-30 15:25:36 +01:00
Kristof De Langhe
92f94c39b2 97075: Edit metadata redesign 2022-11-29 18:02:13 +01:00
Alexandre Vryghem
9eb4a7e22e 95335: Removed duplicate i18n key 2022-11-29 17:20:35 +01:00
Vincenzo Mecca
6e2279d155 [1950][DURACOM-101] Fixed linting 2022-11-28 11:25:50 +01:00
Vincenzo Mecca
0dd30fe98a Merge remote-tracking branch 'github/main' into main_1950_DURACOM-101 2022-11-28 11:03:09 +01:00
Nikunj Sharma
e7607da0a2 [CST-7694] fixed group edit issue for non permanent group 2022-11-24 14:17:50 +05:30
Sufiyan Shaikh
9a695fedc7 [CST-7693] Missing Translations added 2022-11-23 20:33:11 +05:30
Nikunj Sharma
1ee3114432 [CST-7604] fixed text highlight on search page 2022-11-18 18:09:26 +05:30
Nikunj Sharma
7d58a1eb0a [CST-7604] fixed text highlight on search page 2022-11-18 16:03:33 +05:30
Yury Bondarenko
f16e18fa63 Fix breaking import 2022-11-18 11:08:43 +01:00
Yury Bondarenko
7caacdb20a Merge remote-tracking branch 'origin/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-11-18 10:05:15 +01:00
Yana De Pauw
4b0b6983a0 94391: Remove unused import 2022-11-17 16:50:30 +02:00
Yana De Pauw
4d297cfe9b 94391: Add aria labels and titles to the buttons 2022-11-17 16:33:19 +02:00
Mark H. Wood
7690d36e4b Update Node versions with which to test. 2022-11-17 09:06:34 -05:00
Mark H. Wood
fd43adea75 Check in updated yarn lockfile (newbie error). 2022-11-17 09:06:34 -05:00
Mark H. Wood
84cb8fe09d Make 'yarn install' succeed.
Make 'yarn install' succeed.
2022-11-17 09:06:33 -05:00
Giuseppe Digilio
625409cbb0 [CST-5537] Rename rest services to data services 2022-11-17 11:45:59 +01:00
Ying Jin
e6065b7504 add captioning support for video/audio files 2022-11-16 10:34:00 -06:00
Giuseppe Digilio
b8880091e6 [CST-5537] Fix lint 2022-11-11 14:41:50 +01:00
Giuseppe Digilio
79cd69fb94 [CST-5537] hide the export button from project search 2022-11-11 13:07:52 +01:00
Giuseppe Digilio
9fd4a1feee [CST-5537] Add flag to hide the export button from search results when needed 2022-11-11 13:07:21 +01:00
Giuseppe Digilio
3188374800 [CST-5537] Fix issues and refactoring in order to remove nested subscriptions 2022-11-11 12:56:57 +01:00
LisAtUP
68ecf48151 Update el.json5 2022-11-11 12:20:30 +02:00
Giuseppe Digilio
58db3c7b0e [CST-5337] remove deprecated @Effect decorators 2022-11-10 18:28:10 +01:00
Davide Negretti
c151cf340e Merge branch 'main' into CST-6171 2022-11-10 17:41:00 +01:00
Giuseppe Digilio
5efe3296c6 [CST-5337] Refactoring in order to comply with new data service 2022-11-09 19:05:20 +01:00
Luca Giamminonni
3a70b880cb [CST-5337] Renamed qa endpoints 2022-11-09 15:13:09 +01:00
Luca Giamminonni
50f74cdaf7 Merge remote-tracking branch '4Science-bitbucket/main' into CST-5337 2022-11-09 12:04:55 +01:00
Arvo Consultores y Tecnología. S.L
dff01bc3e7 Merge branch 'main' into DS-1774 2022-11-08 17:00:03 +01:00
Tim Donohue
89447a6c32 Merge pull request #1927 from tdonohue/no_unused_imports
Turn on no-unused-imports rule and remove all unused imports
2022-11-08 09:27:26 -06:00
Tim Donohue
cc86ba539f Turn on no-unused-imports rule and remove all unused imports 2022-11-08 08:55:37 -06:00
Tim Donohue
340cc0aa3f Merge pull request #1898 from tdonohue/upgrade_latest_cypress_9
E2E test stabilization, and upgrade to latest Cypress v9 and axe-core
2022-11-08 08:54:52 -06:00
Sergio Fernández Celorio
f7e78dccd1 Use the same property for both item pages 2022-11-07 19:27:54 +00:00
Pierre Lasou
6c226be7e8 Changes to fr.json5
New commit to include changes after review of commit 3bf13c0961
2022-11-07 13:31:45 -05:00
Sergio Fernández Celorio
1e523382d0 Fix lint error 2022-11-07 16:50:46 +01:00
Sergio Fernández Celorio
87a211ca66 Tests fixed 2022-11-07 12:20:00 +01:00
Sergio Fernández Celorio
2ed8f8bad8 Numbre of bitstreams in item page is now configurable 2022-11-04 10:40:29 +00:00
Vincenzo Mecca
9e843e36fa [1950] [DURACOM-101] Regex validator improved
feat:
  - New regexp to validate pattern used for regex validation;
2022-11-04 10:43:16 +01:00
Tim Donohue
f659e81aa9 Merge pull request #1948 from tdonohue/update_actions
Update to the latest version of all GitHub actions
2022-11-03 16:00:09 -05:00
Tim Donohue
6d1d446c0d Update to the latest version of all GitHub actions 2022-11-03 15:03:47 -05:00
Tim Donohue
749e1a7ad3 Merge pull request #1934 from TexasDigitalLibrary/DS-1905
DS-1905: fixes route function to match default value of websvc.opensearch.svccontext
2022-11-03 15:03:05 -05:00
Tim Donohue
b092d0b118 Merge pull request #1945 from 4Science/DSC-807-MAIN
Fix Health section labels
2022-11-03 14:20:54 -05:00
Tim Donohue
94d38efabc Merge pull request #1947 from 4Science/CST-7376
Test cases of date.util.spec.ts fixed
2022-11-03 14:19:01 -05:00
Tim Donohue
1e6a01397a Merge pull request #1930 from toniprieto/improve-cc-selector
Fix for Creative Commons jurisdiction chosen is ignored
2022-11-03 11:07:40 -05:00
Giuseppe Digilio
da6da6209b [CST-7376] fix lint error 2022-11-03 15:46:36 +01:00
Giuseppe Digilio
5c2c60db8b [CST-7376] fix issue with timezone within the test class 2022-11-03 15:08:16 +01:00
Sufiyan Shaikh
98ea3ebbff [DSC-807-MAIN] Aggiornare labels nella sezione Health della demo 2022-11-03 15:33:49 +05:30
Toni Prieto
9c05a116a8 Fix use case with cc.license.jurisdiction key commented out 2022-11-02 18:28:24 +01:00
nwoodward
63011bc41d removed sorting parameters from RSSComponent 2022-11-02 10:53:04 -05:00
nwoodward
2235072bea changed path in tests to match default value for websvc.opensearch.svccontext 2022-11-02 10:53:04 -05:00
nwoodward
434e0cb907 fix function to match default value of websvc.opensearch.svccontext 2022-11-02 10:53:04 -05:00
jensvannerum
7500ea898d Merge branch 'main' into w2p-96062_theme-collection-dropdown-component 2022-11-02 13:00:19 +01:00
Jens Vannerum
c6fd55baf4 96062: Alter test to match themed component 2022-11-02 12:55:21 +01:00
AndrukhivAndriy
46f1080720 Add: Ukrainian translation 2022-11-01 03:00:45 -07:00
Nikunj Sharma
43df05fe35 [CST-7217]applied css for facet break 2022-11-01 15:04:03 +05:30
Tim Donohue
dc4b4ffe4d Merge pull request #1933 from TexasDigitalLibrary/DSpace-8298
DS-8298: fixes issue where the lastHarvested and message fields were reversed
2022-10-31 14:14:22 -05:00
Jens Vannerum
02499f8019 96062: Theme the ExternalSourceEntryImportModalComponent 2022-10-31 19:42:07 +01:00
Tim Donohue
95a848aaf7 Merge pull request #1919 from atmire/w2p-95648_issue-1900_facet-prefix-values-not-escaped_latest
Search in sidebar/facet don't escape special characters
2022-10-31 12:38:10 -05:00
Tim Donohue
830503206a Merge pull request #1912 from atmire/Listable-object-decorator-refactor
Listable-object decorator refactor
2022-10-31 12:05:38 -05:00
Tim Donohue
e50c278497 Merge pull request #1938 from tdonohue/harden_github_workflows
GitHub Workflows security hardening (for dspace-angular)
2022-10-31 11:10:07 -05:00
Tim Donohue
8e87266900 Merge pull request #1916 from myrza1/patch-1
Kazakh Translations
2022-10-31 11:09:00 -05:00
Tim Donohue
d2d74a3759 Merge pull request #1878 from yingjin/DA-1767
Add IDs and pagination gear to Bitstream Formats
2022-10-31 10:53:50 -05:00
Jens Vannerum
70fe46aeed 96062: Theme the CollectionDropdownComponent 2022-10-31 16:34:25 +01:00
Tim Donohue
d0bcf5efcc Harden workflows by limiting default permissions 2022-10-31 10:33:38 -05:00
Tim Donohue
41e694507e Merge pull request #1902 from 4Science/CST-7119
Fix issues with user menu on different screen sizes
2022-10-31 10:25:34 -05:00
Ying Jin
2d72a22810 remove unused code 2022-10-30 23:30:51 -05:00
yingjin
56db9d8639 Merge branch 'DSpace:main' into DA-1767 2022-10-30 20:43:29 -05:00
myrza1
a545a1b5ed Update kk.json5
fixed by yarn json5 --validate
2022-10-30 00:50:00 +06:00
Tim Donohue
c876055855 Merge pull request #1925 from atmire/w2p-96078_Fix-span-linebreak-issue
Minor fixes related to line breaks & Markdown in metadata fields
2022-10-28 15:12:24 -05:00
Tim Donohue
2b666a12a4 Merge pull request #1910 from lucaszc/patch-4
Update pt-BR to replace ficheiro (pt-PT)
2022-10-28 14:56:34 -05:00
Tim Donohue
eec581e0b3 Merge pull request #1877 from yingjin/DA-1766
Add IDs to Metadata Schema page
2022-10-28 12:58:55 -05:00
Alexandre Vryghem
bd4f1f3c70 96433: Fixed issue where ExpandableNavbarSectionComponent was not loaded fast enough 2022-10-28 16:57:21 +02:00
Tim Donohue
fb05b7c701 Ensure label_merge_conflicts never runs on forks 2022-10-28 09:53:33 -05:00
Tim Donohue
e7e049c531 Bug fix to label_merge_conflicts GitHub action 2022-10-28 09:40:30 -05:00
Tim Donohue
f782ee921c Cherry-pick https://github.com/DSpace/DSpace/pull/8552 to dspace-angular 2022-10-28 09:30:11 -05:00
Pierre Lasou
3bf13c0961 Addition of missing parameters
Adding missing params and their french translations for : licence approval, SHERPA,  external sources and processes.
2022-10-28 09:54:40 -04:00
Tim Donohue
3334191755 Merge pull request #1908 from tdonohue/no_wildcard_imports
Shrink size of Klaro & ban wildcard imports.
2022-10-28 08:47:48 -05:00
Tim Donohue
6ceefb4977 Remove usages of url-parse per feedback 2022-10-27 16:19:51 -05:00
Tim Donohue
35171dbd48 Switch to Klaro without translation files. Update Klaro & add missing translation keys to i18n. 2022-10-27 16:02:28 -05:00
Tim Donohue
d66fdf42b1 Add lint rule banning wildcard imports. Fix existing ones where possible. 2022-10-27 16:02:24 -05:00
Tim Donohue
ea00bda9e3 Merge pull request #1903 from tdonohue/momentjs_to_date-fns
Replace Moment.js with date-fns
2022-10-27 15:57:33 -05:00
Tim Donohue
0d2be94cbd Minor refactor to use hasNoValue() 2022-10-27 15:12:53 -05:00
Tim Donohue
81814bf31c Merge branch 'main' into momentjs_to_date-fns 2022-10-27 15:08:27 -05:00
Tim Donohue
142dcf5624 Merge pull request #1929 from atmire/w2p-96252_Reduce-main-bundle-size-part1
Various tweaks to reduce main bundle size
2022-10-27 15:06:53 -05:00
Tim Donohue
11154d21be Upgrade to latest axe-core for accessibility checks in e2e tests 2022-10-27 14:16:48 -05:00
Tim Donohue
14bafd61fe Stabilize random authentication errors in e2e tests by using login form at all times. 2022-10-27 14:16:48 -05:00
Tim Donohue
2e486cf684 Update to latest Cypress v9 2022-10-27 14:16:48 -05:00
nwoodward
448f6a7eeb fixes issue where the lastHarvested and message fields were reversed 2022-10-27 13:28:58 -05:00
Alexandre Vryghem
bf35d71ce6 Merge remote-tracking branch 'upstream/main' into w2p-95335_created-ListableNotificationObjectComponent_contribute-7.2
# Conflicts:
#	src/app/shared/shared.module.ts
#	src/assets/i18n/en.json5
2022-10-27 18:56:32 +02:00
Yury Bondarenko
190c2e4673 Merge remote-tracking branch 'origin/main' into w2p-96252_Reduce-main-bundle-size-part1 2022-10-27 18:44:41 +02:00
Alexandre Vryghem
6f47e0a79c 95335: ListableNotificationObjectComponent not taking up all the space AFTER UPDATE 2022-10-27 18:36:01 +02:00
yingjin
3cb4d6a40b Merge branch 'DSpace:main' into DA-1766 2022-10-27 10:34:32 -05:00
yingjin
8948c73c52 Merge branch 'DSpace:main' into DA-1767 2022-10-27 10:34:17 -05:00
Ying Jin
ec99d2dca8 fix lint issue 2022-10-26 13:58:16 -05:00
Toni Prieto
97e5101390 Merge branch 'main' into improve-cc-selector 2022-10-26 12:18:49 +02:00
Toni Prieto
8a07bb64db Correct lint errors 2022-10-26 10:04:28 +02:00
Ying Jin
b92d423566 Merge branch 'DA-1766' of https://github.com/yingjin/dspace-angular into DA-1766 2022-10-25 21:37:15 -05:00
Ying Jin
296bf0e4d9 update test 2022-10-25 21:36:56 -05:00
Ying Jin
d117cdae07 change pagination to default and update test 2022-10-25 21:17:57 -05:00
kshepherd
0395480ab8 Merge pull request #1928 from hutattedonmyarm/type-bind-for-checkbox-groups
Fix missing type-bind relations for checkbox group
2022-10-26 11:38:30 +13:00
Toni Prieto
7e62e372a8 Fix for Creative Commons jurisdiction chosen is ignored 2022-10-25 22:19:12 +02:00
Yury Bondarenko
bde841918c 96252: Transform .json5 to .json in Webpack
This allows us to get rid of the json5 dependency in the main bundle and reduces the size of the i18n files we serve a bit
2022-10-25 21:01:21 +02:00
Yury Bondarenko
47ae04986d 96252: Make existing lodash imports tree-shakeable 2022-10-25 17:25:34 +02:00
Yury Bondarenko
be43fcb47f 96252: Enforce tree-shakeable lodash imports in ESLint 2022-10-25 17:25:29 +02:00
Yury Bondarenko
674a4829ce 96252: Even more lazy dsMarkdown 2022-10-25 17:25:25 +02:00
Yana De Pauw
5333db17f5 Merge remote-tracking branch 'upstream/main' into w2p-96121_server-side-language-headers 2022-10-25 14:30:06 +02:00
Max Nuding
727ed4a3d7 Fix missing type-bind relations for checkbox group
Checkbox groups were always displayed, because they did not include the type-bind relations. This commit adds the missing property
2022-10-25 12:21:33 +02:00
yingjin
4157f4e9e1 Merge branch 'DSpace:main' into DA-1766 2022-10-24 16:00:03 -05:00
yingjin
80bcf90df3 Merge branch 'DSpace:main' into DA-1767 2022-10-24 15:59:41 -05:00
Tim Donohue
1c8d538100 Merge pull request #1893 from the-library-code/1892_dynamic_contact_type_bind_fix
[#1892] Apply type-bind properly to concat fields that are not dynamic arrays
2022-10-24 12:16:20 -05:00
Yana De Pauw
e1753294d4 96121: Fix server side language headers 2022-10-24 17:48:31 +02:00
Tim Donohue
5b69bb1cc4 Update action to add issues to new triage board 2022-10-21 16:49:17 -05:00
Kristof De Langhe
1dc65472c9 Merge branch 'main' into w2p-89676_Listable-object-decorator-refactor-main 2022-10-21 15:54:20 +02:00
Kristof De Langhe
a06ff35f0a 89676: listable-object decorator match finding refactoring 2022-10-21 15:51:30 +02:00
Davide Negretti
f109e97a0c [CST-6171] Semantic color scheme 2022-10-21 12:50:59 +02:00
Davide Negretti
a69f61e4f3 [CST-6171] Item status type badge colors 2022-10-21 12:50:51 +02:00
Davide Negretti
b62a4f6c53 [CST-6171] Navbar border 2022-10-21 01:38:26 +02:00
Tim Donohue
5ac9d56185 Merge pull request #1922 from dsteelma-umd/1920_fix-data-service.decorator.spec.ts-intermittent-failures
Issue 1920 - "data-service.decorator.spec.ts" tests fails intermittently
2022-10-20 13:45:50 -05:00
David P. Steelman
edbf1f847b Issue 1920 - "data-service.decorator.spec.ts" tests fails intermittently
Replaced the timestamp (intended to produce unique "testType" instances)
with UUID, because intermittent failures are occurring when tests
are running quickly enough that the "new Data().getTime()" function
is returning the same timestamp for multiple tests.
2022-10-20 11:49:02 -04:00
Alexandre Vryghem
9923a71586 95335: Fixed ListableNotificationObjectComponent not taking up all the space 2022-10-20 14:24:18 +02:00
Yury Bondarenko
6918239395 Don't use .preserve-line-breaks for Markdown content
The Markdown parser generates HTML with headings, paragraphs, ... for each bit of text.
This results in extra vertical spacing if we use `white-space: pre-line`
2022-10-20 13:04:03 +02:00
Alexandre Vryghem
d832fa3fea Merge branch 'main-upstream' into w2p-95648_issue-1900_facet-prefix-values-not-escaped_7.0 2022-10-19 21:15:54 +02:00
Alexandre Vryghem
595c3175d3 95915: Added spec test 2022-10-19 21:07:15 +02:00
Yana De Pauw
8204481466 96078: Support enableMarkdown in generic item page field component 2022-10-19 10:41:57 +02:00
Tim Donohue
658eabf395 Merge pull request #1853 from atmire/w2p-94233_use-css-vars-in-CSSVariableService
Use CSS variables in TypeScript
2022-10-18 15:03:45 -05:00
Tim Donohue
82f1e1b704 Merge pull request #1909 from tony/patch-1
chore(README): fix typo
2022-10-18 09:02:33 -05:00
Lucas Zinato Carraro
39e7fb3588 Update pt-BR to replace ficheiro (pt-PT)
Ficheiro is used only in pt-PT in pt-BR is used arquivo
2022-10-18 08:39:51 -03:00
Yana De Pauw
c659e730bc 96078: Fix space in metadata value span and fix comma separator 2022-10-18 12:11:09 +02:00
Tony Narlock
d031942d1e chore(README): fix typo 2022-10-17 18:53:38 -05:00
Tim Donohue
674de4a68a Merge pull request #1895 from lucaszc/patch-2
Fix button translation ...
2022-10-17 15:32:30 -05:00
Tim Donohue
0d55169716 Merge pull request #1896 from lucaszc/patch-3
Add missing translations in version 7.4 pt-BR
2022-10-17 15:13:07 -05:00
Davide Negretti
dd4d709d9c [CST-7119] Fixes 2022-10-17 11:22:07 +02:00
Tim Donohue
3e77850949 Fixes to imports 2022-10-14 13:33:09 -05:00
Tim Donohue
f61d466810 Remove unused import 2022-10-14 13:15:54 -05:00
Tim Donohue
502d4bbdb1 Remove momentjs and ngx-moment in favor of date-fns. Minor refactor to support this swap 2022-10-14 12:49:05 -05:00
Sufiyan Shaikh
c75f5f7c81 [CST-7119] User menu fixes and improvements 2022-10-14 18:39:41 +02:00
Tim Donohue
3eca2b323e Bug fix to initial test 2022-10-14 11:18:11 -05:00
Tim Donohue
f5cbe54348 Add data.util.spec.ts which all pass when using moment.js 2022-10-14 11:09:54 -05:00
Marie Verdonck
ff1ea804c9 95648: Issue 1900 - URl encode/escape prefix value in facets endpoint 2022-10-13 14:02:40 +02:00
Lucas Zinato Carraro
519e031e6a Fix missing { 2022-10-12 12:06:03 -03:00
Lucas Zinato Carraro
603c60f368 Add missing translations in version 7.4 pt-BR
Add missing keywords, and correct translations in pt-BR
2022-10-12 11:38:18 -03:00
lucaszc
4bb11cbadf Fix button translation ... 2022-10-12 11:29:27 -03:00
Kristof De Langhe
3c9a5e8c55 Merge tag 'dspace-7.4' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-10-11 15:11:16 +02:00
Kristof De Langhe
964371066a 95632: Refactor orcid/claim person buttons to dso-menu-resolver 2022-10-11 15:10:22 +02:00
Kim Shepherd
4021b847a6 [#1892] Apply type-bind to concat fields that are not dynamic arrays 2022-10-11 11:37:28 +13:00
Alexandre Vryghem
efdd6acfff 95335: Created ListableNotificationObjectComponent 2022-10-07 12:09:30 +02:00
Tim Donohue
273c754370 Update version tag for development of next release 2022-10-06 14:53:19 -05:00
Ying Jin
a97f08cd72 merge 2022-10-03 20:49:24 -05:00
Ying Jin
3076f67b70 merge 2022-10-03 20:37:53 -05:00
Ying Jin
5132acc55e merge 2022-10-03 20:34:52 -05:00
Yana De Pauw
be8a3d278c Merge remote-tracking branch 'upstream/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-09-30 12:31:21 +02:00
Yana De Pauw
0be6809a3d Merge branch 'w2p-94390_replace-dso-page-edit-buttons-with-a-menu_7.2' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-09-30 12:12:02 +02:00
Yana De Pauw
2f3d619c8c 94391: Add support for com/col browse pages 2022-09-30 12:06:21 +02:00
Ying Jin
310726a3c4 fix DSpace #1766 Display all the fields for a Metadata Schema in one page and include IDs 2022-09-29 21:01:51 -05:00
Ying Jin
802b0e7204 fix DSpace#1767 Display all bitstream formats on one page and include IDs 2022-09-29 20:21:21 -05:00
Yury Bondarenko
de28af8b51 Remove unused imports 2022-09-28 20:25:47 +02:00
Yury Bondarenko
9dc7b3490f Merge branch 'w2p-94390_replace-dso-page-edit-buttons-with-a-menu_7.2' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-09-28 19:05:48 +02:00
Yury Bondarenko
785e4085fc 94389: Fix icon alignment & dropdown styles 2022-09-28 18:38:11 +02:00
Yana De Pauw
4489b3417c 94391: intermittent commit 2022-09-28 18:29:26 +02:00
myrza1
3abfbf3f11 Update kk.json5
Finish translates
2022-09-28 03:47:16 +06:00
Yana De Pauw
6a932ec6ac 94390: Remove unused import 2022-09-27 16:21:56 +02:00
Yana De Pauw
6671bb3eb0 Merge remote-tracking branch 'upstream/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-09-27 15:57:18 +02:00
myrza1
9aca40cc33 Update kk.json5
submission.import-external.preview.title.Project төменнен жоғары тоқтадым
2022-09-26 02:23:48 +06:00
myrza1
738a85ffc9 Update kk.json5
Update part 1
2022-09-23 05:23:30 +06:00
Art Lowel
af98247195 add check to ensure document.styleSheets is defined 2022-09-22 18:18:42 +02:00
lotte
f761924963 94233: removed empty file 2022-09-22 17:16:35 +02:00
lotte
97bceffb02 94233: Fixed lint issue 2022-09-22 17:14:55 +02:00
lotte
d68f38e848 94233: Fixed tests 2022-09-22 17:07:09 +02:00
lotte
08577f5f17 Merge branch 'main' into w2p-94233_use-css-vars-in-CSSVariableService 2022-09-22 16:50:52 +02:00
Yana De Pauw
b7c1e76b7f 94390: Remove fdescribe 2022-09-22 16:10:43 +02:00
Yana De Pauw
7f91f50e63 Merge remote-tracking branch 'upstream/main' into w2p-94390_replace-dso-page-edit-buttons-with-a-menu 2022-09-22 16:08:53 +02:00
Yana De Pauw
a92060c45a 94390: Add comment to array flattening 2022-09-22 12:15:34 +02:00
Yana De Pauw
96ba1c9319 94390: Implement feedback 2022-09-21 16:16:56 +02:00
Yana De Pauw
878db5be75 94390: Replace DSO page edit buttons with a menu 2022-09-21 16:16:44 +02:00
lotte
ce67003f26 94233: fixed tests after CSSVariableService changes 2022-09-16 16:23:11 +02:00
lotte
89ba24fc1c 94233: applied feedback for css variables 2022-09-16 12:40:04 +02:00
lotte
ac094aa623 94233: added typedoc 2022-09-13 12:22:55 +02:00
lotte
f70fc7b87a 94233: use actual CSS variables in theme 2022-09-12 17:42:37 +02:00
Luca Giamminonni
d8e96d8090 Merge branch 'CST-5337' into CST-5249_suggestion 2022-07-08 18:38:03 +02:00
Luca Giamminonni
7808f85a2d [CST-5337] Moved compute PID href on rest side 2022-07-08 18:30:33 +02:00
Luca Giamminonni
bb357df738 [CST-5337] Added missing typedocs 2022-07-08 18:04:42 +02:00
Luca Giamminonni
de6b533287 Merge remote-tracking branch '4Science-github/CST-5337' into CST-5249_suggestion 2022-07-07 17:41:44 +02:00
Giuseppe Digilio
0942a1e474 [CST-5337] Improve layout 2022-07-07 17:26:58 +02:00
Giuseppe Digilio
92b1ce2d17 [CST-5337] Fix issue with list that wasn't updated after last element has been processed 2022-07-07 17:25:56 +02:00
Giuseppe Digilio
5266194d84 [CST-5337] Update state name 2022-07-07 17:20:17 +02:00
Luca Giamminonni
63bba677bb [CST-5249] Removed Openaire prefix on Suggestion classes 2022-07-07 17:09:48 +02:00
Luca Giamminonni
708cfd1577 Merge branch 'CST-5337' into CST-5249_suggestion 2022-07-07 16:06:49 +02:00
Luca Giamminonni
530db26587 [CST-5337] Fixed lint error 2022-07-06 18:12:15 +02:00
Luca Giamminonni
f2400a714a [CST-5337] Fixed lint and tests 2022-07-06 18:06:11 +02:00
Luca Giamminonni
4a996b492a [CST-5249] Renamed notifications module to suggestion-notifications 2022-07-06 17:57:17 +02:00
Luca Giamminonni
a7d2278d99 [CST-5249] Renamed nbevent and nbtopics 2022-07-06 17:21:34 +02:00
Giuseppe Digilio
a355a15459 [CST-5249] Fix deprecated selector creation 2022-07-06 17:05:03 +02:00
Luca Giamminonni
d5c1b11d77 [CST-5337] Replace Notifications broker with Quality assurance 2022-07-06 17:04:11 +02:00
Luca Giamminonni
df93058881 Merge remote-tracking branch '4Science-bitbucket/main' into CST-5337 2022-07-06 16:39:38 +02:00
Kristof De Langhe
86e084bf05 90761: themed component calls 2022-05-30 16:27:28 +02:00
Kristof De Langhe
7eaa50949d 90761: Themed DsDynamicLookupRelationExternalSourceTabComponent 2022-05-30 14:53:43 +02:00
Kristof De Langhe
2340164394 91874: Themed DsDynamicLookupRelationSearchTabComponent and MetadataRepresentationListComponent 2022-05-27 17:21:21 +02:00
Luca Giamminonni
a798deddf2 Merge remote-tracking branch '4Science-bitbucket/main' into CST-5249_suggestion 2022-05-04 15:28:52 +02:00
Luca Giamminonni
11d25e6699 [CST-5249] Fixed suggestion page 2022-05-04 13:16:13 +02:00
Luca Giamminonni
166d77ff82 Merge branch 'CST-5307' into CST-5249_suggestion 2022-05-03 17:50:12 +02:00
Luca Giamminonni
b4d6fbc390 [CST-5249] Fixed compilation issues 2022-05-02 17:40:51 +02:00
Luca Giamminonni
f754b59476 Merge branch 'CST-5307' into CST-5249_suggestion 2022-05-02 10:27:33 +02:00
Luca Giamminonni
9420a12707 Merge remote-tracking branch '4Science-bitbucket/main' into CST-5249_suggestion 2022-05-02 10:25:28 +02:00
Luca Giamminonni
5d8d3e35d5 [CST-5249] Added suggestions from openaire 2022-03-29 16:16:22 +02:00
Luca Giamminonni
a4718b6086 Merge branch 'CST-5337' of https://bitbucket.org/4Science/dspace-angular into CST-5337 2022-03-17 17:01:40 +01:00
Luca Giamminonni
6dfeb1a06b [CST-5337] Fixed notifications labels 2022-03-17 16:53:59 +01:00
Luca Giamminonni
c400026f60 Merge remote-tracking branch '4Science-bitbucket/main' into CST-5337 2022-03-17 16:26:58 +01:00
Pratik Rajkotiya
d63bf55458 [CST-5337] change end point. 2022-03-10 11:56:39 +05:30
Pratik Rajkotiya
00f7fa97f1 [CST-5337] test cases done. 2022-03-10 11:49:12 +05:30
Pratik Rajkotiya
8ce3148dea [CST-5337] OAIRE-ELD correction service should support multiple providers. 2022-03-03 12:11:50 +05:30
Luca Giamminonni
4ca51387d1 [CST-5246] Correction service should support multiple providers 2022-02-18 19:01:30 +01:00
Luca Giamminonni
b8e9f620b6 [CST-5249] Migration of OPENAIRE correction service 2022-02-18 17:26:59 +01:00
3600 changed files with 219053 additions and 93982 deletions

View File

@@ -1,17 +0,0 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# For the full list of supported browsers by the Angular framework, please see:
# https://angular.io/guide/browser-support
# You can see what browsers were selected by your queries by running:
# npx browserslist
last 1 Chrome version
last 1 Firefox version
last 2 Edge major versions
last 2 Safari major versions
last 2 iOS major versions
Firefox ESR
not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line.

View File

@@ -15,3 +15,6 @@ trim_trailing_whitespace = false
[*.ts]
quote_type = single
[*.json5]
ij_json_keep_blank_lines_in_code = 3

View File

@@ -6,7 +6,12 @@
"eslint-plugin-import",
"eslint-plugin-jsdoc",
"eslint-plugin-deprecation",
"eslint-plugin-unused-imports"
"unused-imports",
"eslint-plugin-lodash",
"eslint-plugin-jsonc",
"eslint-plugin-rxjs",
"eslint-plugin-simple-import-sort",
"eslint-plugin-import-newlines"
],
"overrides": [
{
@@ -25,17 +30,29 @@
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
"plugin:@angular-eslint/template/process-inline-templates",
"plugin:rxjs/recommended"
],
"rules": {
"indent": [
"error",
2,
{
"SwitchCase": 1
}
],
"max-classes-per-file": [
"error",
1
],
"comma-dangle": [
"off",
"error",
"always-multiline"
],
"object-curly-spacing": [
"error",
"always"
],
"eol-last": [
"error",
"always"
@@ -102,15 +119,13 @@
"allowTernary": true
}
],
"prefer-const": "off", // todo: re-enable & fix errors (more strict than it used to be in TSLint)
"prefer-const": "error",
"no-case-declarations": "error",
"no-extra-boolean-cast": "error",
"prefer-spread": "off",
"no-underscore-dangle": "off",
// todo: disabled rules from eslint:recommended, consider re-enabling & fixing
"no-prototype-builtins": "off",
"no-useless-escape": "off",
"no-case-declarations": "off",
"no-extra-boolean-cast": "off",
"@angular-eslint/directive-selector": [
"error",
@@ -137,7 +152,6 @@
}
],
"@angular-eslint/no-attribute-decorator": "error",
"@angular-eslint/no-forward-ref": "error",
"@angular-eslint/no-output-native": "warn",
"@angular-eslint/no-output-on-prefix": "warn",
"@angular-eslint/no-conflicting-lifecycle": "warn",
@@ -181,7 +195,7 @@
],
"@typescript-eslint/type-annotation-spacing": "error",
"@typescript-eslint/unified-signatures": "error",
"@typescript-eslint/ban-types": "warn", // todo: deal with {} type issues & re-enable
"@typescript-eslint/ban-types": "error",
"@typescript-eslint/no-floating-promises": "warn",
"@typescript-eslint/no-misused-promises": "warn",
"@typescript-eslint/restrict-plus-operands": "warn",
@@ -201,8 +215,45 @@
"deprecation/deprecation": "warn",
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error",
"import/order": "off",
"import/no-deprecated": "warn"
"import/first": "error",
"import/newline-after-import": "error",
"import/no-duplicates": "error",
"import/no-deprecated": "warn",
"import/no-namespace": "error",
"import-newlines/enforce": [
"error",
{
"items": 1,
"semi": true,
"forceSingleLine": true
}
],
"unused-imports/no-unused-imports": "error",
"lodash/import-scope": [
"error",
"method"
],
"rxjs/no-nested-subscribe": "off" // todo: go over _all_ cases
}
},
{
"files": [
"*.spec.ts"
],
"parserOptions": {
"project": [
"./tsconfig.json",
"./cypress/tsconfig.json"
],
"createDefaultProgram": true
},
"rules": {
"prefer-const": "off"
}
},
{
@@ -211,11 +262,42 @@
],
"extends": [
"plugin:@angular-eslint/template/recommended"
]
},
{
"files": [
"*.json5"
],
"extends": [
"plugin:jsonc/recommended-with-jsonc"
],
"rules": {
// todo: re-enable & fix errors
"@angular-eslint/template/no-negated-async": "off",
"@angular-eslint/template/eqeqeq": "off"
"no-irregular-whitespace": "error",
"no-trailing-spaces": "error",
"jsonc/comma-dangle": [
"error",
"always-multiline"
],
"jsonc/indent": [
"error",
2
],
"jsonc/key-spacing": [
"error",
{
"beforeColon": false,
"afterColon": true,
"mode": "strict"
}
],
"jsonc/no-dupe-keys": "off",
"jsonc/quotes": [
"error",
"double",
{
"avoidEscape": false
}
]
}
}
]

View File

@@ -1,26 +0,0 @@
# This workflow runs whenever a new pull request is created
# TEMPORARILY DISABLED. Unfortunately this doesn't work for PRs created from forked repositories (which is how we tend to create PRs).
# There is no known workaround yet. See https://github.community/t/how-to-use-github-token-for-prs-from-forks/16818
name: Pull Request opened
# Only run for newly opened PRs against the "main" branch
on:
pull_request:
types: [opened]
branches:
- main
jobs:
automation:
runs-on: ubuntu-latest
steps:
# Assign the PR to whomever created it. This is useful for visualizing assignments on project boards
# See https://github.com/marketplace/actions/pull-request-assigner
- name: Assign PR to creator
uses: thomaseizinger/assign-pr-creator-action@v1.0.0
# Note, this authentication token is created automatically
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# Ignore errors. It is possible the PR was created by someone who cannot be assigned
continue-on-error: true

View File

@@ -1,7 +1,7 @@
## References
_Add references/links to any related issues or PRs. These may include:_
* Fixes #[issue-number]
* Requires DSpace/DSpace#[pr-number] (if a REST API PR is required to test this)
* Fixes #`issue-number` (if this fixes an issue ticket)
* Requires DSpace/DSpace#`pr-number` (if a REST API PR is required to test this)
## Description
Short summary of changes (1-2 sentences).
@@ -19,8 +19,10 @@ List of changes in this PR:
_This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!_
- [ ] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & specs/tests), or I have provided reasons as to why that's not possible.
- [ ] My PR passes [TSLint](https://palantir.github.io/tslint/) validation using `yarn run lint`
- [ ] My PR doesn't introduce circular dependencies
- [ ] My PR passes [ESLint](https://eslint.org/) validation using `yarn lint`
- [ ] My PR doesn't introduce circular dependencies (verified via `yarn check-circ-deps`)
- [ ] My PR includes [TypeDoc](https://typedoc.org/) comments for _all new (or modified) public methods and classes_. It also includes TypeDoc for large or complex private methods.
- [ ] My PR passes all specs/tests and includes new/updated specs or tests based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide).
- [ ] If my PR includes new, third-party dependencies (in `package.json`), I've made sure their licenses align with the [DSpace BSD License](https://github.com/DSpace/DSpace/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation.
- [ ] If my PR includes new libraries/dependencies (in `package.json`), I've made sure their licenses align with the [DSpace BSD License](https://github.com/DSpace/DSpace/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation.
- [ ] If my PR includes new features or configurations, I've provided basic technical documentation in the PR itself.
- [ ] If my PR fixes an issue ticket, I've [linked them together](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).

View File

@@ -6,34 +6,50 @@ name: Build
# Run this Build for all pushes / PRs to current branch
on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
tests:
runs-on: ubuntu-latest
env:
# The ci step will test the dspace-angular code against DSpace REST.
# Direct that step to utilize a DSpace REST service that has been started in docker.
DSPACE_REST_HOST: localhost
# NOTE: These settings should be kept in sync with those in [src]/docker/docker-compose-ci.yml
DSPACE_REST_HOST: 127.0.0.1
DSPACE_REST_PORT: 8080
DSPACE_REST_NAMESPACE: '/server'
DSPACE_REST_SSL: false
# Spin up UI on 127.0.0.1 to avoid host resolution issues in e2e tests with Node 18+
DSPACE_UI_HOST: 127.0.0.1
DSPACE_UI_PORT: 4000
# Ensure all SSR caching is disabled in test environment
DSPACE_CACHE_SERVERSIDE_BOTCACHE_MAX: 0
DSPACE_CACHE_SERVERSIDE_ANONYMOUSCACHE_MAX: 0
# Tell Cypress to run e2e tests using the same UI URL
CYPRESS_BASE_URL: http://127.0.0.1:4000
# When Chrome version is specified, we pin to a specific version of Chrome
# Comment this out to use the latest release
#CHROME_VERSION: "90.0.4430.212-1"
# Bump Node heap size (OOM in CI after upgrading to Angular 15)
NODE_OPTIONS: '--max-old-space-size=4096'
# Project name to use when running "docker compose" prior to e2e tests
COMPOSE_PROJECT_NAME: 'ci'
strategy:
# Create a matrix of Node versions to test against (in parallel)
matrix:
node-version: [14.x, 16.x]
node-version: [18.x, 20.x]
# Do NOT exit immediately if one matrix job fails
fail-fast: false
# These are the actual CI steps to perform per job
steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v2
uses: actions/checkout@v4
# https://github.com/actions/setup-node
- name: Install Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
@@ -56,9 +72,9 @@ jobs:
# https://github.com/actions/cache/blob/main/examples.md#node---yarn
- name: Get Yarn cache directory
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- name: Cache Yarn dependencies
uses: actions/cache@v2
uses: actions/cache@v3
with:
# Cache entire Yarn cache directory (see previous step)
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
@@ -81,42 +97,45 @@ jobs:
- name: Run specs (unit tests)
run: yarn run test:headless
# Upload code coverage report to artifact (for one version of Node only),
# so that it can be shared with the 'codecov' job (see below)
# NOTE: Angular CLI only supports code coverage for specs. See https://github.com/angular/angular-cli/issues/6286
# Upload coverage reports to Codecov (for one version of Node only)
# https://github.com/codecov/codecov-action
- name: Upload coverage to Codecov.io
uses: codecov/codecov-action@v2
if: matrix.node-version == '16.x'
- name: Upload code coverage report to Artifact
uses: actions/upload-artifact@v3
if: matrix.node-version == '18.x'
with:
name: dspace-angular coverage report
path: 'coverage/dspace-angular/lcov.info'
retention-days: 14
# Using docker-compose start backend using CI configuration
# Using "docker compose" start backend using CI configuration
# and load assetstore from a cached copy
- name: Start DSpace REST Backend via Docker (for e2e tests)
run: |
docker-compose -f ./docker/docker-compose-ci.yml up -d
docker-compose -f ./docker/cli.yml -f ./docker/cli.assetstore.yml run --rm dspace-cli
docker compose -f ./docker/docker-compose-ci.yml up -d
docker compose -f ./docker/cli.yml -f ./docker/cli.assetstore.yml run --rm dspace-cli
docker container ls
# Run integration tests via Cypress.io
# https://github.com/cypress-io/github-action
# (NOTE: to run these e2e tests locally, just use 'ng e2e')
- name: Run e2e tests (integration tests)
uses: cypress-io/github-action@v2
uses: cypress-io/github-action@v6
with:
# Run tests in Chrome, headless mode
# Run tests in Chrome, headless mode (default)
browser: chrome
headless: true
# Start app before running tests (will be stopped automatically after tests finish)
start: yarn run serve:ssr
# Wait for backend & frontend to be available
# NOTE: We use the 'sites' REST endpoint to also ensure the database is ready
wait-on: http://localhost:8080/server/api/core/sites, http://localhost:4000
wait-on: http://127.0.0.1:8080/server/api/core/sites, http://127.0.0.1:4000
# Wait for 2 mins max for everything to respond
wait-on-timeout: 120
# Cypress always creates a video of all e2e tests (whether they succeeded or failed)
# Save those in an Artifact
- name: Upload e2e test videos to Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: always()
with:
name: e2e-test-videos
@@ -125,7 +144,7 @@ jobs:
# If e2e tests fail, Cypress creates a screenshot of what happened
# Save those in an Artifact
- name: Upload e2e test failure screenshots to Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: failure()
with:
name: e2e-test-screenshots
@@ -144,7 +163,7 @@ jobs:
run: |
nohup yarn run serve:ssr &
printf 'Waiting for app to start'
until curl --output /dev/null --silent --head --fail http://localhost:4000/home; do
until curl --output /dev/null --silent --head --fail http://127.0.0.1:4000/home; do
printf '.'
sleep 2
done
@@ -155,7 +174,7 @@ jobs:
# This step also prints entire HTML of homepage for easier debugging if grep fails.
- name: Verify SSR (server-side rendering)
run: |
result=$(wget -O- -q http://localhost:4000/home)
result=$(wget -O- -q http://127.0.0.1:4000/home)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep DSpace
@@ -163,4 +182,37 @@ jobs:
run: kill -9 $(lsof -t -i:4000)
- name: Shutdown Docker containers
run: docker-compose -f ./docker/docker-compose-ci.yml down
run: docker compose -f ./docker/docker-compose-ci.yml down
# Codecov upload is a separate job in order to allow us to restart this separate from the entire build/test
# job above. This is necessary because Codecov uploads seem to randomly fail at times.
# See https://community.codecov.com/t/upload-issues-unable-to-locate-build-via-github-actions-api/3954
codecov:
# Must run after 'tests' job above
needs: tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# Download artifacts from previous 'tests' job
- name: Download coverage artifacts
uses: actions/download-artifact@v3
# Now attempt upload to Codecov using its action.
# NOTE: We use a retry action to retry the Codecov upload if it fails the first time.
#
# Retry action: https://github.com/marketplace/actions/retry-action
# Codecov action: https://github.com/codecov/codecov-action
- name: Upload coverage to Codecov.io
uses: Wandalen/wretry.action@v1.3.0
with:
action: codecov/codecov-action@v3
# Ensure codecov-action throws an error when it fails to upload
# This allows us to auto-restart the action if an error is thrown
with: |
fail_ci_if_error: true
# Try re-running action 5 times max
attempt_limit: 5
# Run again in 30 seconds
attempt_delay: 30000

53
.github/workflows/codescan.yml vendored Normal file
View File

@@ -0,0 +1,53 @@
# DSpace CodeQL code scanning configuration for GitHub
# https://docs.github.com/en/code-security/code-scanning
#
# NOTE: Code scanning must be run separate from our default build.yml
# because CodeQL requires a fresh build with all tests *disabled*.
name: "Code Scanning"
# Run this code scan for all pushes / PRs to main or maintenance branches. Also run once a week.
on:
push:
branches:
- main
- 'dspace-**'
pull_request:
branches:
- main
- 'dspace-**'
# Don't run if PR is only updating static documentation
paths-ignore:
- '**/*.md'
- '**/*.txt'
schedule:
- cron: "37 0 * * 1"
jobs:
analyze:
name: Analyze Code
runs-on: ubuntu-latest
# Limit permissions of this GitHub action. Can only write to security-events
permissions:
actions: read
contents: read
security-events: write
steps:
# https://github.com/actions/checkout
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
# https://github.com/github/codeql-action
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: javascript
# Autobuild attempts to build any compiled languages
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# Perform GitHub Code Scanning.
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

View File

@@ -3,6 +3,9 @@ name: Docker images
# Run this Build for all pushes to 'main' or maintenance branches, or tagged releases.
# Also run for PRs to ensure PR doesn't break Docker build process
# NOTE: uses "reusable-docker-build.yml" in DSpace/DSpace to actually build each of the Docker images
# https://github.com/DSpace/DSpace/blob/main/.github/workflows/reusable-docker-build.yml
#
on:
push:
branches:
@@ -12,76 +15,45 @@ on:
- 'dspace-**'
pull_request:
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
docker:
#############################################################
# Build/Push the 'dspace/dspace-angular' image
#############################################################
dspace-angular:
# Ensure this job never runs on forked repos. It's only executed for 'dspace/dspace-angular'
if: github.repository == 'dspace/dspace-angular'
runs-on: ubuntu-latest
env:
# Define tags to use for Docker images based on Git tags/branches (for docker/metadata-action)
# For a new commit on default branch (main), use the literal tag 'dspace-7_x' on Docker image.
# For a new commit on other branches, use the branch name as the tag for Docker image.
# For a new tag, copy that tag name as the tag for Docker image.
IMAGE_TAGS: |
type=raw,value=dspace-7_x,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=branch,enable=${{ !endsWith(github.ref, github.event.repository.default_branch) }}
type=ref,event=tag
# Define default tag "flavor" for docker/metadata-action per
# https://github.com/docker/metadata-action#flavor-input
# We turn off 'latest' tag by default.
TAGS_FLAVOR: |
latest=false
# Architectures / Platforms for which we will build Docker images
# If this is a PR, we ONLY build for AMD64. For PRs we only do a sanity check test to ensure Docker builds work.
# If this is NOT a PR (e.g. a tag or merge commit), also build for ARM64.
PLATFORMS: linux/amd64${{ github.event_name != 'pull_request' && ', linux/arm64' || '' }}
# Use the reusable-docker-build.yml script from DSpace/DSpace repo to build our Docker image
uses: DSpace/DSpace/.github/workflows/reusable-docker-build.yml@main
with:
build_id: dspace-angular
image_name: dspace/dspace-angular
dockerfile_path: ./Dockerfile
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}
steps:
# https://github.com/actions/checkout
- name: Checkout codebase
uses: actions/checkout@v2
# https://github.com/docker/setup-buildx-action
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v1
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU emulation to build for multiple architectures
uses: docker/setup-qemu-action@v2
# https://github.com/docker/login-action
- name: Login to DockerHub
# Only login if not a PR, as PRs only trigger a Docker build and not a push
if: github.event_name != 'pull_request'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_ACCESS_TOKEN }}
###############################################
# Build/Push the 'dspace/dspace-angular' image
###############################################
# https://github.com/docker/metadata-action
# Get Metadata for docker_build step below
- name: Sync metadata (tags, labels) from GitHub to Docker for 'dspace-angular' image
id: meta_build
uses: docker/metadata-action@v3
with:
images: dspace/dspace-angular
tags: ${{ env.IMAGE_TAGS }}
flavor: ${{ env.TAGS_FLAVOR }}
# https://github.com/docker/build-push-action
- name: Build and push 'dspace-angular' image
id: docker_build
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: ${{ env.PLATFORMS }}
# For pull requests, we run the Docker build (to ensure no PR changes break the build),
# but we ONLY do an image push to DockerHub if it's NOT a PR
push: ${{ github.event_name != 'pull_request' }}
# Use tags / labels provided by 'docker/metadata-action' above
tags: ${{ steps.meta_build.outputs.tags }}
labels: ${{ steps.meta_build.outputs.labels }}
#############################################################
# Build/Push the 'dspace/dspace-angular' image ('-dist' tag)
#############################################################
dspace-angular-dist:
# Ensure this job never runs on forked repos. It's only executed for 'dspace/dspace-angular'
if: github.repository == 'dspace/dspace-angular'
# Use the reusable-docker-build.yml script from DSpace/DSpace repo to build our Docker image
uses: DSpace/DSpace/.github/workflows/reusable-docker-build.yml@main
with:
build_id: dspace-angular-dist
image_name: dspace/dspace-angular
dockerfile_path: ./Dockerfile.dist
# As this is a "dist" image, its tags are all suffixed with "-dist". Otherwise, it uses the same
# tagging logic as the primary 'dspace/dspace-angular' image above.
tags_flavor: suffix=-dist
secrets:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_ACCESS_TOKEN: ${{ secrets.DOCKER_ACCESS_TOKEN }}
# Enable redeploy of sandbox & demo if the branch for this image matches the deployment branch of
# these sites as specified in reusable-docker-build.xml
REDEPLOY_SANDBOX_URL: ${{ secrets.REDEPLOY_SANDBOX_URL }}
REDEPLOY_DEMO_URL: ${{ secrets.REDEPLOY_DEMO_URL }}

View File

@@ -5,25 +5,22 @@ on:
issues:
types: [opened]
permissions: {}
jobs:
automation:
runs-on: ubuntu-latest
steps:
# Add the new issue to a project board, if it needs triage
# See https://github.com/marketplace/actions/create-project-card-action
- name: Add issue to project board
# See https://github.com/actions/add-to-project
- name: Add issue to triage board
# Only add to project board if issue is flagged as "needs triage" or has no labels
# NOTE: By default we flag new issues as "needs triage" in our issue template
if: (contains(github.event.issue.labels.*.name, 'needs triage') || join(github.event.issue.labels.*.name) == '')
uses: technote-space/create-project-card-action@v1
uses: actions/add-to-project@v0.5.0
# Note, the authentication token below is an ORG level Secret.
# It must be created/recreated manually via a personal access token with "public_repo" and "admin:org" permissions
# It must be created/recreated manually via a personal access token with admin:org, project, public_repo permissions
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#permissions-for-the-github_token
# This is necessary because the "DSpace Backlog" project is an org level project (i.e. not repo specific)
with:
GITHUB_TOKEN: ${{ secrets.ORG_PROJECT_TOKEN }}
PROJECT: DSpace Backlog
COLUMN: Triage
CHECK_ORG_PROJECT: true
# Ignore errors
continue-on-error: true
github-token: ${{ secrets.TRIAGE_PROJECT_TOKEN }}
project-url: https://github.com/orgs/DSpace/projects/24

View File

@@ -1,25 +1,39 @@
# This workflow checks open PRs for merge conflicts and labels them when conflicts are found
name: Check for merge conflicts
# Run whenever the "main" branch is updated
# NOTE: This means merge conflicts are only checked for when a PR is merged to main.
# Run this for all pushes (i.e. merges) to 'main' or maintenance branches
on:
push:
branches:
- main
- 'dspace-**'
# So that the `conflict_label_name` is removed if conflicts are resolved,
# we allow this to run for `pull_request_target` so that github secrets are available.
pull_request_target:
types: [ synchronize ]
permissions: {}
jobs:
triage:
# Ensure this job never runs on forked repos. It's only executed for 'dspace/dspace-angular'
if: github.repository == 'dspace/dspace-angular'
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
# See: https://github.com/mschilde/auto-label-merge-conflicts/
# See: https://github.com/prince-chrismc/label-merge-conflicts-action
- name: Auto-label PRs with merge conflicts
uses: mschilde/auto-label-merge-conflicts@v2.0
uses: prince-chrismc/label-merge-conflicts-action@v3
# Ignore any failures -- may occur (randomly?) for older, outdated PRs.
continue-on-error: true
# Add "merge conflict" label if a merge conflict is detected. Remove it when resolved.
# Note, the authentication token is created automatically
# See: https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
with:
CONFLICT_LABEL_NAME: 'merge conflict'
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Ignore errors
continue-on-error: true
conflict_label_name: 'merge conflict'
github_token: ${{ secrets.GITHUB_TOKEN }}
conflict_comment: |
Hi @${author},
Conflicts have been detected against the base branch.
Please [resolve these conflicts](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/about-merge-conflicts) as soon as you can. Thanks!

View File

@@ -0,0 +1,46 @@
# This workflow will attempt to port a merged pull request to
# the branch specified in a "port to" label (if exists)
name: Port merged Pull Request
# Only run for merged PRs against the "main" or maintenance branches
# We allow this to run for `pull_request_target` so that github secrets are available
# (This is required when the PR comes from a forked repo)
on:
pull_request_target:
types: [ closed ]
branches:
- main
- 'dspace-**'
permissions:
contents: write # so action can add comments
pull-requests: write # so action can create pull requests
jobs:
port_pr:
runs-on: ubuntu-latest
# Don't run on closed *unmerged* pull requests
if: github.event.pull_request.merged
steps:
# Checkout code
- uses: actions/checkout@v4
# Port PR to other branch (ONLY if labeled with "port to")
# See https://github.com/korthout/backport-action
- name: Create backport pull requests
uses: korthout/backport-action@v2
with:
# Trigger based on a "port to [branch]" label on PR
# (This label must specify the branch name to port to)
label_pattern: '^port to ([^ ]+)$'
# Title to add to the (newly created) port PR
pull_title: '[Port ${target_branch}] ${pull_title}'
# Description to add to the (newly created) port PR
pull_description: 'Port of #${pull_number} by @${pull_author} to `${target_branch}`.'
# Copy all labels from original PR to (newly created) port PR
# NOTE: The labels matching 'label_pattern' are automatically excluded
copy_labels_pattern: '.*'
# Skip any merge commits in the ported PR. This means only non-merge commits are cherry-picked to the new PR
merge_commits: 'skip'
# Use a personal access token (PAT) to create PR as 'dspace-bot' user.
# A PAT is required in order for the new PR to trigger its own actions (for CI checks)
github_token: ${{ secrets.PR_PORT_TOKEN }}

View File

@@ -0,0 +1,24 @@
# This workflow runs whenever a new pull request is created
name: Pull Request opened
# Only run for newly opened PRs against the "main" or maintenance branches
# We allow this to run for `pull_request_target` so that github secrets are available
# (This is required to assign a PR back to the creator when the PR comes from a forked repo)
on:
pull_request_target:
types: [ opened ]
branches:
- main
- 'dspace-**'
permissions:
pull-requests: write
jobs:
automation:
runs-on: ubuntu-latest
steps:
# Assign the PR to whomever created it. This is useful for visualizing assignments on project boards
# See https://github.com/toshimaru/auto-author-assign
- name: Assign PR to creator
uses: toshimaru/auto-author-assign@v2.0.1

2
.gitignore vendored
View File

@@ -39,3 +39,5 @@ package-lock.json
/nbproject/
junit.xml
/src/mirador-viewer/config.local.js

46
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,46 @@
# How to Contribute
DSpace is a community built and supported project. We do not have a centralized development or support team, but have a dedicated group of volunteers who help us improve the software, documentation, resources, etc.
* [Contribute new code via a Pull Request](#contribute-new-code-via-a-pull-request)
* [Contribute documentation](#contribute-documentation)
* [Help others on mailing lists or Slack](#help-others-on-mailing-lists-or-slack)
* [Join a working or interest group](#join-a-working-or-interest-group)
## Contribute new code via a Pull Request
We accept [GitHub Pull Requests (PRs)](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) at any time from anyone.
Contributors to each release are recognized in our [Release Notes](https://wiki.lyrasis.org/display/DSDOC7x/Release+Notes).
Code Contribution Checklist
- [ ] PRs _should_ be smaller in size (ideally less than 1,000 lines of code, not including comments & tests)
- [ ] PRs **must** pass [ESLint](https://eslint.org/) validation using `yarn lint`
- [ ] PRs **must** not introduce circular dependencies (verified via `yarn check-circ-deps`)
- [ ] PRs **must** include [TypeDoc](https://typedoc.org/) comments for _all new (or modified) public methods and classes_. Large or complex private methods should also have TypeDoc.
- [ ] PRs **must** pass all automated pecs/tests and includes new/updated specs or tests based on the [Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code+Testing+Guide).
- [ ] If a PR includes new libraries/dependencies (in `package.json`), then their software licenses **must** align with the [DSpace BSD License](https://github.com/DSpace/dspace-angular/blob/main/LICENSE) based on the [Licensing of Contributions](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines#CodeContributionGuidelines-LicensingofContributions) documentation.
- [ ] Basic technical documentation _should_ be provided for any new features or configuration, either in the PR itself or in the DSpace Wiki documentation.
- [ ] If a PR fixes an issue ticket, please [link them together](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue).
Additional details on the code contribution process can be found in our [Code Contribution Guidelines](https://wiki.lyrasis.org/display/DSPACE/Code+Contribution+Guidelines)
## Contribute documentation
DSpace Documentation is a collaborative effort in a shared Wiki. The latest documentation is at https://wiki.lyrasis.org/display/DSDOC7x
If you find areas of the DSpace Documentation which you wish to improve, please request a Wiki account by emailing wikihelp@lyrasis.org.
Once you have an account setup, contact @tdonohue (via [Slack](https://wiki.lyrasis.org/display/DSPACE/Slack) or email) for access to edit our Documentation.
## Help others on mailing lists or Slack
DSpace has our own [Slack](https://wiki.lyrasis.org/display/DSPACE/Slack) community and [Mailing Lists](https://wiki.lyrasis.org/display/DSPACE/Mailing+Lists) where discussions take place and questions are answered.
Anyone is welcome to join and help others. We just ask you to follow our [Code of Conduct](https://www.lyrasis.org/about/Pages/Code-of-Conduct.aspx) (adopted via LYRASIS).
## Join a working or interest group
Most of the work in building/improving DSpace comes via [Working Groups](https://wiki.lyrasis.org/display/DSPACE/DSpace+Working+Groups) or [Interest Groups](https://wiki.lyrasis.org/display/DSPACE/DSpace+Interest+Groups).
All working/interest groups are open to anyone to join and participate. A few key groups to be aware of include:
* [DSpace 7 Working Group](https://wiki.lyrasis.org/display/DSPACE/DSpace+7+Working+Group) - This is the main (mostly volunteer) development team. We meet weekly to review our current development [project board](https://github.com/orgs/DSpace/projects), assigning tickets and/or PRs.
* [DSpace Community Advisory Team (DCAT)](https://wiki.lyrasis.org/display/cmtygp/DSpace+Community+Advisory+Team) - This is an interest group for repository managers/administrators. We meet monthly to discuss DSpace, share tips & provide feedback back to developers.

View File

@@ -1,7 +1,12 @@
# This image will be published as dspace/dspace-angular
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details
FROM node:14-alpine
FROM node:18-alpine
# Ensure Python and other build tools are available
# These are needed to install some node modules, especially on linux/arm64
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
WORKDIR /app
ADD . /app/
EXPOSE 4000
@@ -10,8 +15,14 @@ EXPOSE 4000
# See, for example https://github.com/yarnpkg/yarn/issues/5540
RUN yarn install --network-timeout 300000
# When running in dev mode, 4GB of memory is required to build & launch the app.
# This default setting can be overridden as needed in your shell, via an env file or in docker-compose.
# See Docker environment var precedence: https://docs.docker.com/compose/environment-variables/envvars-precedence/
ENV NODE_OPTIONS="--max_old_space_size=4096"
# On startup, run in DEVELOPMENT mode (this defaults to live reloading enabled, etc).
# Listen / accept connections from all IP addresses.
# NOTE: At this time it is only possible to run Docker container in Production mode
# if you have a public IP. See https://github.com/DSpace/dspace-angular/issues/1485
# if you have a public URL. See https://github.com/DSpace/dspace-angular/issues/1485
ENV NODE_ENV development
CMD yarn serve --host 0.0.0.0

31
Dockerfile.dist Normal file
View File

@@ -0,0 +1,31 @@
# This image will be published as dspace/dspace-angular:$DSPACE_VERSION-dist
# See https://github.com/DSpace/dspace-angular/tree/main/docker for usage details
# Test build:
# docker build -f Dockerfile.dist -t dspace/dspace-angular:latest-dist .
FROM node:18-alpine as build
# Ensure Python and other build tools are available
# These are needed to install some node modules, especially on linux/arm64
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install --network-timeout 300000
ADD . /app/
RUN yarn build:prod
FROM node:18-alpine
RUN npm install --global pm2
COPY --chown=node:node --from=build /app/dist /app/dist
COPY --chown=node:node config /app/config
COPY --chown=node:node docker/dspace-ui.json /app/dspace-ui.json
WORKDIR /app
USER node
ENV NODE_ENV production
EXPOSE 4000
CMD pm2-runtime start dspace-ui.json --json

View File

@@ -35,7 +35,7 @@ https://wiki.lyrasis.org/display/DSDOC7x/Installing+DSpace
Quick start
-----------
**Ensure you're running [Node](https://nodejs.org) `v14.x` or `v16.x`, [npm](https://www.npmjs.com/) >= `v5.x` and [yarn](https://yarnpkg.com) == `v1.x`**
**Ensure you're running [Node](https://nodejs.org) `v16.x` or `v18.x`, [npm](https://www.npmjs.com/) >= `v5.x` and [yarn](https://yarnpkg.com) == `v1.x`**
```bash
# clone the repo
@@ -90,7 +90,7 @@ Requirements
------------
- [Node.js](https://nodejs.org) and [yarn](https://yarnpkg.com)
- Ensure you're running node `v14.x` or `v16.x` and yarn == `v1.x`
- Ensure you're running node `v16.x` or `v18.x` and yarn == `v1.x`
If you have [`nvm`](https://github.com/creationix/nvm#install-script) or [`nvm-windows`](https://github.com/coreybutler/nvm-windows) installed, which is highly recommended, you can run `nvm install --lts && nvm use` to install and start using the latest Node LTS.
@@ -157,8 +157,8 @@ DSPACE_UI_SSL => DSPACE_SSL
The same settings can also be overwritten by setting system environment variables instead, E.g.:
```bash
export DSPACE_HOST=api7.dspace.org
export DSPACE_UI_PORT=4200
export DSPACE_HOST=demo.dspace.org
export DSPACE_UI_PORT=4000
```
The priority works as follows: **environment variable** overrides **variable in `.env` file** overrides external config set by `DSPACE_APP_CONFIG_PATH` overrides **`config.(prod or dev).yml`**
@@ -288,7 +288,7 @@ E2E tests (aka integration tests) use [Cypress.io](https://www.cypress.io/). Con
The test files can be found in the `./cypress/integration/` folder.
Before you can run e2e tests, two things are REQUIRED:
1. You MUST be running the DSpace backend (i.e. REST API) locally. The e2e tests will *NOT* succeed if run against our demo REST API (https://api7.dspace.org/server/), as that server is uncontrolled and may have content added/removed at any time.
1. You MUST be running the DSpace backend (i.e. REST API) locally. The e2e tests will *NOT* succeed if run against our demo/sandbox REST API (https://demo.dspace.org/server/ or https://sandbox.dspace.org/server/), as those sites may have content added/removed at any time.
* After starting up your backend on localhost, make sure either your `config.prod.yml` or `config.dev.yml` has its `rest` settings defined to use that localhost backend.
* If you'd prefer, you may instead use environment variables as described at [Configuring](#configuring). For example:
```
@@ -351,7 +351,7 @@ Documentation
Official DSpace documentation is available in the DSpace wiki at https://wiki.lyrasis.org/display/DSDOC7x/
Some UI specific configuration documentation is also found in the [`./docs`](docs) folder of htis codebase.
Some UI specific configuration documentation is also found in the [`./docs`](docs) folder of this codebase.
### Building code documentation
@@ -379,10 +379,10 @@ To get the most out of TypeScript, you'll need a TypeScript-aware editor. We've
- [Sublime Text](http://www.sublimetext.com/3)
- [Typescript-Sublime-Plugin](https://github.com/Microsoft/Typescript-Sublime-plugin#installation)
Collaborating
Contributing
-------------
See [the guide on the wiki](https://wiki.lyrasis.org/display/DSPACE/DSpace+7+-+Angular+UI+Development#DSpace7-AngularUIDevelopment-Howtocontribute)
See [Contributing documentation](CONTRIBUTING.md)
File Structure
--------------
@@ -413,8 +413,7 @@ dspace-angular
│ ├── merge-i18n-files.ts *
│ ├── serve.ts *
│ ├── sync-i18n-files.ts *
── test-rest.ts *
│ └── webpack.js *
── test-rest.ts *
├── src * The source of the application
│ ├── app * The source code of the application, subdivided by module/page.
│ ├── assets * Folder for static resources

View File

@@ -25,12 +25,10 @@
}
},
"allowedCommonJsDependencies": [
"angular2-text-mask",
"cerialize",
"core-js",
"lodash",
"jwt-decode",
"url-parse",
"uuid",
"webfontloader",
"zone.js"
@@ -268,16 +266,26 @@
"options": {
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
"src/**/*.html",
"src/**/*.json5"
]
}
}
}
}
},
"defaultProject": "dspace-angular",
"cli": {
"analytics": false,
"defaultCollection": "@angular-eslint/schematics"
"schematicCollections": [
"@angular-eslint/schematics"
]
},
"schematics": {
"@angular-eslint/schematics:application": {
"setParserOptionsProject": true
},
"@angular-eslint/schematics:library": {
"setParserOptionsProject": true
}
}
}

View File

@@ -17,12 +17,19 @@ ui:
# Trust X-FORWARDED-* headers from proxies (default = true)
useProxies: true
universal:
# Whether to inline "critical" styles into the server-side rendered HTML.
# Determining which styles are critical is a relatively expensive operation;
# this option can be disabled to boost server performance at the expense of
# loading smoothness.
inlineCriticalCss: true
# The REST API server settings
# NOTE: these settings define which (publicly available) REST API to use. They are usually
# 'synced' with the 'dspace.server.url' setting in your backend's local.cfg.
rest:
ssl: true
host: api7.dspace.org
host: sandbox.dspace.org
port: 443
# NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
nameSpace: /server
@@ -32,12 +39,60 @@ cache:
# NOTE: how long should objects be cached for by default
msToLive:
default: 900000 # 15 minutes
control: max-age=60 # revalidate browser
# Default 'Cache-Control' HTTP Header to set for all static content (including compiled *.js files)
# Defaults to max-age=604,800 seconds (one week). This lets a user's browser know that it can cache these
# files for one week, after which they will be "stale" and need to be redownloaded.
# NOTE: When updates are made to compiled *.js files, it will automatically bypass this browser cache, because
# all compiled *.js files include a unique hash in their name which updates when content is modified.
control: max-age=604800 # revalidate browser
autoSync:
defaultTime: 0
maxBufferSize: 100
timePerMethod:
PATCH: 3 # time in seconds
# In-memory cache(s) of server-side rendered pages. These caches will store the most recently accessed public pages.
# Pages are automatically added/dropped from these caches based on how recently they have been used.
# Restarting the app clears all page caches.
# NOTE: To control the cache size, use the "max" setting. Keep in mind, individual cached pages are usually small (<100KB).
# Enabling *both* caches will mean that a page may be cached twice, once in each cache (but may expire at different times via timeToLive).
serverSide:
# Set to true to see all cache hits/misses/refreshes in your console logs. Useful for debugging SSR caching issues.
debug: false
# When enabled (i.e. max > 0), known bots will be sent pages from a server side cache specific for bots.
# (Keep in mind, bot detection cannot be guarranteed. It is possible some bots will bypass this cache.)
botCache:
# Maximum number of pages to cache for known bots. Set to zero (0) to disable server side caching for bots.
# Default is 1000, which means the 1000 most recently accessed public pages will be cached.
# As all pages are cached in server memory, increasing this value will increase memory needs.
# Individual cached pages are usually small (<100KB), so max=1000 should only require ~100MB of memory.
max: 1000
# Amount of time after which cached pages are considered stale (in ms). After becoming stale, the cached
# copy is automatically refreshed on the next request.
# NOTE: For the bot cache, this setting may impact how quickly search engine bots will index new content on your site.
# For example, setting this to one week may mean that search engine bots may not find all new content for one week.
timeToLive: 86400000 # 1 day
# When set to true, after timeToLive expires, the next request will receive the *cached* page & then re-render the page
# behind the scenes to update the cache. This ensures users primarily interact with the cache, but may receive stale pages (older than timeToLive).
# When set to false, after timeToLive expires, the next request will wait on SSR to complete & receive a fresh page (which is then saved to cache).
# This ensures stale pages (older than timeToLive) are never returned from the cache, but some users will wait on SSR.
allowStale: true
# When enabled (i.e. max > 0), all anonymous users will be sent pages from a server side cache.
# This allows anonymous users to interact more quickly with the site, but also means they may see slightly
# outdated content (based on timeToLive)
anonymousCache:
# Maximum number of pages to cache. Default is zero (0) which means anonymous user cache is disabled.
# As all pages are cached in server memory, increasing this value will increase memory needs.
# Individual cached pages are usually small (<100KB), so a value of max=1000 would only require ~100MB of memory.
max: 0
# Amount of time after which cached pages are considered stale (in ms). After becoming stale, the cached
# copy is automatically refreshed on the next request.
# NOTE: For the anonymous cache, it is recommended to keep this value low to avoid anonymous users seeing outdated content.
timeToLive: 10000 # 10 seconds
# When set to true, after timeToLive expires, the next request will receive the *cached* page & then re-render the page
# behind the scenes to update the cache. This ensures users primarily interact with the cache, but may receive stale pages (older than timeToLive).
# When set to false, after timeToLive expires, the next request will wait on SSR to complete & receive a fresh page (which is then saved to cache).
# This ensures stale pages (older than timeToLive) are never returned from the cache, but some users will wait on SSR.
allowStale: true
# Authentication settings
auth:
@@ -55,6 +110,8 @@ auth:
# Form settings
form:
# Sets the spellcheck textarea attribute value
spellCheck: true
# NOTE: Map server-side validators to comparative Angular form validators
validatorMap:
required: required
@@ -81,12 +138,16 @@ submission:
# NOTE: after how many time (milliseconds) submission is saved automatically
# eg. timer: 5 * (1000 * 60); // 5 minutes
timer: 0
# Always show the duplicate detection section if enabled, even if there are no potential duplicates detected
# (a message will be displayed to indicate no matches were found)
duplicateDetection:
alwaysShowSection: false
icons:
metadata:
# NOTE: example of configuration
# # NOTE: metadata name
# - name: dc.author
# # NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
# # NOTE: fontawesome (v6.x) icon classes and bootstrap utility classes can be used
# style: fas fa-user
- name: dc.author
style: fas fa-user
@@ -97,18 +158,40 @@ submission:
confidence:
# NOTE: example of configuration
# # NOTE: confidence value
# - name: dc.author
# # NOTE: fontawesome (v5.x) icon classes and bootstrap utility classes can be used
# style: fa-user
# - value: 600
# # NOTE: fontawesome (v6.x) icon classes and bootstrap utility classes can be used
# style: text-success
# icon: fa-circle-check
# # NOTE: the class configured in property style is used by default, the icon property could be used in component
# configured to use a 'icon mode' display (mainly in edit-item page)
- value: 600
style: text-success
icon: fa-circle-check
- value: 500
style: text-info
icon: fa-gear
- value: 400
style: text-warning
icon: fa-circle-question
- value: 300
style: text-muted
icon: fa-thumbs-down
- value: 200
style: text-muted
icon: fa-circle-exclamation
- value: 100
style: text-muted
icon: fa-circle-stop
- value: 0
style: text-muted
icon: fa-ban
- value: -1
style: text-muted
icon: fa-circle-xmark
# default configuration
- value: default
style: text-muted
icon: fa-circle-xmark
# Default Language in which the UI will be rendered if the user's browser language is not an active language
defaultLanguage: en
@@ -119,6 +202,9 @@ languages:
- code: en
label: English
active: true
- code: ca
label: Català
active: true
- code: cs
label: Čeština
active: true
@@ -134,6 +220,9 @@ languages:
- code: gd
label: Gàidhlig
active: true
- code: it
label: Italiano
active: true
- code: lv
label: Latviešu
active: true
@@ -143,12 +232,18 @@ languages:
- code: nl
label: Nederlands
active: true
- code: pl
label: Polski
active: true
- code: pt-PT
label: Português
active: true
- code: pt-BR
label: Português do Brasil
active: true
- code: sr-lat
label: Srpski (lat)
active: true
- code: fi
label: Suomi
active: true
@@ -158,6 +253,9 @@ languages:
- code: tr
label: Türkçe
active: true
- code: vi
label: Tiếng Việt
active: true
- code: kk
label: Қазақ
active: true
@@ -170,6 +268,13 @@ languages:
- code: el
label: Ελληνικά
active: true
- code: sr-cyr
label: Српски
active: true
- code: uk
label: раї́нська
active: true
# Browse-By Pages
browseBy:
@@ -200,6 +305,8 @@ homePage:
# No. of communities to list per page on the home page
# This will always round to the nearest number from the list of page sizes. e.g. if you set it to 7 it'll use 10
pageSize: 5
# Enable or disable the Discover filters on the homepage
showDiscoverFilters: false
# Item Config
item:
@@ -207,9 +314,23 @@ item:
undoTimeout: 10000 # 10 seconds
# Show the item access status label in items lists
showAccessStatuses: false
bitstream:
# Number of entries in the bitstream list in the item view page.
# Rounded to the nearest size in the list of selectable sizes on the
# settings menu. See pageSizeOptions in 'pagination-component-options.model.ts'.
pageSize: 5
# Community Page Config
community:
# Search tab config
searchSection:
showSidebar: true
# Collection Page Config
collection:
# Search tab config
searchSection:
showSidebar: true
edit:
undoTimeout: 10000 # 10 seconds
@@ -221,33 +342,33 @@ themes:
#
# # A theme with a handle property will match the community, collection or item with the given
# # handle, and all collections and/or items within it
# - name: 'custom',
# handle: '10673/1233'
# - name: custom
# handle: 10673/1233
#
# # A theme with a regex property will match the route using a regular expression. If it
# # matches the route for a community or collection it will also apply to all collections
# # and/or items within it
# - name: 'custom',
# regex: 'collections\/e8043bc2.*'
# - name: custom
# regex: collections\/e8043bc2.*
#
# # A theme with a uuid property will match the community, collection or item with the given
# # ID, and all collections and/or items within it
# - name: 'custom',
# uuid: '0958c910-2037-42a9-81c7-dca80e3892b4'
# - name: custom
# uuid: 0958c910-2037-42a9-81c7-dca80e3892b4
#
# # The extends property specifies an ancestor theme (by name). Whenever a themed component is not found
# # in the current theme, its ancestor theme(s) will be checked recursively before falling back to default.
# - name: 'custom-A',
# extends: 'custom-B',
# - name: custom-A
# extends: custom-B
# # Any of the matching properties above can be used
# handle: '10673/34'
# handle: 10673/34
#
# - name: 'custom-B',
# extends: 'custom',
# handle: '10673/12'
# - name: custom-B
# extends: custom
# handle: 10673/12
#
# # A theme with only a name will match every route
# name: 'custom'
# name: custom
#
# # This theme will use the default bootstrap styling for DSpace components
# - name: BASE_THEME_NAME
@@ -295,4 +416,89 @@ info:
# display in supported metadata fields. By default, only dc.description.abstract is supported.
markdown:
enabled: false
mathjax: false
mathjax: false
# Which vocabularies should be used for which search filters
# and whether to show the filter in the search sidebar
# Take a look at the filter-vocabulary-config.ts file for documentation on how the options are obtained
vocabularies:
- filter: 'subject'
vocabulary: 'srsc'
enabled: true
# Default collection/community sorting order at Advanced search, Create/update community and collection when there are not a query.
comcolSelectionSort:
sortField: 'dc.title'
sortDirection: 'ASC'
# Example of fallback collection for suggestions import
# suggestion:
# - collectionId: 8f7df5ca-f9c2-47a4-81ec-8a6393d6e5af
# source: "openaire"
# Search settings
search:
# Settings to enable/disable or configure advanced search filters.
advancedFilters:
enabled: false
# List of filters to enable in "Advanced Search" dropdown
filter: [ 'title', 'author', 'subject', 'entityType' ]
# Notify metrics
# Configuration for Notify Admin Dashboard for metrics visualization
notifyMetrics:
# Configuration for received messages
- title: 'admin-notify-dashboard.received-ldn'
boxes:
- color: '#B8DAFF'
title: 'admin-notify-dashboard.NOTIFY.incoming.accepted'
config: 'NOTIFY.incoming.accepted'
description: 'admin-notify-dashboard.NOTIFY.incoming.accepted.description'
- color: '#D4EDDA'
title: 'admin-notify-dashboard.NOTIFY.incoming.processed'
config: 'NOTIFY.incoming.processed'
description: 'admin-notify-dashboard.NOTIFY.incoming.processed.description'
- color: '#FDBBC7'
title: 'admin-notify-dashboard.NOTIFY.incoming.failure'
config: 'NOTIFY.incoming.failure'
description: 'admin-notify-dashboard.NOTIFY.incoming.failure.description'
- color: '#FDBBC7'
title: 'admin-notify-dashboard.NOTIFY.incoming.untrusted'
config: 'NOTIFY.incoming.untrusted'
description: 'admin-notify-dashboard.NOTIFY.incoming.untrusted.description'
- color: '#43515F'
title: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems'
textColor: '#fff'
config: 'NOTIFY.incoming.involvedItems'
description: 'admin-notify-dashboard.NOTIFY.incoming.involvedItems.description'
# Configuration for outgoing messages
- title: 'admin-notify-dashboard.generated-ldn'
boxes:
- color: '#B8DAFF'
title: 'admin-notify-dashboard.NOTIFY.outgoing.queued'
config: 'NOTIFY.outgoing.queued'
description: 'admin-notify-dashboard.NOTIFY.outgoing.queued.description'
- color: '#FDEEBB'
title: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry'
config: 'NOTIFY.outgoing.queued_for_retry'
description: 'admin-notify-dashboard.NOTIFY.outgoing.queued_for_retry.description'
- color: '#FDBBC7'
title: 'admin-notify-dashboard.NOTIFY.outgoing.failure'
config: 'NOTIFY.outgoing.failure'
description: 'admin-notify-dashboard.NOTIFY.outgoing.failure.description'
- color: '#43515F'
title: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems'
textColor: '#fff'
config: 'NOTIFY.outgoing.involvedItems'
description: 'admin-notify-dashboard.NOTIFY.outgoing.involvedItems.description'
- color: '#D4EDDA'
title: 'admin-notify-dashboard.NOTIFY.outgoing.delivered'
config: 'NOTIFY.outgoing.delivered'
description: 'admin-notify-dashboard.NOTIFY.outgoing.delivered.description'

View File

@@ -1,5 +1,5 @@
rest:
ssl: true
host: api7.dspace.org
host: sandbox.dspace.org
port: 443
nameSpace: /server

47
cypress.config.ts Normal file
View File

@@ -0,0 +1,47 @@
import { defineConfig } from 'cypress';
export default defineConfig({
videosFolder: 'cypress/videos',
screenshotsFolder: 'cypress/screenshots',
fixturesFolder: 'cypress/fixtures',
retries: {
runMode: 2,
openMode: 0,
},
env: {
// Global DSpace environment variables used in all our Cypress e2e tests
// May be modified in this config, or overridden in a variety of ways.
// See Cypress environment variable docs: https://docs.cypress.io/guides/guides/environment-variables
// Default values listed here are all valid for the Demo Entities Data set available at
// https://github.com/DSpace-Labs/AIP-Files/releases/tag/demo-entities-data
// (This is the data set used in our CI environment)
// Admin account used for administrative tests
DSPACE_TEST_ADMIN_USER: 'dspacedemo+admin@gmail.com',
DSPACE_TEST_ADMIN_PASSWORD: 'dspace',
// Community/collection/publication used for view/edit tests
DSPACE_TEST_COMMUNITY: '0958c910-2037-42a9-81c7-dca80e3892b4',
DSPACE_TEST_COLLECTION: '282164f5-d325-4740-8dd1-fa4d6d3e7200',
DSPACE_TEST_ENTITY_PUBLICATION: '6160810f-1e53-40db-81ef-f6621a727398',
// Search term (should return results) used in search tests
DSPACE_TEST_SEARCH_TERM: 'test',
// Main Collection used for submission tests. Should be able to accept normal Item objects
DSPACE_TEST_SUBMIT_COLLECTION_NAME: 'Sample Collection',
DSPACE_TEST_SUBMIT_COLLECTION_UUID: '9d8334e9-25d3-4a67-9cea-3dffdef80144',
// Collection used for Person entity submission tests. MUST be configured with EntityType=Person.
DSPACE_TEST_SUBMIT_PERSON_COLLECTION_NAME: 'People',
// Account used to test basic submission process
DSPACE_TEST_SUBMIT_USER: 'dspacedemo+submit@gmail.com',
DSPACE_TEST_SUBMIT_USER_PASSWORD: 'dspace',
},
e2e: {
// Setup our plugins for e2e tests
setupNodeEvents(on, config) {
return require('./cypress/plugins/index.ts')(on, config);
},
// This is the base URL that Cypress will run all tests against
// It can be overridden via the CYPRESS_BASE_URL environment variable
// (By default we set this to a value which should work in most development environments)
baseUrl: 'http://localhost:4000',
},
});

View File

@@ -1,25 +0,0 @@
{
"integrationFolder": "cypress/integration",
"supportFile": "cypress/support/index.ts",
"videosFolder": "cypress/videos",
"screenshotsFolder": "cypress/screenshots",
"pluginsFile": "cypress/plugins/index.ts",
"fixturesFolder": "cypress/fixtures",
"baseUrl": "http://localhost:4000",
"retries": {
"runMode": 2,
"openMode": 0
},
"env": {
"DSPACE_TEST_ADMIN_USER": "dspacedemo+admin@gmail.com",
"DSPACE_TEST_ADMIN_PASSWORD": "dspace",
"DSPACE_TEST_COMMUNITY": "0958c910-2037-42a9-81c7-dca80e3892b4",
"DSPACE_TEST_COLLECTION": "282164f5-d325-4740-8dd1-fa4d6d3e7200",
"DSPACE_TEST_ENTITY_PUBLICATION": "e98b0f27-5c19-49a0-960d-eb6ad5287067",
"DSPACE_TEST_SEARCH_TERM": "test",
"DSPACE_TEST_SUBMIT_COLLECTION_NAME": "Sample Collection",
"DSPACE_TEST_SUBMIT_COLLECTION_UUID": "9d8334e9-25d3-4a67-9cea-3dffdef80144",
"DSPACE_TEST_SUBMIT_USER": "dspacedemo+submit@gmail.com",
"DSPACE_TEST_SUBMIT_USER_PASSWORD": "dspace"
}
}

View File

@@ -0,0 +1,28 @@
import { testA11y } from 'cypress/support/utils';
import { Options } from 'cypress-axe';
describe('Admin Sidebar', () => {
beforeEach(() => {
// Must login as an Admin for sidebar to appear
cy.visit('/login');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});
it('should be pinnable and pass accessibility tests', () => {
// Pin the sidebar open
cy.get('#sidebar-collapse-toggle').click();
// Click on every expandable section to open all menus
cy.get('ds-expandable-admin-sidebar-section').click({ multiple: true });
// Analyze <ds-admin-sidebar> for accessibility
testA11y('ds-admin-sidebar',
{
rules: {
// Currently all expandable sections have nested interactive elements
// See https://github.com/DSpace/dspace-angular/issues/2178
'nested-interactive': { enabled: false },
},
} as Options);
});
});

View File

@@ -0,0 +1,14 @@
import { testA11y } from 'cypress/support/utils';
describe('Breadcrumbs', () => {
it('should pass accessibility tests', () => {
// Visit an Item, as those have more breadcrumbs
cy.visit('/entities/publication/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')));
// Wait for breadcrumbs to be visible
cy.get('ds-breadcrumbs').should('be.visible');
// Analyze <ds-breadcrumbs> for accessibility
testA11y('ds-breadcrumbs');
});
});

View File

@@ -0,0 +1,13 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Author', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/author');
// Wait for <ds-browse-by-metadata-page> to be visible
cy.get('ds-browse-by-metadata').should('be.visible');
// Analyze <ds-browse-by-metadata-page> for accessibility
testA11y('ds-browse-by-metadata');
});
});

View File

@@ -0,0 +1,13 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Date Issued', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/dateissued');
// Wait for <ds-browse-by-date-page> to be visible
cy.get('ds-browse-by-date').should('be.visible');
// Analyze <ds-browse-by-date-page> for accessibility
testA11y('ds-browse-by-date');
});
});

View File

@@ -0,0 +1,13 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Subject', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/subject');
// Wait for <ds-browse-by-metadata-page> to be visible
cy.get('ds-browse-by-metadata').should('be.visible');
// Analyze <ds-browse-by-metadata-page> for accessibility
testA11y('ds-browse-by-metadata');
});
});

View File

@@ -0,0 +1,13 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Title', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/title');
// Wait for <ds-browse-by-title-page> to be visible
cy.get('ds-browse-by-title').should('be.visible');
// Analyze <ds-browse-by-title-page> for accessibility
testA11y('ds-browse-by-title');
});
});

View File

@@ -0,0 +1,128 @@
import { testA11y } from 'cypress/support/utils';
const COLLECTION_EDIT_PAGE = '/collections/'.concat(Cypress.env('DSPACE_TEST_COLLECTION')).concat('/edit');
beforeEach(() => {
// All tests start with visiting the Edit Collection Page
cy.visit(COLLECTION_EDIT_PAGE);
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});
describe('Edit Collection > Edit Metadata tab', () => {
it('should pass accessibility tests', () => {
// <ds-edit-collection> tag must be loaded
cy.get('ds-edit-collection').should('be.visible');
// Analyze <ds-edit-collection> for accessibility issues
testA11y('ds-edit-collection');
});
});
describe('Edit Collection > Assign Roles tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="roles"]').click();
// <ds-collection-roles> tag must be loaded
cy.get('ds-collection-roles').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-collection-roles');
});
});
describe('Edit Collection > Content Source tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="source"]').click();
// <ds-collection-source> tag must be loaded
cy.get('ds-collection-source').should('be.visible');
// Check the external source checkbox (to display all fields on the page)
cy.get('#externalSourceCheck').check();
// Wait for the source controls to appear
// cy.get('ds-collection-source-controls').should('be.visible');
// Analyze entire page for accessibility issues
testA11y('ds-collection-source');
});
});
describe('Edit Collection > Curate tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="curate"]').click();
// <ds-collection-curate> tag must be loaded
cy.get('ds-collection-curate').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-collection-curate');
});
});
describe('Edit Collection > Access Control tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="access-control"]').click();
// <ds-collection-access-control> tag must be loaded
cy.get('ds-collection-access-control').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-collection-access-control');
});
});
describe('Edit Collection > Authorizations tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="authorizations"]').click();
// <ds-collection-authorizations> tag must be loaded
cy.get('ds-collection-authorizations').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-collection-authorizations');
});
});
describe('Edit Collection > Item Mapper tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="mapper"]').click();
// <ds-collection-item-mapper> tag must be loaded
cy.get('ds-collection-item-mapper').should('be.visible');
// Analyze entire page for accessibility issues
testA11y('ds-collection-item-mapper');
// Click on the "Map new Items" tab
cy.get('li[data-test="mapTab"] a').click();
// Make sure search form is now visible
cy.get('ds-search-form').should('be.visible');
// Analyze entire page (again) for accessibility issues
testA11y('ds-collection-item-mapper');
});
});
describe('Edit Collection > Delete page', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="delete-button"]').click();
// <ds-delete-collection> tag must be loaded
cy.get('ds-delete-collection').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-delete-collection');
});
});

View File

@@ -0,0 +1,14 @@
import { testA11y } from 'cypress/support/utils';
describe('Collection Page', () => {
it('should pass accessibility tests', () => {
cy.visit('/collections/'.concat(Cypress.env('DSPACE_TEST_COLLECTION')));
// <ds-collection-page> tag must be loaded
cy.get('ds-collection-page').should('be.visible');
// Analyze <ds-collection-page> for accessibility issues
testA11y('ds-collection-page');
});
});

View File

@@ -0,0 +1,37 @@
import { REGEX_MATCH_NON_EMPTY_TEXT } from 'cypress/support/e2e';
import { testA11y } from 'cypress/support/utils';
describe('Collection Statistics Page', () => {
const COLLECTIONSTATISTICSPAGE = '/statistics/collections/'.concat(Cypress.env('DSPACE_TEST_COLLECTION'));
it('should load if you click on "Statistics" from a Collection page', () => {
cy.visit('/collections/'.concat(Cypress.env('DSPACE_TEST_COLLECTION')));
cy.get('ds-navbar ds-link-menu-item a[data-test="link-menu-item.menu.section.statistics"]').click();
cy.location('pathname').should('eq', COLLECTIONSTATISTICSPAGE);
});
it('should contain a "Total visits" section', () => {
cy.visit(COLLECTIONSTATISTICSPAGE);
cy.get('table[data-test="TotalVisits"]').should('be.visible');
});
it('should contain a "Total visits per month" section', () => {
cy.visit(COLLECTIONSTATISTICSPAGE);
// Check just for existence because this table is empty in CI environment as it's historical data
cy.get('.'.concat(Cypress.env('DSPACE_TEST_COLLECTION')).concat('_TotalVisitsPerMonth')).should('exist');
});
it('should pass accessibility tests', () => {
cy.visit(COLLECTIONSTATISTICSPAGE);
// <ds-collection-statistics-page> tag must be loaded
cy.get('ds-collection-statistics-page').should('be.visible');
// Verify / wait until "Total Visits" table's label is non-empty
// (This table loads these labels asynchronously, so we want to wait for them before analyzing page)
cy.get('table[data-test="TotalVisits"] th[data-test="statistics-label"]').contains(REGEX_MATCH_NON_EMPTY_TEXT);
// Analyze <ds-collection-statistics-page> for accessibility issues
testA11y('ds-collection-statistics-page');
});
});

View File

@@ -0,0 +1,86 @@
import { testA11y } from 'cypress/support/utils';
const COMMUNITY_EDIT_PAGE = '/communities/'.concat(Cypress.env('DSPACE_TEST_COMMUNITY')).concat('/edit');
beforeEach(() => {
// All tests start with visiting the Edit Community Page
cy.visit(COMMUNITY_EDIT_PAGE);
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});
describe('Edit Community > Edit Metadata tab', () => {
it('should pass accessibility tests', () => {
// <ds-edit-community> tag must be loaded
cy.get('ds-edit-community').should('be.visible');
// Analyze <ds-edit-community> for accessibility issues
testA11y('ds-edit-community');
});
});
describe('Edit Community > Assign Roles tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="roles"]').click();
// <ds-community-roles> tag must be loaded
cy.get('ds-community-roles').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-community-roles');
});
});
describe('Edit Community > Curate tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="curate"]').click();
// <ds-community-curate> tag must be loaded
cy.get('ds-community-curate').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-community-curate');
});
});
describe('Edit Community > Access Control tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="access-control"]').click();
// <ds-community-access-control> tag must be loaded
cy.get('ds-community-access-control').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-community-access-control');
});
});
describe('Edit Community > Authorizations tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="authorizations"]').click();
// <ds-community-authorizations> tag must be loaded
cy.get('ds-community-authorizations').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-community-authorizations');
});
});
describe('Edit Community > Delete page', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="delete-button"]').click();
// <ds-delete-community> tag must be loaded
cy.get('ds-delete-community').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-delete-community');
});
});

View File

@@ -0,0 +1,17 @@
import { testA11y } from 'cypress/support/utils';
describe('Community List Page', () => {
it('should pass accessibility tests', () => {
cy.visit('/community-list');
// <ds-community-list-page> tag must be loaded
cy.get('ds-community-list-page').should('be.visible');
// Open every expand button on page, so that we can scan sub-elements as well
cy.get('[data-test="expand-button"]').click({ multiple: true });
// Analyze <ds-community-list-page> for accessibility issues
testA11y('ds-community-list-page');
});
});

View File

@@ -0,0 +1,14 @@
import { testA11y } from 'cypress/support/utils';
describe('Community Page', () => {
it('should pass accessibility tests', () => {
cy.visit('/communities/'.concat(Cypress.env('DSPACE_TEST_COMMUNITY')));
// <ds-community-page> tag must be loaded
cy.get('ds-community-page').should('be.visible');
// Analyze <ds-community-page> for accessibility issues
testA11y('ds-community-page');
});
});

View File

@@ -0,0 +1,37 @@
import { REGEX_MATCH_NON_EMPTY_TEXT } from 'cypress/support/e2e';
import { testA11y } from 'cypress/support/utils';
describe('Community Statistics Page', () => {
const COMMUNITYSTATISTICSPAGE = '/statistics/communities/'.concat(Cypress.env('DSPACE_TEST_COMMUNITY'));
it('should load if you click on "Statistics" from a Community page', () => {
cy.visit('/communities/'.concat(Cypress.env('DSPACE_TEST_COMMUNITY')));
cy.get('ds-navbar ds-link-menu-item a[data-test="link-menu-item.menu.section.statistics"]').click();
cy.location('pathname').should('eq', COMMUNITYSTATISTICSPAGE);
});
it('should contain a "Total visits" section', () => {
cy.visit(COMMUNITYSTATISTICSPAGE);
cy.get('table[data-test="TotalVisits"]').should('be.visible');
});
it('should contain a "Total visits per month" section', () => {
cy.visit(COMMUNITYSTATISTICSPAGE);
// Check just for existence because this table is empty in CI environment as it's historical data
cy.get('.'.concat(Cypress.env('DSPACE_TEST_COMMUNITY')).concat('_TotalVisitsPerMonth')).should('exist');
});
it('should pass accessibility tests', () => {
cy.visit(COMMUNITYSTATISTICSPAGE);
// <ds-community-statistics-page> tag must be loaded
cy.get('ds-community-statistics-page').should('be.visible');
// Verify / wait until "Total Visits" table's label is non-empty
// (This table loads these labels asynchronously, so we want to wait for them before analyzing page)
cy.get('table[data-test="TotalVisits"] th[data-test="statistics-label"]').contains(REGEX_MATCH_NON_EMPTY_TEXT);
// Analyze <ds-community-statistics-page> for accessibility issues
testA11y('ds-community-statistics-page');
});
});

13
cypress/e2e/footer.cy.ts Normal file
View File

@@ -0,0 +1,13 @@
import { testA11y } from 'cypress/support/utils';
describe('Footer', () => {
it('should pass accessibility tests', () => {
cy.visit('/');
// Footer must first be visible
cy.get('ds-footer').should('be.visible');
// Analyze <ds-footer> for accessibility
testA11y('ds-footer');
});
});

13
cypress/e2e/header.cy.ts Normal file
View File

@@ -0,0 +1,13 @@
import { testA11y } from 'cypress/support/utils';
describe('Header', () => {
it('should pass accessibility tests', () => {
cy.visit('/');
// Header must first be visible
cy.get('ds-header').should('be.visible');
// Analyze <ds-header> for accessibility
testA11y('ds-header');
});
});

View File

@@ -0,0 +1,32 @@
import '../support/commands';
import { REGEX_MATCH_NON_EMPTY_TEXT } from 'cypress/support/e2e';
import { testA11y } from 'cypress/support/utils';
describe('Site Statistics Page', () => {
it('should load if you click on "Statistics" from homepage', () => {
cy.visit('/');
cy.get('ds-navbar ds-link-menu-item a[data-test="link-menu-item.menu.section.statistics"]').click();
cy.location('pathname').should('eq', '/statistics');
});
it('should pass accessibility tests', () => {
// generate 2 view events on an Item's page
cy.generateViewEvent(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION'), 'item');
cy.generateViewEvent(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION'), 'item');
cy.visit('/statistics');
// <ds-site-statistics-page> tag must be visable
cy.get('ds-site-statistics-page').should('be.visible');
// Verify / wait until "Total Visits" table's *last* label is non-empty
// (This table loads these labels asynchronously, so we want to wait for them before analyzing page)
cy.get('table[data-test="TotalVisits"] th[data-test="statistics-label"]').last().contains(REGEX_MATCH_NON_EMPTY_TEXT);
// Wait an extra 500ms, just so all entries in Total Visits have loaded.
cy.wait(500);
// Analyze <ds-site-statistics-page> for accessibility issues
testA11y('ds-site-statistics-page');
});
});

View File

@@ -6,8 +6,8 @@ describe('Homepage', () => {
cy.visit('/');
});
it('should display translated title "DSpace Angular :: Home"', () => {
cy.title().should('eq', 'DSpace Angular :: Home');
it('should display translated title "DSpace Repository :: Home"', () => {
cy.title().should('eq', 'DSpace Repository :: Home');
});
it('should contain a news section', () => {

135
cypress/e2e/item-edit.cy.ts Normal file
View File

@@ -0,0 +1,135 @@
import { testA11y } from 'cypress/support/utils';
import { Options } from 'cypress-axe';
const ITEM_EDIT_PAGE = '/items/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')).concat('/edit');
beforeEach(() => {
// All tests start with visiting the Edit Item Page
cy.visit(ITEM_EDIT_PAGE);
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});
describe('Edit Item > Edit Metadata tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="metadata"]').click();
// <ds-edit-item-page> tag must be loaded
cy.get('ds-edit-item-page').should('be.visible');
// Analyze <ds-edit-item-page> for accessibility issues
testA11y('ds-edit-item-page');
});
});
describe('Edit Item > Status tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="status"]').click();
// <ds-item-status> tag must be loaded
cy.get('ds-item-status').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-item-status');
});
});
describe('Edit Item > Bitstreams tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="bitstreams"]').click();
// <ds-item-bitstreams> tag must be loaded
cy.get('ds-item-bitstreams').should('be.visible');
// Table of item bitstreams must also be loaded
cy.get('div.item-bitstreams').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-item-bitstreams',
{
rules: {
// Currently Bitstreams page loads a pagination component per Bundle
// and they all use the same 'id="p-dad"'.
'duplicate-id': { enabled: false },
},
} as Options,
);
});
});
describe('Edit Item > Curate tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="curate"]').click();
// <ds-item-curate> tag must be loaded
cy.get('ds-item-curate').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-item-curate');
});
});
describe('Edit Item > Relationships tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="relationships"]').click();
// <ds-item-relationships> tag must be loaded
cy.get('ds-item-relationships').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-item-relationships');
});
});
describe('Edit Item > Version History tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="versionhistory"]').click();
// <ds-item-version-history> tag must be loaded
cy.get('ds-item-version-history').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-item-version-history');
});
});
describe('Edit Item > Access Control tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="access-control"]').click();
// <ds-item-access-control> tag must be loaded
cy.get('ds-item-access-control').should('be.visible');
// Analyze for accessibility issues
testA11y('ds-item-access-control');
});
});
describe('Edit Item > Collection Mapper tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="mapper"]').click();
// <ds-item-collection-mapper> tag must be loaded
cy.get('ds-item-collection-mapper').should('be.visible');
// Analyze entire page for accessibility issues
testA11y('ds-item-collection-mapper');
// Click on the "Map new collections" tab
cy.get('li[data-test="mapTab"] a').click();
// Make sure search form is now visible
cy.get('ds-search-form').should('be.visible');
// Analyze entire page (again) for accessibility issues
testA11y('ds-item-collection-mapper');
});
});

View File

@@ -0,0 +1,32 @@
import { testA11y } from 'cypress/support/utils';
describe('Item Page', () => {
const ITEMPAGE = '/items/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION'));
const ENTITYPAGE = '/entities/publication/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION'));
// Test that entities will redirect to /entities/[type]/[uuid] when accessed via /items/[uuid]
it('should redirect to the entity page when navigating to an item page', () => {
cy.visit(ITEMPAGE);
cy.location('pathname').should('eq', ENTITYPAGE);
});
it('should pass accessibility tests', () => {
cy.visit(ENTITYPAGE);
// <ds-item-page> tag must be loaded
cy.get('ds-item-page').should('be.visible');
// Analyze <ds-item-page> for accessibility issues
testA11y('ds-item-page');
});
it('should pass accessibility tests on full item page', () => {
cy.visit(ENTITYPAGE + '/full');
// <ds-full-item-page> tag must be loaded
cy.get('ds-full-item-page').should('be.visible');
// Analyze <ds-full-item-page> for accessibility issues
testA11y('ds-full-item-page');
});
});

View File

@@ -0,0 +1,43 @@
import { REGEX_MATCH_NON_EMPTY_TEXT } from 'cypress/support/e2e';
import { testA11y } from 'cypress/support/utils';
describe('Item Statistics Page', () => {
const ITEMSTATISTICSPAGE = '/statistics/items/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION'));
it('should load if you click on "Statistics" from an Item/Entity page', () => {
cy.visit('/entities/publication/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')));
cy.get('ds-navbar ds-link-menu-item a[data-test="link-menu-item.menu.section.statistics"]').click();
cy.location('pathname').should('eq', ITEMSTATISTICSPAGE);
});
it('should contain element ds-item-statistics-page when navigating to an item statistics page', () => {
cy.visit(ITEMSTATISTICSPAGE);
cy.get('ds-item-statistics-page').should('be.visible');
cy.get('ds-item-page').should('not.exist');
});
it('should contain a "Total visits" section', () => {
cy.visit(ITEMSTATISTICSPAGE);
cy.get('table[data-test="TotalVisits"]').should('be.visible');
});
it('should contain a "Total visits per month" section', () => {
cy.visit(ITEMSTATISTICSPAGE);
// Check just for existence because this table is empty in CI environment as it's historical data
cy.get('.'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')).concat('_TotalVisitsPerMonth')).should('exist');
});
it('should pass accessibility tests', () => {
cy.visit(ITEMSTATISTICSPAGE);
// <ds-item-statistics-page> tag must be loaded
cy.get('ds-item-statistics-page').should('be.visible');
// Verify / wait until "Total Visits" table's label is non-empty
// (This table loads these labels asynchronously, so we want to wait for them before analyzing page)
cy.get('table[data-test="TotalVisits"] th[data-test="statistics-label"]').contains(REGEX_MATCH_NON_EMPTY_TEXT);
// Analyze <ds-item-statistics-page> for accessibility issues
testA11y('ds-item-statistics-page');
});
});

View File

@@ -0,0 +1,150 @@
import { testA11y } from 'cypress/support/utils';
const page = {
openLoginMenu() {
// Click the "Log In" dropdown menu in header
cy.get('ds-themed-header [data-test="login-menu"]').click();
},
openUserMenu() {
// Once logged in, click the User menu in header
cy.get('ds-themed-header [data-test="user-menu"]').click();
},
submitLoginAndPasswordByPressingButton(email, password) {
// Enter email
cy.get('ds-themed-header [data-test="email"]').type(email);
// Enter password
cy.get('ds-themed-header [data-test="password"]').type(password);
// Click login button
cy.get('ds-themed-header [data-test="login-button"]').click();
},
submitLoginAndPasswordByPressingEnter(email, password) {
// In opened Login modal, fill out email & password, then click Enter
cy.get('ds-themed-header [data-test="email"]').type(email);
cy.get('ds-themed-header [data-test="password"]').type(password);
cy.get('ds-themed-header [data-test="password"]').type('{enter}');
},
submitLogoutByPressingButton() {
// This is the POST command that will actually log us out
cy.intercept('POST', '/server/api/authn/logout').as('logout');
// Click logout button
cy.get('ds-themed-header [data-test="logout-button"]').click();
// Wait until above POST command responds before continuing
// (This ensures next action waits until logout completes)
cy.wait('@logout');
},
};
describe('Login Modal', () => {
it('should login when clicking button & stay on same page', () => {
const ENTITYPAGE = '/entities/publication/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION'));
cy.visit(ENTITYPAGE);
// Login menu should exist
cy.get('ds-log-in').should('exist');
// Login, and the <ds-log-in> tag should no longer exist
page.openLoginMenu();
cy.get('.form-login').should('be.visible');
page.submitLoginAndPasswordByPressingButton(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
cy.get('ds-log-in').should('not.exist');
// Verify we are still on the same page
cy.url().should('include', ENTITYPAGE);
// Open user menu, verify user menu & logout button now available
page.openUserMenu();
cy.get('ds-user-menu').should('be.visible');
cy.get('ds-log-out').should('be.visible');
});
it('should login when clicking enter key & stay on same page', () => {
cy.visit('/home');
// Open login menu in header & verify <ds-log-in> tag is visible
page.openLoginMenu();
cy.get('.form-login').should('be.visible');
// Login, and the <ds-log-in> tag should no longer exist
page.submitLoginAndPasswordByPressingEnter(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
cy.get('.form-login').should('not.exist');
// Verify we are still on homepage
cy.url().should('include', '/home');
// Open user menu, verify user menu & logout button now available
page.openUserMenu();
cy.get('ds-user-menu').should('be.visible');
cy.get('ds-log-out').should('be.visible');
});
it('should support logout', () => {
// First authenticate & access homepage
cy.login(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
cy.visit('/');
// Verify ds-log-in tag doesn't exist, but ds-log-out tag does exist
cy.get('ds-log-in').should('not.exist');
cy.get('ds-log-out').should('exist');
// Click logout button
page.openUserMenu();
page.submitLogoutByPressingButton();
// Verify ds-log-in tag now exists
cy.get('ds-log-in').should('exist');
cy.get('ds-log-out').should('not.exist');
});
it('should allow new user registration', () => {
cy.visit('/');
page.openLoginMenu();
// Registration link should be visible
cy.get('ds-themed-header [data-test="register"]').should('be.visible');
// Click registration link & you should go to registration page
cy.get('ds-themed-header [data-test="register"]').click();
cy.location('pathname').should('eq', '/register');
cy.get('ds-register-email').should('exist');
// Test accessibility of this page
testA11y('ds-register-email');
});
it('should allow forgot password', () => {
cy.visit('/');
page.openLoginMenu();
// Forgot password link should be visible
cy.get('ds-themed-header [data-test="forgot"]').should('be.visible');
// Click link & you should go to Forgot Password page
cy.get('ds-themed-header [data-test="forgot"]').click();
cy.location('pathname').should('eq', '/forgot');
cy.get('ds-forgot-email').should('exist');
// Test accessibility of this page
testA11y('ds-forgot-email');
});
it('should pass accessibility tests in menus', () => {
cy.visit('/');
// Open login menu & verify accessibility
page.openLoginMenu();
cy.get('ds-log-in').should('exist');
testA11y('ds-log-in');
// Now login
page.submitLoginAndPasswordByPressingButton(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
cy.get('ds-log-in').should('not.exist');
// Open user menu, verify user menu accesibility
page.openUserMenu();
cy.get('ds-user-menu').should('be.visible');
testA11y('ds-user-menu');
});
});

134
cypress/e2e/my-dspace.cy.ts Normal file
View File

@@ -0,0 +1,134 @@
import { testA11y } from 'cypress/support/utils';
describe('My DSpace page', () => {
it('should display recent submissions and pass accessibility tests', () => {
cy.visit('/mydspace');
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_SUBMIT_USER'), Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD'));
cy.get('ds-my-dspace-page').should('be.visible');
// At least one recent submission should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
// Click each filter toggle to open *every* filter
// (As we want to scan filter section for accessibility issues as well)
cy.get('.filter-toggle').click({ multiple: true });
// Analyze <ds-my-dspace-page> for accessibility issues
testA11y('ds-my-dspace-page');
});
it('should have a working detailed view that passes accessibility tests', () => {
cy.visit('/mydspace');
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_SUBMIT_USER'), Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD'));
cy.get('ds-my-dspace-page').should('be.visible');
// Click button in sidebar to display detailed view
cy.get('ds-search-sidebar [data-test="detail-view"]').click();
cy.get('ds-object-detail').should('be.visible');
// Analyze <ds-my-dspace-page> for accessibility issues
testA11y('ds-my-dspace-page');
});
// NOTE: Deleting existing submissions is exercised by submission.spec.ts
it('should let you start a new submission & edit in-progress submissions', () => {
cy.visit('/mydspace');
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_SUBMIT_USER'), Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD'));
// Open the New Submission dropdown
cy.get('button[data-test="submission-dropdown"]').click();
// Click on the "Item" type in that dropdown
cy.get('#entityControlsDropdownMenu button[title="none"]').click();
// This should display the <ds-create-item-parent-selector> (popup window)
cy.get('ds-create-item-parent-selector').should('be.visible');
// Type in a known Collection name in the search box
cy.get('ds-authorized-collection-selector input[type="search"]').type(Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_NAME'));
// Click on the button matching that known Collection name
cy.get('ds-authorized-collection-selector button[title="'.concat(Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_NAME')).concat('"]')).click();
// New URL should include /workspaceitems, as we've started a new submission
cy.url().should('include', '/workspaceitems');
// The Submission edit form tag should be visible
cy.get('ds-submission-edit').should('be.visible');
// A Collection menu button should exist & its value should be the selected collection
cy.get('#collectionControlsMenuButton span').should('have.text', Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_NAME'));
// Now that we've created a submission, we'll test that we can go back and Edit it.
// Get our Submission URL, to parse out the ID of this new submission
cy.location().then(fullUrl => {
// This will be the full path (/workspaceitems/[id]/edit)
const path = fullUrl.pathname;
// Split on the slashes
const subpaths = path.split('/');
// Part 2 will be the [id] of the submission
const id = subpaths[2];
// Click the "Save for Later" button to save this submission
cy.get('ds-submission-form-footer [data-test="save-for-later"]').click();
// "Save for Later" should send us to MyDSpace
cy.url().should('include', '/mydspace');
// Close any open notifications, to make sure they don't get in the way of next steps
cy.get('[data-dismiss="alert"]').click({ multiple: true });
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// On MyDSpace, find the submission we just created via its ID
cy.get('[data-test="search-box"]').type(id);
cy.get('[data-test="search-button"]').click();
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// Click the Edit button for this in-progress submission
cy.get('#edit_' + id).click();
// Should send us back to the submission form
cy.url().should('include', '/workspaceitems/' + id + '/edit');
// Discard our new submission by clicking Discard in Submission form & confirming
cy.get('ds-submission-form-footer [data-test="discard"]').click();
cy.get('button#discard_submit').click();
// Discarding should send us back to MyDSpace
cy.url().should('include', '/mydspace');
});
});
it('should let you import from external sources', () => {
cy.visit('/mydspace');
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_SUBMIT_USER'), Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD'));
// Open the New Import dropdown
cy.get('button[data-test="import-dropdown"]').click();
// Click on the "Item" type in that dropdown
cy.get('#importControlsDropdownMenu button[title="none"]').click();
// New URL should include /import-external, as we've moved to the import page
cy.url().should('include', '/import-external');
// The external import searchbox should be visible
cy.get('ds-submission-import-external-searchbar').should('be.visible');
// Test for accessibility issues
testA11y('ds-submission-import-external');
});
});

View File

@@ -0,0 +1,18 @@
import { testA11y } from 'cypress/support/utils';
describe('PageNotFound', () => {
it('should contain element ds-pagenotfound when navigating to page that doesnt exist', () => {
// request an invalid page (UUIDs at root path aren't valid)
cy.visit('/e9019a69-d4f1-4773-b6a3-bd362caa46f2', { failOnStatusCode: false });
cy.get('ds-pagenotfound').should('be.visible');
// Analyze <ds-pagenotfound> for accessibility issues
testA11y('ds-pagenotfound');
});
it('should not contain element ds-pagenotfound when navigating to existing page', () => {
cy.visit('/home');
cy.get('ds-pagenotfound').should('not.exist');
});
});

View File

@@ -0,0 +1,64 @@
const page = {
fillOutQueryInNavBar(query) {
// Click the magnifying glass
cy.get('ds-themed-header [data-test="header-search-icon"]').click();
// Fill out a query in input that appears
cy.get('ds-themed-header [data-test="header-search-box"]').type(query);
},
submitQueryByPressingEnter() {
cy.get('ds-themed-header [data-test="header-search-box"]').type('{enter}');
},
submitQueryByPressingIcon() {
cy.get('ds-themed-header [data-test="header-search-icon"]').click();
},
};
describe('Search from Navigation Bar', () => {
// NOTE: these tests currently assume this query will return results!
const query = Cypress.env('DSPACE_TEST_SEARCH_TERM');
it('should go to search page with correct query if submitted (from home)', () => {
cy.visit('/');
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// Run the search
page.fillOutQueryInNavBar(query);
page.submitQueryByPressingEnter();
// New URL should include query param
cy.url().should('include', 'query='.concat(query));
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
});
it('should go to search page with correct query if submitted (from search)', () => {
cy.visit('/search');
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// Run the search
page.fillOutQueryInNavBar(query);
page.submitQueryByPressingEnter();
// New URL should include query param
cy.url().should('include', 'query='.concat(query));
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
});
it('should allow user to also submit query by clicking icon', () => {
cy.visit('/');
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// Run the search
page.fillOutQueryInNavBar(query);
page.submitQueryByPressingIcon();
// New URL should include query param
cy.url().should('include', 'query='.concat(query));
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
});
});

View File

@@ -0,0 +1,57 @@
import { testA11y } from 'cypress/support/utils';
import { Options } from 'cypress-axe';
describe('Search Page', () => {
// NOTE: these tests currently assume this query will return results!
const query = Cypress.env('DSPACE_TEST_SEARCH_TERM');
it('should redirect to the correct url when query was set and submit button was triggered', () => {
const queryString = 'Another interesting query string';
cy.visit('/search');
// Type query in searchbox & click search button
cy.get('[data-test="search-box"]').type(queryString);
cy.get('[data-test="search-button"]').click();
cy.url().should('include', 'query=' + encodeURI(queryString));
});
it('should load results and pass accessibility tests', () => {
cy.visit('/search?query='.concat(query));
cy.get('[data-test="search-box"]').should('have.value', query);
// <ds-search-page> tag must be loaded
cy.get('ds-search-page').should('be.visible');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
// Click each filter toggle to open *every* filter
// (As we want to scan filter section for accessibility issues as well)
cy.get('[data-test="filter-toggle"]').click({ multiple: true });
// Analyze <ds-search-page> for accessibility issues
testA11y('ds-search-page');
});
it('should have a working grid view that passes accessibility tests', () => {
cy.visit('/search?query='.concat(query));
// Click button in sidebar to display grid view
cy.get('ds-search-sidebar [data-test="grid-view"]').click();
// <ds-search-page> tag must be loaded
cy.get('ds-search-page').should('be.visible');
// At least one grid object (card) should be displayed
cy.get('[data-test="grid-object"]').should('be.visible');
// Analyze <ds-search-page> for accessibility issues
testA11y('ds-search-page',
{
rules: {
// Card titles fail this test currently
'heading-order': { enabled: false },
},
} as Options,
);
});
});

View File

@@ -0,0 +1,227 @@
import { testA11y } from 'cypress/support/utils';
//import { TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD, TEST_SUBMIT_COLLECTION_NAME, TEST_SUBMIT_COLLECTION_UUID, TEST_ADMIN_USER, TEST_ADMIN_PASSWORD } from 'cypress/support/e2e';
import { Options } from 'cypress-axe';
describe('New Submission page', () => {
// NOTE: We already test that new Item submissions can be started from MyDSpace in my-dspace.spec.ts
it('should create a new submission when using /submit path & pass accessibility', () => {
// Test that calling /submit with collection & entityType will create a new submission
cy.visit('/submit?collection='.concat(Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_UUID')).concat('&entityType=none'));
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_SUBMIT_USER'), Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD'));
// Should redirect to /workspaceitems, as we've started a new submission
cy.url().should('include', '/workspaceitems');
// The Submission edit form tag should be visible
cy.get('ds-submission-edit').should('be.visible');
// A Collection menu button should exist & it's value should be the selected collection
cy.get('#collectionControlsMenuButton span').should('have.text', Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_NAME'));
// 4 sections should be visible by default
cy.get('div#section_traditionalpageone').should('be.visible');
cy.get('div#section_traditionalpagetwo').should('be.visible');
cy.get('div#section_upload').should('be.visible');
cy.get('div#section_license').should('be.visible');
// Test entire page for accessibility
testA11y('ds-submission-edit',
{
rules: {
// Author & Subject fields have invalid "aria-multiline" attrs.
// See https://github.com/DSpace/dspace-angular/issues/1272
'aria-allowed-attr': { enabled: false },
// All panels are accordians & fail "aria-required-children" and "nested-interactive".
// Seem to require updating ng-bootstrap and https://github.com/DSpace/dspace-angular/issues/2216
'aria-required-children': { enabled: false },
'nested-interactive': { enabled: false },
// All select boxes fail to have a name / aria-label.
// This is a bug in ng-dynamic-forms and may require https://github.com/DSpace/dspace-angular/issues/2216
'select-name': { enabled: false },
},
} as Options,
);
// Discard button should work
// Clicking it will display a confirmation, which we will confirm with another click
cy.get('button#discard').click();
cy.get('button#discard_submit').click();
});
it('should block submission & show errors if required fields are missing', () => {
// Create a new submission
cy.visit('/submit?collection='.concat(Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_UUID')).concat('&entityType=none'));
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_SUBMIT_USER'), Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD'));
// Attempt an immediate deposit without filling out any fields
cy.get('button#deposit').click();
// A warning alert should display.
cy.get('ds-notification div.alert-success').should('not.exist');
cy.get('ds-notification div.alert-warning').should('be.visible');
// First section should have an exclamation error in the header
// (as it has required fields)
cy.get('div#traditionalpageone-header i.fa-exclamation-circle').should('be.visible');
// Title field should have class "is-invalid" applied, as it's required
cy.get('input#dc_title').should('have.class', 'is-invalid');
// Date Year field should also have "is-valid" class
cy.get('input#dc_date_issued_year').should('have.class', 'is-invalid');
// FINALLY, cleanup after ourselves. This also exercises the MyDSpace delete button.
// Get our Submission URL, to parse out the ID of this submission
cy.location().then(fullUrl => {
// This will be the full path (/workspaceitems/[id]/edit)
const path = fullUrl.pathname;
// Split on the slashes
const subpaths = path.split('/');
// Part 2 will be the [id] of the submission
const id = subpaths[2];
// Even though form is incomplete, the "Save for Later" button should still work
cy.get('button#saveForLater').click();
// "Save for Later" should send us to MyDSpace
cy.url().should('include', '/mydspace');
// A success alert should be visible
cy.get('ds-notification div.alert-success').should('be.visible');
// Now, dismiss any open alert boxes (may be multiple, as tests run quickly)
cy.get('[data-dismiss="alert"]').click({ multiple: true });
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// On MyDSpace, find the submission we just saved via its ID
cy.get('[data-test="search-box"]').type(id);
cy.get('[data-test="search-button"]').click();
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// Delete our created submission & confirm deletion
cy.get('button#delete_' + id).click();
cy.get('button#delete_confirm').click();
});
});
it('should allow for deposit if all required fields completed & file uploaded', () => {
// Create a new submission
cy.visit('/submit?collection='.concat(Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_UUID')).concat('&entityType=none'));
// This page is restricted, so we will be shown the login form. Fill it out & submit.
cy.loginViaForm(Cypress.env('DSPACE_TEST_SUBMIT_USER'), Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD'));
// Fill out all required fields (Title, Date)
cy.get('input#dc_title').type('DSpace logo uploaded via e2e tests');
cy.get('input#dc_date_issued_year').type('2022');
// Confirm the required license by checking checkbox
// (NOTE: requires "force:true" cause Cypress claims this checkbox is covered by its own <span>)
cy.get('input#granted').check( { force: true } );
// Before using Cypress drag & drop, we have to manually trigger the "dragover" event.
// This ensures our UI displays the dropzone that covers the entire submission page.
// (For some reason Cypress drag & drop doesn't trigger this even itself & upload won't work without this trigger)
cy.get('ds-uploader').trigger('dragover');
// This is the POST command that will upload the file
cy.intercept('POST', '/server/api/submission/workspaceitems/*').as('upload');
// Upload our DSpace logo via drag & drop onto submission form
// cy.get('div#section_upload')
cy.get('div.ds-document-drop-zone').selectFile('src/assets/images/dspace-logo.png', {
action: 'drag-drop',
});
// Wait for upload to complete before proceeding
cy.wait('@upload');
// Wait for deposit button to not be disabled & click it.
cy.get('button#deposit').should('not.be.disabled').click();
// No warnings should exist. Instead, just successful deposit alert is displayed
cy.get('ds-notification div.alert-warning').should('not.exist');
cy.get('ds-notification div.alert-success').should('be.visible');
});
it('is possible to submit a new "Person" and that form passes accessibility', () => {
// To submit a different entity type, we'll start from MyDSpace
cy.visit('/mydspace');
// This page is restricted, so we will be shown the login form. Fill it out & submit.
// NOTE: At this time, we MUST login as admin to submit Person objects
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
// Open the New Submission dropdown
cy.get('button[data-test="submission-dropdown"]').click();
// Click on the "Person" type in that dropdown
cy.get('#entityControlsDropdownMenu button[title="Person"]').click();
// This should display the <ds-create-item-parent-selector> (popup window)
cy.get('ds-create-item-parent-selector').should('be.visible');
// Type in a known Collection name in the search box
cy.get('ds-authorized-collection-selector input[type="search"]').type(Cypress.env('DSPACE_TEST_SUBMIT_PERSON_COLLECTION_NAME'));
// Click on the button matching that known Collection name
cy.get('ds-authorized-collection-selector button[title="'.concat(Cypress.env('DSPACE_TEST_SUBMIT_PERSON_COLLECTION_NAME')).concat('"]')).click();
// New URL should include /workspaceitems, as we've started a new submission
cy.url().should('include', '/workspaceitems');
// The Submission edit form tag should be visible
cy.get('ds-submission-edit').should('be.visible');
// A Collection menu button should exist & its value should be the selected collection
cy.get('#collectionControlsMenuButton span').should('have.text', Cypress.env('DSPACE_TEST_SUBMIT_PERSON_COLLECTION_NAME'));
// 3 sections should be visible by default
cy.get('div#section_personStep').should('be.visible');
cy.get('div#section_upload').should('be.visible');
cy.get('div#section_license').should('be.visible');
// Test entire page for accessibility
testA11y('ds-submission-edit',
{
rules: {
// All panels are accordians & fail "aria-required-children" and "nested-interactive".
// Seem to require updating ng-bootstrap and https://github.com/DSpace/dspace-angular/issues/2216
'aria-required-children': { enabled: false },
'nested-interactive': { enabled: false },
},
} as Options,
);
// Click the lookup button next to "Publication" field
cy.get('button[data-test="lookup-button"]').click();
// A popup modal window should be visible
cy.get('ds-dynamic-lookup-relation-modal').should('be.visible');
// Popup modal should also pass accessibility tests
//testA11y('ds-dynamic-lookup-relation-modal');
testA11y({
include: ['ds-dynamic-lookup-relation-modal'],
exclude: [
['ul.nav-tabs'], // Tabs at top of model have several issues which seem to be caused by ng-bootstrap
],
});
// Close popup window
cy.get('ds-dynamic-lookup-relation-modal button.close').click();
// Back on the form, click the discard button to remove new submission
// Clicking it will display a confirmation, which we will confirm with another click
cy.get('button#discard').click();
cy.get('button#discard_submit').click();
});
});

View File

@@ -1,15 +0,0 @@
import { TEST_ENTITY_PUBLICATION } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Breadcrumbs', () => {
it('should pass accessibility tests', () => {
// Visit an Item, as those have more breadcrumbs
cy.visit('/entities/publication/' + TEST_ENTITY_PUBLICATION);
// Wait for breadcrumbs to be visible
cy.get('ds-breadcrumbs').should('be.visible');
// Analyze <ds-breadcrumbs> for accessibility
testA11y('ds-breadcrumbs');
});
});

View File

@@ -1,13 +0,0 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Author', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/author');
// Wait for <ds-browse-by-metadata-page> to be visible
cy.get('ds-browse-by-metadata-page').should('be.visible');
// Analyze <ds-browse-by-metadata-page> for accessibility
testA11y('ds-browse-by-metadata-page');
});
});

View File

@@ -1,13 +0,0 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Date Issued', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/dateissued');
// Wait for <ds-browse-by-date-page> to be visible
cy.get('ds-browse-by-date-page').should('be.visible');
// Analyze <ds-browse-by-date-page> for accessibility
testA11y('ds-browse-by-date-page');
});
});

View File

@@ -1,13 +0,0 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Subject', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/subject');
// Wait for <ds-browse-by-metadata-page> to be visible
cy.get('ds-browse-by-metadata-page').should('be.visible');
// Analyze <ds-browse-by-metadata-page> for accessibility
testA11y('ds-browse-by-metadata-page');
});
});

View File

@@ -1,13 +0,0 @@
import { testA11y } from 'cypress/support/utils';
describe('Browse By Title', () => {
it('should pass accessibility tests', () => {
cy.visit('/browse/title');
// Wait for <ds-browse-by-title-page> to be visible
cy.get('ds-browse-by-title-page').should('be.visible');
// Analyze <ds-browse-by-title-page> for accessibility
testA11y('ds-browse-by-title-page');
});
});

View File

@@ -1,15 +0,0 @@
import { TEST_COLLECTION } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Collection Page', () => {
it('should pass accessibility tests', () => {
cy.visit('/collections/' + TEST_COLLECTION);
// <ds-collection-page> tag must be loaded
cy.get('ds-collection-page').should('exist');
// Analyze <ds-collection-page> for accessibility issues
testA11y('ds-collection-page');
});
});

View File

@@ -1,32 +0,0 @@
import { TEST_COLLECTION } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Collection Statistics Page', () => {
const COLLECTIONSTATISTICSPAGE = '/statistics/collections/' + TEST_COLLECTION;
it('should load if you click on "Statistics" from a Collection page', () => {
cy.visit('/collections/' + TEST_COLLECTION);
cy.get('ds-navbar ds-link-menu-item a[title="Statistics"]').click();
cy.location('pathname').should('eq', COLLECTIONSTATISTICSPAGE);
});
it('should contain a "Total visits" section', () => {
cy.visit(COLLECTIONSTATISTICSPAGE);
cy.get('.' + TEST_COLLECTION + '_TotalVisits').should('exist');
});
it('should contain a "Total visits per month" section', () => {
cy.visit(COLLECTIONSTATISTICSPAGE);
cy.get('.' + TEST_COLLECTION + '_TotalVisitsPerMonth').should('exist');
});
it('should pass accessibility tests', () => {
cy.visit(COLLECTIONSTATISTICSPAGE);
// <ds-collection-statistics-page> tag must be loaded
cy.get('ds-collection-statistics-page').should('exist');
// Analyze <ds-collection-statistics-page> for accessibility issues
testA11y('ds-collection-statistics-page');
});
});

View File

@@ -1,25 +0,0 @@
import { Options } from 'cypress-axe';
import { testA11y } from 'cypress/support/utils';
describe('Community List Page', () => {
it('should pass accessibility tests', () => {
cy.visit('/community-list');
// <ds-community-list-page> tag must be loaded
cy.get('ds-community-list-page').should('exist');
// Open first Community (to show Collections)...that way we scan sub-elements as well
cy.get('ds-community-list :nth-child(1) > .btn-group > .btn').click();
// Analyze <ds-community-list-page> for accessibility issues
// Disable heading-order checks until it is fixed
testA11y('ds-community-list-page',
{
rules: {
'heading-order': { enabled: false }
}
} as Options
);
});
});

View File

@@ -1,15 +0,0 @@
import { TEST_COMMUNITY } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Community Page', () => {
it('should pass accessibility tests', () => {
cy.visit('/communities/' + TEST_COMMUNITY);
// <ds-community-page> tag must be loaded
cy.get('ds-community-page').should('exist');
// Analyze <ds-community-page> for accessibility issues
testA11y('ds-community-page',);
});
});

View File

@@ -1,32 +0,0 @@
import { TEST_COMMUNITY } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Community Statistics Page', () => {
const COMMUNITYSTATISTICSPAGE = '/statistics/communities/' + TEST_COMMUNITY;
it('should load if you click on "Statistics" from a Community page', () => {
cy.visit('/communities/' + TEST_COMMUNITY);
cy.get('ds-navbar ds-link-menu-item a[title="Statistics"]').click();
cy.location('pathname').should('eq', COMMUNITYSTATISTICSPAGE);
});
it('should contain a "Total visits" section', () => {
cy.visit(COMMUNITYSTATISTICSPAGE);
cy.get('.' + TEST_COMMUNITY + '_TotalVisits').should('exist');
});
it('should contain a "Total visits per month" section', () => {
cy.visit(COMMUNITYSTATISTICSPAGE);
cy.get('.' + TEST_COMMUNITY + '_TotalVisitsPerMonth').should('exist');
});
it('should pass accessibility tests', () => {
cy.visit(COMMUNITYSTATISTICSPAGE);
// <ds-community-statistics-page> tag must be loaded
cy.get('ds-community-statistics-page').should('exist');
// Analyze <ds-community-statistics-page> for accessibility issues
testA11y('ds-community-statistics-page');
});
});

View File

@@ -1,13 +0,0 @@
import { testA11y } from 'cypress/support/utils';
describe('Footer', () => {
it('should pass accessibility tests', () => {
cy.visit('/');
// Footer must first be visible
cy.get('ds-footer').should('be.visible');
// Analyze <ds-footer> for accessibility
testA11y('ds-footer');
});
});

View File

@@ -1,19 +0,0 @@
import { testA11y } from 'cypress/support/utils';
describe('Header', () => {
it('should pass accessibility tests', () => {
cy.visit('/');
// Header must first be visible
cy.get('ds-header').should('be.visible');
// Analyze <ds-header> for accessibility
testA11y({
include: ['ds-header'],
exclude: [
['#search-navbar-container'], // search in navbar has duplicative ID. Will be fixed in #1174
['.dropdownLogin'] // "Log in" link has color contrast issues. Will be fixed in #1149
],
});
});
});

View File

@@ -1,19 +0,0 @@
import { testA11y } from 'cypress/support/utils';
describe('Site Statistics Page', () => {
it('should load if you click on "Statistics" from homepage', () => {
cy.visit('/');
cy.get('ds-navbar ds-link-menu-item a[title="Statistics"]').click();
cy.location('pathname').should('eq', '/statistics');
});
it('should pass accessibility tests', () => {
cy.visit('/statistics');
// <ds-site-statistics-page> tag must be loaded
cy.get('ds-site-statistics-page').should('exist');
// Analyze <ds-site-statistics-page> for accessibility issues
testA11y('ds-site-statistics-page');
});
});

View File

@@ -1,31 +0,0 @@
import { Options } from 'cypress-axe';
import { TEST_ENTITY_PUBLICATION } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Item Page', () => {
const ITEMPAGE = '/items/' + TEST_ENTITY_PUBLICATION;
const ENTITYPAGE = '/entities/publication/' + TEST_ENTITY_PUBLICATION;
// Test that entities will redirect to /entities/[type]/[uuid] when accessed via /items/[uuid]
it('should redirect to the entity page when navigating to an item page', () => {
cy.visit(ITEMPAGE);
cy.location('pathname').should('eq', ENTITYPAGE);
});
it('should pass accessibility tests', () => {
cy.visit(ENTITYPAGE);
// <ds-item-page> tag must be loaded
cy.get('ds-item-page').should('exist');
// Analyze <ds-item-page> for accessibility issues
// Disable heading-order checks until it is fixed
testA11y('ds-item-page',
{
rules: {
'heading-order': { enabled: false }
}
} as Options
);
});
});

View File

@@ -1,38 +0,0 @@
import { TEST_ENTITY_PUBLICATION } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Item Statistics Page', () => {
const ITEMSTATISTICSPAGE = '/statistics/items/' + TEST_ENTITY_PUBLICATION;
it('should load if you click on "Statistics" from an Item/Entity page', () => {
cy.visit('/entities/publication/' + TEST_ENTITY_PUBLICATION);
cy.get('ds-navbar ds-link-menu-item a[title="Statistics"]').click();
cy.location('pathname').should('eq', ITEMSTATISTICSPAGE);
});
it('should contain element ds-item-statistics-page when navigating to an item statistics page', () => {
cy.visit(ITEMSTATISTICSPAGE);
cy.get('ds-item-statistics-page').should('exist');
cy.get('ds-item-page').should('not.exist');
});
it('should contain a "Total visits" section', () => {
cy.visit(ITEMSTATISTICSPAGE);
cy.get('.' + TEST_ENTITY_PUBLICATION + '_TotalVisits').should('exist');
});
it('should contain a "Total visits per month" section', () => {
cy.visit(ITEMSTATISTICSPAGE);
cy.get('.' + TEST_ENTITY_PUBLICATION + '_TotalVisitsPerMonth').should('exist');
});
it('should pass accessibility tests', () => {
cy.visit(ITEMSTATISTICSPAGE);
// <ds-item-statistics-page> tag must be loaded
cy.get('ds-item-statistics-page').should('exist');
// Analyze <ds-item-statistics-page> for accessibility issues
testA11y('ds-item-statistics-page');
});
});

View File

@@ -1,126 +0,0 @@
import { TEST_ADMIN_PASSWORD, TEST_ADMIN_USER, TEST_ENTITY_PUBLICATION } from 'cypress/support';
const page = {
openLoginMenu() {
// Click the "Log In" dropdown menu in header
cy.get('ds-themed-navbar [data-test="login-menu"]').click();
},
openUserMenu() {
// Once logged in, click the User menu in header
cy.get('ds-themed-navbar [data-test="user-menu"]').click();
},
submitLoginAndPasswordByPressingButton(email, password) {
// Enter email
cy.get('ds-themed-navbar [data-test="email"]').type(email);
// Enter password
cy.get('ds-themed-navbar [data-test="password"]').type(password);
// Click login button
cy.get('ds-themed-navbar [data-test="login-button"]').click();
},
submitLoginAndPasswordByPressingEnter(email, password) {
// In opened Login modal, fill out email & password, then click Enter
cy.get('ds-themed-navbar [data-test="email"]').type(email);
cy.get('ds-themed-navbar [data-test="password"]').type(password);
cy.get('ds-themed-navbar [data-test="password"]').type('{enter}');
},
submitLogoutByPressingButton() {
// This is the POST command that will actually log us out
cy.intercept('POST', '/server/api/authn/logout').as('logout');
// Click logout button
cy.get('ds-themed-navbar [data-test="logout-button"]').click();
// Wait until above POST command responds before continuing
// (This ensures next action waits until logout completes)
cy.wait('@logout');
}
};
describe('Login Modal', () => {
it('should login when clicking button & stay on same page', () => {
const ENTITYPAGE = '/entities/publication/' + TEST_ENTITY_PUBLICATION;
cy.visit(ENTITYPAGE);
// Login menu should exist
cy.get('ds-log-in').should('exist');
// Login, and the <ds-log-in> tag should no longer exist
page.openLoginMenu();
cy.get('.form-login').should('be.visible');
page.submitLoginAndPasswordByPressingButton(TEST_ADMIN_USER, TEST_ADMIN_PASSWORD);
cy.get('ds-log-in').should('not.exist');
// Verify we are still on the same page
cy.url().should('include', ENTITYPAGE);
// Open user menu, verify user menu & logout button now available
page.openUserMenu();
cy.get('ds-user-menu').should('be.visible');
cy.get('ds-log-out').should('be.visible');
});
it('should login when clicking enter key & stay on same page', () => {
cy.visit('/home');
// Open login menu in header & verify <ds-log-in> tag is visible
page.openLoginMenu();
cy.get('.form-login').should('be.visible');
// Login, and the <ds-log-in> tag should no longer exist
page.submitLoginAndPasswordByPressingEnter(TEST_ADMIN_USER, TEST_ADMIN_PASSWORD);
cy.get('.form-login').should('not.exist');
// Verify we are still on homepage
cy.url().should('include', '/home');
// Open user menu, verify user menu & logout button now available
page.openUserMenu();
cy.get('ds-user-menu').should('be.visible');
cy.get('ds-log-out').should('be.visible');
});
it('should support logout', () => {
// First authenticate & access homepage
cy.login(TEST_ADMIN_USER, TEST_ADMIN_PASSWORD);
cy.visit('/');
// Verify ds-log-in tag doesn't exist, but ds-log-out tag does exist
cy.get('ds-log-in').should('not.exist');
cy.get('ds-log-out').should('exist');
// Click logout button
page.openUserMenu();
page.submitLogoutByPressingButton();
// Verify ds-log-in tag now exists
cy.get('ds-log-in').should('exist');
cy.get('ds-log-out').should('not.exist');
});
it('should allow new user registration', () => {
cy.visit('/');
page.openLoginMenu();
// Registration link should be visible
cy.get('ds-themed-navbar [data-test="register"]').should('be.visible');
// Click registration link & you should go to registration page
cy.get('ds-themed-navbar [data-test="register"]').click();
cy.location('pathname').should('eq', '/register');
cy.get('ds-register-email').should('exist');
});
it('should allow forgot password', () => {
cy.visit('/');
page.openLoginMenu();
// Forgot password link should be visible
cy.get('ds-themed-navbar [data-test="forgot"]').should('be.visible');
// Click link & you should go to Forgot Password page
cy.get('ds-themed-navbar [data-test="forgot"]').click();
cy.location('pathname').should('eq', '/forgot');
cy.get('ds-forgot-email').should('exist');
});
});

View File

@@ -1,149 +0,0 @@
import { Options } from 'cypress-axe';
import { TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD, TEST_SUBMIT_COLLECTION_NAME } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('My DSpace page', () => {
it('should display recent submissions and pass accessibility tests', () => {
cy.login(TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD);
cy.visit('/mydspace');
cy.get('ds-my-dspace-page').should('exist');
// At least one recent submission should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
// Click each filter toggle to open *every* filter
// (As we want to scan filter section for accessibility issues as well)
cy.get('.filter-toggle').click({ multiple: true });
// Analyze <ds-my-dspace-page> for accessibility issues
testA11y(
{
include: ['ds-my-dspace-page'],
exclude: [
['nouislider'] // Date filter slider is missing ARIA labels. Will be fixed by #1175
],
},
{
rules: {
// Search filters fail these two "moderate" impact rules
'heading-order': { enabled: false },
'landmark-unique': { enabled: false }
}
} as Options
);
});
it('should have a working detailed view that passes accessibility tests', () => {
cy.login(TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD);
cy.visit('/mydspace');
cy.get('ds-my-dspace-page').should('exist');
// Click button in sidebar to display detailed view
cy.get('ds-search-sidebar [data-test="detail-view"]').click();
cy.get('ds-object-detail').should('exist');
// Analyze <ds-search-page> for accessibility issues
testA11y('ds-my-dspace-page',
{
rules: {
// Search filters fail these two "moderate" impact rules
'heading-order': { enabled: false },
'landmark-unique': { enabled: false }
}
} as Options
);
});
// NOTE: Deleting existing submissions is exercised by submission.spec.ts
it('should let you start a new submission & edit in-progress submissions', () => {
cy.login(TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD);
cy.visit('/mydspace');
// Open the New Submission dropdown
cy.get('button[data-test="submission-dropdown"]').click();
// Click on the "Item" type in that dropdown
cy.get('#entityControlsDropdownMenu button[title="none"]').click();
// This should display the <ds-create-item-parent-selector> (popup window)
cy.get('ds-create-item-parent-selector').should('be.visible');
// Type in a known Collection name in the search box
cy.get('ds-authorized-collection-selector input[type="search"]').type(TEST_SUBMIT_COLLECTION_NAME);
// Click on the button matching that known Collection name
cy.get('ds-authorized-collection-selector button[title="' + TEST_SUBMIT_COLLECTION_NAME + '"]').click();
// New URL should include /workspaceitems, as we've started a new submission
cy.url().should('include', '/workspaceitems');
// The Submission edit form tag should be visible
cy.get('ds-submission-edit').should('be.visible');
// A Collection menu button should exist & its value should be the selected collection
cy.get('#collectionControlsMenuButton span').should('have.text', TEST_SUBMIT_COLLECTION_NAME);
// Now that we've created a submission, we'll test that we can go back and Edit it.
// Get our Submission URL, to parse out the ID of this new submission
cy.location().then(fullUrl => {
// This will be the full path (/workspaceitems/[id]/edit)
const path = fullUrl.pathname;
// Split on the slashes
const subpaths = path.split('/');
// Part 2 will be the [id] of the submission
const id = subpaths[2];
// Click the "Save for Later" button to save this submission
cy.get('ds-submission-form-footer [data-test="save-for-later"]').click();
// "Save for Later" should send us to MyDSpace
cy.url().should('include', '/mydspace');
// Close any open notifications, to make sure they don't get in the way of next steps
cy.get('[data-dismiss="alert"]').click({multiple: true});
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// On MyDSpace, find the submission we just created via its ID
cy.get('[data-test="search-box"]').type(id);
cy.get('[data-test="search-button"]').click();
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// Click the Edit button for this in-progress submission
cy.get('#edit_' + id).click();
// Should send us back to the submission form
cy.url().should('include', '/workspaceitems/' + id + '/edit');
// Discard our new submission by clicking Discard in Submission form & confirming
cy.get('ds-submission-form-footer [data-test="discard"]').click();
cy.get('button#discard_submit').click();
// Discarding should send us back to MyDSpace
cy.url().should('include', '/mydspace');
});
});
it('should let you import from external sources', () => {
cy.login(TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD);
cy.visit('/mydspace');
// Open the New Import dropdown
cy.get('button[data-test="import-dropdown"]').click();
// Click on the "Item" type in that dropdown
cy.get('#importControlsDropdownMenu button[title="none"]').click();
// New URL should include /import-external, as we've moved to the import page
cy.url().should('include', '/import-external');
// The external import searchbox should be visible
cy.get('ds-submission-import-external-searchbar').should('be.visible');
});
});

View File

@@ -1,13 +0,0 @@
describe('PageNotFound', () => {
it('should contain element ds-pagenotfound when navigating to page that doesnt exist', () => {
// request an invalid page (UUIDs at root path aren't valid)
cy.visit('/e9019a69-d4f1-4773-b6a3-bd362caa46f2', { failOnStatusCode: false });
cy.get('ds-pagenotfound').should('exist');
});
it('should not contain element ds-pagenotfound when navigating to existing page', () => {
cy.visit('/home');
cy.get('ds-pagenotfound').should('not.exist');
});
});

View File

@@ -1,66 +0,0 @@
import { TEST_SEARCH_TERM } from 'cypress/support';
const page = {
fillOutQueryInNavBar(query) {
// Click the magnifying glass
cy.get('ds-themed-navbar [data-test="header-search-icon"]').click();
// Fill out a query in input that appears
cy.get('ds-themed-navbar [data-test="header-search-box"]').type(query);
},
submitQueryByPressingEnter() {
cy.get('ds-themed-navbar [data-test="header-search-box"]').type('{enter}');
},
submitQueryByPressingIcon() {
cy.get('ds-themed-navbar [data-test="header-search-icon"]').click();
}
};
describe('Search from Navigation Bar', () => {
// NOTE: these tests currently assume this query will return results!
const query = TEST_SEARCH_TERM;
it('should go to search page with correct query if submitted (from home)', () => {
cy.visit('/');
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// Run the search
page.fillOutQueryInNavBar(query);
page.submitQueryByPressingEnter();
// New URL should include query param
cy.url().should('include', 'query=' + query);
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
});
it('should go to search page with correct query if submitted (from search)', () => {
cy.visit('/search');
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// Run the search
page.fillOutQueryInNavBar(query);
page.submitQueryByPressingEnter();
// New URL should include query param
cy.url().should('include', 'query=' + query);
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
});
it('should allow user to also submit query by clicking icon', () => {
cy.visit('/');
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// Run the search
page.fillOutQueryInNavBar(query);
page.submitQueryByPressingIcon();
// New URL should include query param
cy.url().should('include', 'query=' + query);
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
});
});

View File

@@ -1,70 +0,0 @@
import { Options } from 'cypress-axe';
import { TEST_SEARCH_TERM } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('Search Page', () => {
it('should redirect to the correct url when query was set and submit button was triggered', () => {
const queryString = 'Another interesting query string';
cy.visit('/search');
// Type query in searchbox & click search button
cy.get('[data-test="search-box"]').type(queryString);
cy.get('[data-test="search-button"]').click();
cy.url().should('include', 'query=' + encodeURI(queryString));
});
it('should load results and pass accessibility tests', () => {
cy.visit('/search?query=' + TEST_SEARCH_TERM);
cy.get('[data-test="search-box"]').should('have.value', TEST_SEARCH_TERM);
// <ds-search-page> tag must be loaded
cy.get('ds-search-page').should('exist');
// At least one search result should be displayed
cy.get('[data-test="list-object"]').should('be.visible');
// Click each filter toggle to open *every* filter
// (As we want to scan filter section for accessibility issues as well)
cy.get('[data-test="filter-toggle"]').click({ multiple: true });
// Analyze <ds-search-page> for accessibility issues
testA11y(
{
include: ['ds-search-page'],
exclude: [
['nouislider'] // Date filter slider is missing ARIA labels. Will be fixed by #1175
],
},
{
rules: {
// Search filters fail these two "moderate" impact rules
'heading-order': { enabled: false },
'landmark-unique': { enabled: false }
}
} as Options
);
});
it('should have a working grid view that passes accessibility tests', () => {
cy.visit('/search?query=' + TEST_SEARCH_TERM);
// Click button in sidebar to display grid view
cy.get('ds-search-sidebar [data-test="grid-view"]').click();
// <ds-search-page> tag must be loaded
cy.get('ds-search-page').should('exist');
// At least one grid object (card) should be displayed
cy.get('[data-test="grid-object"]').should('be.visible');
// Analyze <ds-search-page> for accessibility issues
testA11y('ds-search-page',
{
rules: {
// Search filters fail these two "moderate" impact rules
'heading-order': { enabled: false },
'landmark-unique': { enabled: false }
}
} as Options
);
});
});

View File

@@ -1,135 +0,0 @@
import { Options } from 'cypress-axe';
import { TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD, TEST_SUBMIT_COLLECTION_NAME, TEST_SUBMIT_COLLECTION_UUID } from 'cypress/support';
import { testA11y } from 'cypress/support/utils';
describe('New Submission page', () => {
// NOTE: We already test that new submissions can be started from MyDSpace in my-dspace.spec.ts
it('should create a new submission when using /submit path & pass accessibility', () => {
cy.login(TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD);
// Test that calling /submit with collection & entityType will create a new submission
cy.visit('/submit?collection=' + TEST_SUBMIT_COLLECTION_UUID + '&entityType=none');
// Should redirect to /workspaceitems, as we've started a new submission
cy.url().should('include', '/workspaceitems');
// The Submission edit form tag should be visible
cy.get('ds-submission-edit').should('be.visible');
// A Collection menu button should exist & it's value should be the selected collection
cy.get('#collectionControlsMenuButton span').should('have.text', TEST_SUBMIT_COLLECTION_NAME);
// 4 sections should be visible by default
cy.get('div#section_traditionalpageone').should('be.visible');
cy.get('div#section_traditionalpagetwo').should('be.visible');
cy.get('div#section_upload').should('be.visible');
cy.get('div#section_license').should('be.visible');
// Discard button should work
// Clicking it will display a confirmation, which we will confirm with another click
cy.get('button#discard').click();
cy.get('button#discard_submit').click();
});
it('should block submission & show errors if required fields are missing', () => {
cy.login(TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD);
// Create a new submission
cy.visit('/submit?collection=' + TEST_SUBMIT_COLLECTION_UUID + '&entityType=none');
// Attempt an immediate deposit without filling out any fields
cy.get('button#deposit').click();
// A warning alert should display.
cy.get('ds-notification div.alert-success').should('not.exist');
cy.get('ds-notification div.alert-warning').should('be.visible');
// First section should have an exclamation error in the header
// (as it has required fields)
cy.get('div#traditionalpageone-header i.fa-exclamation-circle').should('be.visible');
// Title field should have class "is-invalid" applied, as it's required
cy.get('input#dc_title').should('have.class', 'is-invalid');
// Date Year field should also have "is-valid" class
cy.get('input#dc_date_issued_year').should('have.class', 'is-invalid');
// FINALLY, cleanup after ourselves. This also exercises the MyDSpace delete button.
// Get our Submission URL, to parse out the ID of this submission
cy.location().then(fullUrl => {
// This will be the full path (/workspaceitems/[id]/edit)
const path = fullUrl.pathname;
// Split on the slashes
const subpaths = path.split('/');
// Part 2 will be the [id] of the submission
const id = subpaths[2];
// Even though form is incomplete, the "Save for Later" button should still work
cy.get('button#saveForLater').click();
// "Save for Later" should send us to MyDSpace
cy.url().should('include', '/mydspace');
// A success alert should be visible
cy.get('ds-notification div.alert-success').should('be.visible');
// Now, dismiss any open alert boxes (may be multiple, as tests run quickly)
cy.get('[data-dismiss="alert"]').click({multiple: true});
// This is the GET command that will actually run the search
cy.intercept('GET', '/server/api/discover/search/objects*').as('search-results');
// On MyDSpace, find the submission we just saved via its ID
cy.get('[data-test="search-box"]').type(id);
cy.get('[data-test="search-button"]').click();
// Wait for search results to come back from the above GET command
cy.wait('@search-results');
// Delete our created submission & confirm deletion
cy.get('button#delete_' + id).click();
cy.get('button#delete_confirm').click();
});
});
it('should allow for deposit if all required fields completed & file uploaded', () => {
cy.login(TEST_SUBMIT_USER, TEST_SUBMIT_USER_PASSWORD);
// Create a new submission
cy.visit('/submit?collection=' + TEST_SUBMIT_COLLECTION_UUID + '&entityType=none');
// Fill out all required fields (Title, Date)
cy.get('input#dc_title').type('DSpace logo uploaded via e2e tests');
cy.get('input#dc_date_issued_year').type('2022');
// Confirm the required license by checking checkbox
// (NOTE: requires "force:true" cause Cypress claims this checkbox is covered by its own <span>)
cy.get('input#granted').check( {force: true} );
// Before using Cypress drag & drop, we have to manually trigger the "dragover" event.
// This ensures our UI displays the dropzone that covers the entire submission page.
// (For some reason Cypress drag & drop doesn't trigger this even itself & upload won't work without this trigger)
cy.get('ds-uploader').trigger('dragover');
// This is the POST command that will upload the file
cy.intercept('POST', '/server/api/submission/workspaceitems/*').as('upload');
// Upload our DSpace logo via drag & drop onto submission form
// cy.get('div#section_upload')
cy.get('div.ds-document-drop-zone').selectFile('src/assets/images/dspace-logo.png', {
action: 'drag-drop'
});
// Wait for upload to complete before proceeding
cy.wait('@upload');
// Close the upload success notice
cy.get('[data-dismiss="alert"]').click({multiple: true});
// Wait for deposit button to not be disabled & click it.
cy.get('button#deposit').should('not.be.disabled').click();
// No warnings should exist. Instead, just successful deposit alert is displayed
cy.get('ds-notification div.alert-warning').should('not.exist');
cy.get('ds-notification div.alert-success').should('be.visible');
});
});

View File

@@ -1,35 +1,59 @@
const fs = require('fs');
// These two global variables are used to store information about the REST API used
// by these e2e tests. They are filled out prior to running any tests in the before()
// method of e2e.ts. They can then be accessed by any tests via the getters below.
let REST_BASE_URL: string;
let REST_DOMAIN: string;
// Plugins enable you to tap into, modify, or extend the internal behavior of Cypress
// For more info, visit https://on.cypress.io/plugins-api
module.exports = (on, config) => {
on('task', {
// Define "log" and "table" tasks, used for logging accessibility errors during CI
// Borrowed from https://github.com/component-driven/cypress-axe#in-cypress-plugins-file
log(message: string) {
console.log(message);
return null;
},
table(message: string) {
console.table(message);
return null;
},
// Cypress doesn't have access to the running application in Node.js.
// So, it's not possible to inject or load the AppConfig or environment of the Angular UI.
// Instead, we'll read our running application's config.json, which contains the configs &
// is regenerated at runtime each time the Angular UI application starts up.
readUIConfig() {
// Check if we have a config.json in the src/assets. If so, use that.
// This is where it's written when running "ng e2e" or "yarn serve"
if (fs.existsSync('./src/assets/config.json')) {
return fs.readFileSync('./src/assets/config.json', 'utf8');
// Otherwise, check the dist/browser/assets
// This is where it's written when running "serve:ssr", which is what CI uses to start the frontend
} else if (fs.existsSync('./dist/browser/assets/config.json')) {
return fs.readFileSync('./dist/browser/assets/config.json', 'utf8');
}
on('task', {
// Define "log" and "table" tasks, used for logging accessibility errors during CI
// Borrowed from https://github.com/component-driven/cypress-axe#in-cypress-plugins-file
log(message: string) {
console.log(message);
return null;
},
table(message: string) {
console.table(message);
return null;
},
// Cypress doesn't have access to the running application in Node.js.
// So, it's not possible to inject or load the AppConfig or environment of the Angular UI.
// Instead, we'll read our running application's config.json, which contains the configs &
// is regenerated at runtime each time the Angular UI application starts up.
readUIConfig() {
// Check if we have a config.json in the src/assets. If so, use that.
// This is where it's written when running "ng e2e" or "yarn serve"
if (fs.existsSync('./src/assets/config.json')) {
return fs.readFileSync('./src/assets/config.json', 'utf8');
// Otherwise, check the dist/browser/assets
// This is where it's written when running "serve:ssr", which is what CI uses to start the frontend
} else if (fs.existsSync('./dist/browser/assets/config.json')) {
return fs.readFileSync('./dist/browser/assets/config.json', 'utf8');
}
return null;
}
});
return null;
},
// Save value of REST Base URL, looked up before all tests.
// This allows other tests to use it easily via getRestBaseURL() below.
saveRestBaseURL(url: string) {
return (REST_BASE_URL = url);
},
// Retrieve currently saved value of REST Base URL
getRestBaseURL() {
return REST_BASE_URL ;
},
// Save value of REST Domain, looked up before all tests.
// This allows other tests to use it easily via getRestBaseDomain() below.
saveRestBaseDomain(domain: string) {
return (REST_DOMAIN = domain);
},
// Retrieve currently saved value of REST Domain
getRestBaseDomain() {
return REST_DOMAIN ;
},
});
};

View File

@@ -3,13 +3,20 @@
// See docs at https://docs.cypress.io/api/cypress-api/custom-commands
// ***********************************************
import { AuthTokenInfo, TOKENITEM } from 'src/app/core/auth/models/auth-token-info.model';
import { FALLBACK_TEST_REST_BASE_URL } from '.';
import {
AuthTokenInfo,
TOKENITEM,
} from 'src/app/core/auth/models/auth-token-info.model';
import {
DSPACE_XSRF_COOKIE,
XSRF_REQUEST_HEADER,
} from 'src/app/core/xsrf/xsrf.constants';
import { v4 as uuidv4 } from 'uuid';
// Declare Cypress namespace to help with Intellisense & code completion in IDEs
// ALL custom commands MUST be listed here for code completion to work
// tslint:disable-next-line:no-namespace
declare global {
// eslint-disable-next-line @typescript-eslint/no-namespace
namespace Cypress {
interface Chainable<Subject = any> {
/**
@@ -19,6 +26,30 @@ declare global {
* @param password password to login as
*/
login(email: string, password: string): typeof login;
/**
* Login via form before accessing the next page. Useful to fill out login
* form when a cy.visit() call is to an a page which requires authentication.
* @param email email to login as
* @param password password to login as
*/
loginViaForm(email: string, password: string): typeof loginViaForm;
/**
* Generate view event for given object. Useful for testing statistics pages with
* pre-generated statistics. This just generates a single "hit", but can be called multiple times to
* generate multiple hits.
* @param uuid UUID of object
* @param dsoType type of DSpace Object (e.g. "item", "collection", "community")
*/
generateViewEvent(uuid: string, dsoType: string): typeof generateViewEvent;
/**
* Create a new CSRF token and add to required Cookie. CSRF Token is returned
* in chainable in order to allow it to be sent also in required CSRF header.
* @returns Chainable reference to allow CSRF token to also be sent in header.
*/
createCSRFCookie(): Chainable<any>;
}
}
}
@@ -26,58 +57,119 @@ declare global {
/**
* Login user via REST API directly, and pass authentication token to UI via
* the UI's dsAuthInfo cookie.
* WARNING: WHILE THIS METHOD WORKS, OCCASIONALLY RANDOM AUTHENTICATION ERRORS OCCUR.
* At this time "loginViaForm()" seems more consistent/stable.
* @param email email to login as
* @param password password to login as
*/
function login(email: string, password: string): void {
// Cypress doesn't have access to the running application in Node.js.
// So, it's not possible to inject or load the AppConfig or environment of the Angular UI.
// Instead, we'll read our running application's config.json, which contains the configs &
// is regenerated at runtime each time the Angular UI application starts up.
cy.task('readUIConfig').then((str: string) => {
// Parse config into a JSON object
const config = JSON.parse(str);
// Create a fake CSRF cookie/token to use in POST
cy.createCSRFCookie().then((csrfToken: string) => {
// get our REST API's base URL, also needed for POST
cy.task('getRestBaseURL').then((baseRestUrl: string) => {
// Now, send login POST request including that CSRF token
cy.request({
method: 'POST',
url: baseRestUrl + '/api/authn/login',
headers: { [XSRF_REQUEST_HEADER]: csrfToken },
form: true, // indicates the body should be form urlencoded
body: { user: email, password: password },
}).then((resp) => {
// We expect a successful login
expect(resp.status).to.eq(200);
// We expect to have a valid authorization header returned (with our auth token)
expect(resp.headers).to.have.property('authorization');
// Find the URL of our REST API. Have a fallback ready, just in case 'rest.baseUrl' cannot be found.
let baseRestUrl = FALLBACK_TEST_REST_BASE_URL;
if (!config.rest.baseUrl) {
console.warn("Could not load 'rest.baseUrl' from config.json. Falling back to " + FALLBACK_TEST_REST_BASE_URL);
} else {
console.log("Found 'rest.baseUrl' in config.json. Using this REST API for login: " + config.rest.baseUrl);
baseRestUrl = config.rest.baseUrl;
}
// To login via REST, first we have to do a GET to obtain a valid CSRF token
cy.request( baseRestUrl + '/api/authn/status' )
.then((response) => {
// We should receive a CSRF token returned in a response header
expect(response.headers).to.have.property('dspace-xsrf-token');
const csrfToken = response.headers['dspace-xsrf-token'];
// Now, send login POST request including that CSRF token
cy.request({
method: 'POST',
url: baseRestUrl + '/api/authn/login',
headers: { 'X-XSRF-TOKEN' : csrfToken},
form: true, // indicates the body should be form urlencoded
body: { user: email, password: password }
}).then((resp) => {
// We expect a successful login
expect(resp.status).to.eq(200);
// We expect to have a valid authorization header returned (with our auth token)
expect(resp.headers).to.have.property('authorization');
// Initialize our AuthTokenInfo object from the authorization header.
const authheader = resp.headers.authorization as string;
const authinfo: AuthTokenInfo = new AuthTokenInfo(authheader);
// Save our AuthTokenInfo object to our dsAuthInfo UI cookie
// This ensures the UI will recognize we are logged in on next "visit()"
cy.setCookie(TOKENITEM, JSON.stringify(authinfo));
});
});
// Initialize our AuthTokenInfo object from the authorization header.
const authheader = resp.headers.authorization as string;
const authinfo: AuthTokenInfo = new AuthTokenInfo(authheader);
// Save our AuthTokenInfo object to our dsAuthInfo UI cookie
// This ensures the UI will recognize we are logged in on next "visit()"
cy.setCookie(TOKENITEM, JSON.stringify(authinfo));
});
});
});
}
// Add as a Cypress command (i.e. assign to 'cy.login')
Cypress.Commands.add('login', login);
/**
* Login user via displayed login form
* @param email email to login as
* @param password password to login as
*/
function loginViaForm(email: string, password: string): void {
// Enter email
cy.get('ds-log-in [data-test="email"]').type(email);
// Enter password
cy.get('ds-log-in [data-test="password"]').type(password);
// Click login button
cy.get('ds-log-in [data-test="login-button"]').click();
}
// Add as a Cypress command (i.e. assign to 'cy.loginViaForm')
Cypress.Commands.add('loginViaForm', loginViaForm);
/**
* Generate statistic view event for given object. Useful for testing statistics pages with
* pre-generated statistics. This just generates a single "hit", but can be called multiple times to
* generate multiple hits.
*
* NOTE: This requires that "solr-statistics.autoCommit=false" be set on the DSpace backend
* (as it is in our docker-compose-ci.yml used in CI).
* Otherwise, by default, new statistical events won't be saved until Solr's autocommit next triggers.
* @param uuid UUID of object
* @param dsoType type of DSpace Object (e.g. "item", "collection", "community")
*/
function generateViewEvent(uuid: string, dsoType: string): void {
// Create a fake CSRF cookie/token to use in POST
cy.createCSRFCookie().then((csrfToken: string) => {
// get our REST API's base URL, also needed for POST
cy.task('getRestBaseURL').then((baseRestUrl: string) => {
// Now, send 'statistics/viewevents' POST request including that fake CSRF token in required header
cy.request({
method: 'POST',
url: baseRestUrl + '/api/statistics/viewevents',
headers: {
[XSRF_REQUEST_HEADER] : csrfToken,
// use a known public IP address to avoid being seen as a "bot"
'X-Forwarded-For': '1.1.1.1',
// Use a user-agent of a Firefox browser on Windows. This again avoids being seen as a "bot"
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0',
},
//form: true, // indicates the body should be form urlencoded
body: { targetId: uuid, targetType: dsoType },
}).then((resp) => {
// We expect a 201 (which means statistics event was created)
expect(resp.status).to.eq(201);
});
});
});
}
// Add as a Cypress command (i.e. assign to 'cy.generateViewEvent')
Cypress.Commands.add('generateViewEvent', generateViewEvent);
/**
* Can be used by tests to generate a random XSRF/CSRF token and save it to
* the required XSRF/CSRF cookie for usage when sending POST requests or similar.
* The generated CSRF token is returned in a Chainable to allow it to be also sent
* in the CSRF HTTP Header.
* @returns a Cypress Chainable which can be used to get the generated CSRF Token
*/
function createCSRFCookie(): Cypress.Chainable {
// Generate a new token which is a random UUID
const csrfToken: string = uuidv4();
// Save it to our required cookie
cy.task('getRestBaseDomain').then((baseDomain: string) => {
// Create a fake CSRF Token. Set it in the required server-side cookie
cy.setCookie(DSPACE_XSRF_COOKIE, csrfToken, { 'domain': baseDomain });
});
// return the generated token wrapped in a chainable
return cy.wrap(csrfToken);
}
// Add as a Cypress command (i.e. assign to 'cy.createCSRFCookie')
Cypress.Commands.add('createCSRFCookie', createCSRFCookie);

74
cypress/support/e2e.ts Normal file
View File

@@ -0,0 +1,74 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import all custom Commands (from commands.ts) for all tests
import './commands';
// Import Cypress Axe tools for all tests
// https://github.com/component-driven/cypress-axe
import 'cypress-axe';
import { DSPACE_XSRF_COOKIE } from 'src/app/core/xsrf/xsrf.constants';
// Runs once before all tests
before(() => {
// Cypress doesn't have access to the running application in Node.js.
// So, it's not possible to inject or load the AppConfig or environment of the Angular UI.
// Instead, we'll read our running application's config.json, which contains the configs &
// is regenerated at runtime each time the Angular UI application starts up.
cy.task('readUIConfig').then((str: string) => {
// Parse config into a JSON object
const config = JSON.parse(str);
// Find URL of our REST API & save to global variable via task
let baseRestUrl = FALLBACK_TEST_REST_BASE_URL;
if (!config.rest.baseUrl) {
console.warn("Could not load 'rest.baseUrl' from config.json. Falling back to " + FALLBACK_TEST_REST_BASE_URL);
} else {
baseRestUrl = config.rest.baseUrl;
}
cy.task('saveRestBaseURL', baseRestUrl);
// Find domain of our REST API & save to global variable via task.
let baseDomain = FALLBACK_TEST_REST_DOMAIN;
if (!config.rest.host) {
console.warn("Could not load 'rest.host' from config.json. Falling back to " + FALLBACK_TEST_REST_DOMAIN);
} else {
baseDomain = config.rest.host;
}
cy.task('saveRestBaseDomain', baseDomain);
});
});
// Runs once before the first test in each "block"
beforeEach(() => {
// Pre-agree to all Klaro cookies by setting the klaro-anonymous cookie
// This just ensures it doesn't get in the way of matching other objects in the page.
cy.setCookie('klaro-anonymous', '{%22authentication%22:true%2C%22preferences%22:true%2C%22acknowledgement%22:true%2C%22google-analytics%22:true%2C%22google-recaptcha%22:true}');
// Remove any CSRF cookies saved from prior tests
cy.clearCookie(DSPACE_XSRF_COOKIE);
});
// NOTE: FALLBACK_TEST_REST_BASE_URL is only used if Cypress cannot read the REST API BaseURL
// from the Angular UI's config.json. See 'before()' above.
const FALLBACK_TEST_REST_BASE_URL = 'http://localhost:8080/server';
const FALLBACK_TEST_REST_DOMAIN = 'localhost';
// USEFUL REGEX for testing
// Match any string that contains at least one non-space character
// Can be used with "contains()" to determine if an element has a non-empty text value
export const REGEX_MATCH_NON_EMPTY_TEXT = /^(?!\s*$).+/;

View File

@@ -1,63 +0,0 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import all custom Commands (from commands.ts) for all tests
import './commands';
// Import Cypress Axe tools for all tests
// https://github.com/component-driven/cypress-axe
import 'cypress-axe';
// Runs once before the first test in each "block"
beforeEach(() => {
// Pre-agree to all Klaro cookies by setting the klaro-anonymous cookie
// This just ensures it doesn't get in the way of matching other objects in the page.
cy.setCookie('klaro-anonymous', '{%22authentication%22:true%2C%22preferences%22:true%2C%22acknowledgement%22:true%2C%22google-analytics%22:true%2C%22google-recaptcha%22:true}');
});
// For better stability between tests, we visit "about:blank" (i.e. blank page) after each test.
// This ensures any remaining/outstanding XHR requests are killed, so they don't affect the next test.
// Borrowed from: https://glebbahmutov.com/blog/visit-blank-page-between-tests/
afterEach(() => {
cy.window().then((win) => {
win.location.href = 'about:blank';
});
});
// Global constants used in tests
// May be overridden in our cypress.json config file using specified environment variables.
// Default values listed here are all valid for the Demo Entities Data set available at
// https://github.com/DSpace-Labs/AIP-Files/releases/tag/demo-entities-data
// (This is the data set used in our CI environment)
// NOTE: FALLBACK_TEST_REST_BASE_URL is only used if Cypress cannot read the REST API BaseURL
// from the Angular UI's config.json. See 'getBaseRESTUrl()' in commands.ts
export const FALLBACK_TEST_REST_BASE_URL = 'http://localhost:8080/server';
// Admin account used for administrative tests
export const TEST_ADMIN_USER = Cypress.env('DSPACE_TEST_ADMIN_USER') || 'dspacedemo+admin@gmail.com';
export const TEST_ADMIN_PASSWORD = Cypress.env('DSPACE_TEST_ADMIN_PASSWORD') || 'dspace';
// Community/collection/publication used for view/edit tests
export const TEST_COLLECTION = Cypress.env('DSPACE_TEST_COLLECTION') || '282164f5-d325-4740-8dd1-fa4d6d3e7200';
export const TEST_COMMUNITY = Cypress.env('DSPACE_TEST_COMMUNITY') || '0958c910-2037-42a9-81c7-dca80e3892b4';
export const TEST_ENTITY_PUBLICATION = Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION') || 'e98b0f27-5c19-49a0-960d-eb6ad5287067';
// Search term (should return results) used in search tests
export const TEST_SEARCH_TERM = Cypress.env('DSPACE_TEST_SEARCH_TERM') || 'test';
// Collection used for submission tests
export const TEST_SUBMIT_COLLECTION_NAME = Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_NAME') || 'Sample Collection';
export const TEST_SUBMIT_COLLECTION_UUID = Cypress.env('DSPACE_TEST_SUBMIT_COLLECTION_UUID') || '9d8334e9-25d3-4a67-9cea-3dffdef80144';
export const TEST_SUBMIT_USER = Cypress.env('DSPACE_TEST_SUBMIT_USER') || 'dspacedemo+submit@gmail.com';
export const TEST_SUBMIT_USER_PASSWORD = Cypress.env('DSPACE_TEST_SUBMIT_USER_PASSWORD') || 'dspace';

View File

@@ -5,26 +5,26 @@ import { Options } from 'cypress-axe';
// Uses 'log' and 'table' tasks defined in ../plugins/index.ts
// Borrowed from https://github.com/component-driven/cypress-axe#in-your-spec-file
function terminalLog(violations: Result[]) {
cy.task(
'log',
`${violations.length} accessibility violation${violations.length === 1 ? '' : 's'} ${violations.length === 1 ? 'was' : 'were'} detected`
);
// pluck specific keys to keep the table readable
const violationData = violations.map(
({ id, impact, description, helpUrl, nodes }) => ({
id,
impact,
description,
helpUrl,
nodes: nodes.length,
html: nodes.map(node => node.html)
})
);
cy.task(
'log',
`${violations.length} accessibility violation${violations.length === 1 ? '' : 's'} ${violations.length === 1 ? 'was' : 'were'} detected`,
);
// pluck specific keys to keep the table readable
const violationData = violations.map(
({ id, impact, description, helpUrl, nodes }) => ({
id,
impact,
description,
helpUrl,
nodes: nodes.length,
html: nodes.map(node => node.html),
}),
);
// Print violations as an array, since 'node.html' above often breaks table alignment
cy.task('log', violationData);
// Optionally, uncomment to print as a table
// cy.task('table', violationData);
// Print violations as an array, since 'node.html' above often breaks table alignment
cy.task('log', violationData);
// Optionally, uncomment to print as a table
// cy.task('table', violationData);
}
@@ -32,13 +32,13 @@ function terminalLog(violations: Result[]) {
// while also ensuring any violations are logged to the terminal (see terminalLog above)
// This method MUST be called after cy.visit(), as cy.injectAxe() must be called after page load
export const testA11y = (context?: any, options?: Options) => {
cy.injectAxe();
cy.configureAxe({
rules: [
// Disable color contrast checks as they are inaccurate / result in a lot of false positives
// See also open issues in axe-core: https://github.com/dequelabs/axe-core/labels/color%20contrast
{ id: 'color-contrast', enabled: false },
]
});
cy.checkA11y(context, options, terminalLog);
cy.injectAxe();
cy.configureAxe({
rules: [
// Disable color contrast checks as they are inaccurate / result in a lot of false positives
// See also open issues in axe-core: https://github.com/dequelabs/axe-core/labels/color%20contrast
{ id: 'color-contrast', enabled: false },
],
});
cy.checkA11y(context, options, terminalLog);
};

View File

@@ -6,21 +6,45 @@
If you wish to run DSpace on Docker in production, we recommend building your own Docker images. You are welcome to borrow ideas/concepts from the below images in doing so. But, the below images should not be used "as is" in any production scenario.
***
## 'Dockerfile' in root directory
## Overview
The scripts in this directory can be used to start the DSpace User Interface (frontend) in Docker.
Optionally, the backend (REST API) might also be started in Docker.
For additional options/settings in starting the backend (REST API) in Docker, see the Docker Compose
documentation for the backend: https://github.com/DSpace/DSpace/blob/main/dspace/src/main/docker-compose/README.md
## Root directory
The root directory of this project contains all the Dockerfiles which may be referenced by
the Docker compose scripts in this 'docker' folder.
### Dockerfile
This Dockerfile is used to build a *development* DSpace 7 Angular UI image, published as 'dspace/dspace-angular'
```
docker build -t dspace/dspace-angular:dspace-7_x .
docker build -t dspace/dspace-angular:latest .
```
This image is built *automatically* after each commit is made to the `main` branch.
Admins to our DockerHub repo can manually publish with the following command.
```
docker push dspace/dspace-angular:dspace-7_x
docker push dspace/dspace-angular:latest
```
## docker directory
### Dockerfile.dist
The `Dockerfile.dist` is used to generate a *production* build and runtime environment.
```bash
# build the latest image
docker build -f Dockerfile.dist -t dspace/dspace-angular:latest-dist .
```
A default/demo version of this image is built *automatically*.
## 'docker' directory
- docker-compose.yml
- Starts DSpace Angular with Docker Compose from the current branch. This file assumes that a DSpace 7 REST instance will also be started in Docker.
- docker-compose-rest.yml
@@ -45,23 +69,47 @@ docker-compose -f docker/docker-compose.yml build
## To start DSpace (REST and Angular) from your branch
This command provides a quick way to start both the frontend & backend from this single codebase
```
docker-compose -p d7 -f docker/docker-compose.yml -f docker/docker-compose-rest.yml up -d
```
Keep in mind, you may also start the backend by cloning the 'DSpace/DSpace' GitHub repository separately. See the next section.
## Run DSpace REST and DSpace Angular from local branches.
This section assumes that you have clones *both* the 'DSpace/DSpace' and 'DSpace/dspace-angular' GitHub
repositories. When both are available locally, you can spin up both in Docker and have them work together.
_The system will be started in 2 steps. Each step shares the same docker network._
From DSpace/DSpace (build as needed)
From 'DSpace/DSpace' clone (build first as needed):
```
docker-compose -p d7 up -d
```
From DSpace/DSpace-angular
NOTE: More detailed instructions on starting the backend via Docker can be found in the [Docker Compose instructions for the Backend](https://github.com/DSpace/DSpace/blob/main/dspace/src/main/docker-compose/README.md).
From 'DSpace/dspace-angular' clone (build first as needed)
```
docker-compose -p d7 -f docker/docker-compose.yml up -d
```
At this point, you should be able to access the UI from http://localhost:4000,
and the backend at http://localhost:8080/server/
## Run DSpace Angular dist build with DSpace Demo site backend
This allows you to run the Angular UI in *production* mode, pointing it at the demo or sandbox backend
(https://demo.dspace.org/server/ or https://sandbox.dspace.org/server/).
```
docker-compose -f docker/docker-compose-dist.yml pull
docker-compose -f docker/docker-compose-dist.yml build
docker-compose -p d7 -f docker/docker-compose-dist.yml up -d
```
## Ingest test data from AIPDIR
Create an administrator
@@ -87,9 +135,10 @@ Load assetstore content and trigger a re-index of the repository
docker-compose -p d7 -f docker/cli.yml -f docker/cli.assetstore.yml run --rm dspace-cli
```
## End to end testing of the rest api (runs in travis).
_In this instance, only the REST api runs in Docker using the Entities dataset. Travis will perform CI testing of Angular using Node to drive the tests._
## End to end testing of the REST API (runs in GitHub Actions CI).
_In this instance, only the REST api runs in Docker using the Entities dataset. GitHub Actions will perform CI testing of Angular using Node to drive the tests. See `.github/workflows/build.yml` for more details._
This command is only really useful for testing our Continuous Integration process.
```
docker-compose -p d7ci -f docker/docker-compose-travis.yml up -d
docker-compose -p d7ci -f docker/docker-compose-ci.yml up -d
```

View File

@@ -14,13 +14,8 @@
# Therefore, it should be kept in sync with that file
version: "3.7"
networks:
dspacenet:
services:
dspace-cli:
networks:
dspacenet: {}
environment:
# This assetstore zip is available from https://github.com/DSpace-Labs/AIP-Files/releases/tag/demo-entities-data
- LOADASSETS=https://github.com/DSpace-Labs/AIP-Files/releases/download/demo-entities-data/assetstore.tar.gz

View File

@@ -13,10 +13,16 @@
#
# Therefore, it should be kept in sync with that file
version: "3.7"
networks:
# Default to using network named 'dspacenet' from docker-compose-rest.yml.
# Its full name will be prepended with the project name (e.g. "-p d7" means it will be named "d7_dspacenet")
# If COMPOSITE_PROJECT_NAME is missing, default value will be "docker" (name of folder this file is in)
default:
name: ${COMPOSE_PROJECT_NAME:-docker}_dspacenet
external: true
services:
dspace-cli:
image: "${DOCKER_OWNER:-dspace}/dspace-cli:${DSPACE_VER:-dspace-7_x}"
image: "${DOCKER_OWNER:-dspace}/dspace-cli:${DSPACE_VER:-latest}"
container_name: dspace-cli
environment:
# Below syntax may look odd, but it is how to override dspace.cfg settings via env variables.
@@ -30,16 +36,12 @@ services:
# solr.server: Ensure we are using the 'dspacesolr' image for Solr
solr__P__server: http://dspacesolr:8983/solr
volumes:
- "assetstore:/dspace/assetstore"
# Keep DSpace assetstore directory between reboots
- assetstore:/dspace/assetstore
entrypoint: /dspace/bin/dspace
command: help
networks:
- dspacenet
tty: true
stdin_open: true
volumes:
assetstore:
networks:
dspacenet:

View File

@@ -24,17 +24,20 @@ services:
# __D__ => "-" (e.g. google__D__metadata => google-metadata)
# dspace.dir, dspace.server.url and dspace.ui.url
dspace__P__dir: /dspace
dspace__P__server__P__url: http://localhost:8080/server
dspace__P__ui__P__url: http://localhost:4000
dspace__P__server__P__url: http://127.0.0.1:8080/server
dspace__P__ui__P__url: http://127.0.0.1:4000
# db.url: Ensure we are using the 'dspacedb' image for our database
db__P__url: 'jdbc:postgresql://dspacedb:5432/dspace'
# solr.server: Ensure we are using the 'dspacesolr' image for Solr
solr__P__server: http://dspacesolr:8983/solr
# Tell Statistics to commit all views immediately instead of waiting on Solr's autocommit.
# This allows us to generate statistics in e2e tests so that statistics pages can be tested thoroughly.
solr__D__statistics__P__autoCommit: 'false'
image: "${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-latest-test}"
depends_on:
- dspacedb
image: dspace/dspace:dspace-7_x-test
networks:
dspacenet:
- dspacenet
ports:
- published: 8080
target: 8080
@@ -42,8 +45,6 @@ services:
tty: true
volumes:
- assetstore:/dspace/assetstore
# Mount DSpace's solr configs to a volume, so that we can share to 'dspacesolr' container (see below)
- solr_configs:/dspace/solr
# Ensure that the database is ready BEFORE starting tomcat
# 1. While a TCP connection to dspacedb port 5432 is not available, continue to sleep
# 2. Then, run database migration to init database tables (including any out-of-order ignored migrations, if any)
@@ -67,21 +68,18 @@ services:
PGDATA: /pgdata
image: dspace/dspace-postgres-pgcrypto:loadsql
networks:
dspacenet:
- dspacenet
stdin_open: true
tty: true
volumes:
# Keep Postgres data directory between reboots
- pgdata:/pgdata
# DSpace Solr container
dspacesolr:
container_name: dspacesolr
# Uses official Solr image at https://hub.docker.com/_/solr/
image: solr:8.11-slim
# Needs main 'dspace' container to start first to guarantee access to solr_configs
depends_on:
- dspace
image: "${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-latest}"
networks:
dspacenet:
- dspacenet
ports:
- published: 8983
target: 8983
@@ -89,9 +87,6 @@ services:
tty: true
working_dir: /var/solr/data
volumes:
# Mount our "solr_configs" volume available under the Solr's configsets folder (in a 'dspace' subfolder)
# This copies the Solr configs from main 'dspace' container into 'dspacesolr' via that volume
- solr_configs:/opt/solr/server/solr/configsets/dspace
# Keep Solr data directory between reboots
- solr_data:/var/solr/data
# Initialize all DSpace Solr cores using the mounted configsets (see above), then start Solr
@@ -100,14 +95,18 @@ services:
- '-c'
- |
init-var-solr
precreate-core authority /opt/solr/server/solr/configsets/dspace/authority
precreate-core oai /opt/solr/server/solr/configsets/dspace/oai
precreate-core search /opt/solr/server/solr/configsets/dspace/search
precreate-core statistics /opt/solr/server/solr/configsets/dspace/statistics
precreate-core authority /opt/solr/server/solr/configsets/authority
cp -r /opt/solr/server/solr/configsets/authority/* authority
precreate-core oai /opt/solr/server/solr/configsets/oai
cp -r /opt/solr/server/solr/configsets/oai/* oai
precreate-core search /opt/solr/server/solr/configsets/search
cp -r /opt/solr/server/solr/configsets/search/* search
precreate-core statistics /opt/solr/server/solr/configsets/statistics
cp -r /opt/solr/server/solr/configsets/statistics/* statistics
precreate-core qaevent /opt/solr/server/solr/configsets/qaevent
cp -r /opt/solr/server/solr/configsets/qaevent/* qaevent
exec solr -f
volumes:
assetstore:
pgdata:
solr_data:
# Special volume used to share Solr configs from 'dspace' to 'dspacesolr' container (see above)
solr_configs:

View File

@@ -0,0 +1,40 @@
#
# The contents of this file are subject to the license and copyright
# detailed in the LICENSE and NOTICE files at the root of the source
# tree and available online at
#
# http://www.dspace.org/license/
#
# Docker Compose for running the DSpace Angular UI dist build
# for previewing with the DSpace Demo site backend
version: '3.7'
networks:
dspacenet:
services:
dspace-angular:
container_name: dspace-angular
environment:
DSPACE_UI_SSL: 'false'
DSPACE_UI_HOST: dspace-angular
DSPACE_UI_PORT: '4000'
DSPACE_UI_NAMESPACE: /
# NOTE: When running the UI in production mode (which the -dist image does),
# these DSPACE_REST_* variables MUST point at a public, HTTPS URL.
# This is because Server Side Rendering (SSR) currently requires a public URL,
# see this bug: https://github.com/DSpace/dspace-angular/issues/1485
DSPACE_REST_SSL: 'true'
DSPACE_REST_HOST: sandbox.dspace.org
DSPACE_REST_PORT: 443
DSPACE_REST_NAMESPACE: /server
image: dspace/dspace-angular:${DSPACE_VER:-latest}-dist
build:
context: ..
dockerfile: Dockerfile.dist
networks:
dspacenet:
ports:
- published: 4000
target: 4000
stdin_open: true
tty: true

View File

@@ -39,11 +39,11 @@ services:
# proxies.trusted.ipranges: This setting is required for a REST API running in Docker to trust requests
# from the host machine. This IP range MUST correspond to the 'dspacenet' subnet defined above.
proxies__P__trusted__P__ipranges: '172.23.0'
image: dspace/dspace:dspace-7_x-test
image: "${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-latest-test}"
depends_on:
- dspacedb
networks:
dspacenet:
- dspacenet
ports:
- published: 8080
target: 8080
@@ -51,8 +51,6 @@ services:
tty: true
volumes:
- assetstore:/dspace/assetstore
# Mount DSpace's solr configs to a volume, so that we can share to 'dspacesolr' container (see below)
- solr_configs:/dspace/solr
# Ensure that the database is ready BEFORE starting tomcat
# 1. While a TCP connection to dspacedb port 5432 is not available, continue to sleep
# 2. Then, run database migration to init database tables
@@ -69,26 +67,23 @@ services:
container_name: dspacedb
environment:
PGDATA: /pgdata
image: dspace/dspace-postgres-pgcrypto
image: "${DOCKER_OWNER:-dspace}/dspace-postgres-pgcrypto:${DSPACE_VER:-latest}"
networks:
dspacenet:
- dspacenet
ports:
- published: 5432
target: 5432
stdin_open: true
tty: true
volumes:
# Keep Postgres data directory between reboots
- pgdata:/pgdata
# DSpace Solr container
dspacesolr:
container_name: dspacesolr
# Uses official Solr image at https://hub.docker.com/_/solr/
image: solr:8.11-slim
# Needs main 'dspace' container to start first to guarantee access to solr_configs
depends_on:
- dspace
image: "${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-latest}"
networks:
dspacenet:
- dspacenet
ports:
- published: 8983
target: 8983
@@ -96,32 +91,30 @@ services:
tty: true
working_dir: /var/solr/data
volumes:
# Mount our "solr_configs" volume available under the Solr's configsets folder (in a 'dspace' subfolder)
# This copies the Solr configs from main 'dspace' container into 'dspacesolr' via that volume
- solr_configs:/opt/solr/server/solr/configsets/dspace
# Keep Solr data directory between reboots
- solr_data:/var/solr/data
# Initialize all DSpace Solr cores using the mounted local configsets (see above), then start Solr
# * First, run precreate-core to create the core (if it doesn't yet exist). If exists already, this is a no-op
# * Second, copy updated configs from mounted configsets to this core. If it already existed, this updates core
# to the latest configs. If it's a newly created core, this is a no-op.
# * Second, copy configsets to this core:
# Updates to Solr configs require the container to be rebuilt/restarted:
# `docker-compose -p d7 -f docker/docker-compose.yml -f docker/docker-compose-rest.yml up -d --build dspacesolr`
entrypoint:
- /bin/bash
- '-c'
- |
init-var-solr
precreate-core authority /opt/solr/server/solr/configsets/dspace/authority
cp -r -u /opt/solr/server/solr/configsets/dspace/authority/* authority
precreate-core oai /opt/solr/server/solr/configsets/dspace/oai
cp -r -u /opt/solr/server/solr/configsets/dspace/oai/* oai
precreate-core search /opt/solr/server/solr/configsets/dspace/search
cp -r -u /opt/solr/server/solr/configsets/dspace/search/* search
precreate-core statistics /opt/solr/server/solr/configsets/dspace/statistics
cp -r -u /opt/solr/server/solr/configsets/dspace/statistics/* statistics
precreate-core authority /opt/solr/server/solr/configsets/authority
cp -r /opt/solr/server/solr/configsets/authority/* authority
precreate-core oai /opt/solr/server/solr/configsets/oai
cp -r /opt/solr/server/solr/configsets/oai/* oai
precreate-core search /opt/solr/server/solr/configsets/search
cp -r /opt/solr/server/solr/configsets/search/* search
precreate-core statistics /opt/solr/server/solr/configsets/statistics
cp -r /opt/solr/server/solr/configsets/statistics/* statistics
precreate-core qaevent /opt/solr/server/solr/configsets/qaevent
cp -r /opt/solr/server/solr/configsets/qaevent/* qaevent
exec solr -f
volumes:
assetstore:
pgdata:
solr_data:
# Special volume used to share Solr configs from 'dspace' to 'dspacesolr' container (see above)
solr_configs:

View File

@@ -24,7 +24,7 @@ services:
DSPACE_REST_HOST: localhost
DSPACE_REST_PORT: 8080
DSPACE_REST_NAMESPACE: /server
image: dspace/dspace-angular:dspace-7_x
image: dspace/dspace-angular:${DSPACE_VER:-latest}
build:
context: ..
dockerfile: Dockerfile

11
docker/dspace-ui.json Normal file
View File

@@ -0,0 +1,11 @@
{
"apps": [
{
"name": "dspace-ui",
"cwd": "/app",
"script": "dist/server/main.js",
"instances": "max",
"exec_mode": "cluster"
}
]
}

View File

@@ -48,7 +48,7 @@ dspace-angular connects to your DSpace installation by using its REST endpoint.
```yaml
rest:
ssl: true
host: api7.dspace.org
host: demo.dspace.org
port: 443
nameSpace: /server
}
@@ -57,7 +57,7 @@ rest:
Alternately you can set the following environment variables. If any of these are set, it will override all configuration files:
```
DSPACE_REST_SSL=true
DSPACE_REST_HOST=api7.dspace.org
DSPACE_REST_HOST=demo.dspace.org
DSPACE_REST_PORT=443
DSPACE_REST_NAMESPACE=/server
```

View File

@@ -15,7 +15,10 @@ module.exports = function (config) {
],
client: {
clearContext: false, // leave Jasmine Spec Runner output visible in browser
captureConsole: false
captureConsole: false,
jasmine: {
failSpecWithNoExpectations: true
}
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, './coverage/dspace-angular'),

View File

@@ -1,6 +1,6 @@
{
"name": "dspace-angular",
"version": "7.4.0",
"version": "8.0.0-rc1",
"scripts": {
"ng": "ng",
"config:watch": "nodemon",
@@ -15,14 +15,14 @@
"analyze": "webpack-bundle-analyzer dist/browser/stats.json",
"build": "ng build --configuration development",
"build:stats": "ng build --stats-json",
"build:prod": "yarn run build:ssr",
"build:prod": "cross-env NODE_ENV=production yarn run build:ssr",
"build:ssr": "ng build --configuration production && ng run dspace-angular:server:production",
"test": "ng test --sourceMap=true --watch=false --configuration test",
"test:watch": "nodemon --exec \"ng test --sourceMap=true --watch=true --configuration test\"",
"test:headless": "ng test --sourceMap=true --watch=false --configuration test --browsers=ChromeHeadless --code-coverage",
"test": "ng test --source-map=true --watch=false --configuration test",
"test:watch": "nodemon --exec \"ng test --source-map=true --watch=true --configuration test\"",
"test:headless": "ng test --source-map=true --watch=false --configuration test --browsers=ChromeHeadless --code-coverage",
"lint": "ng lint",
"lint-fix": "ng lint --fix=true",
"e2e": "ng e2e",
"e2e": "cross-env NODE_ENV=production ng e2e",
"clean:dev:config": "rimraf src/assets/config.json",
"clean:coverage": "rimraf coverage",
"clean:dist": "rimraf dist",
@@ -30,8 +30,9 @@
"clean:log": "rimraf *.log*",
"clean:json": "rimraf *.records.json",
"clean:node": "rimraf node_modules",
"clean:cli": "rimraf .angular/cache",
"clean:prod": "yarn run clean:dist && yarn run clean:log && yarn run clean:doc && yarn run clean:coverage && yarn run clean:json",
"clean": "yarn run clean:prod && yarn run clean:dev:config && yarn run clean:node",
"clean": "yarn run clean:prod && yarn run clean:dev:config && yarn run clean:cli && yarn run clean:node",
"sync-i18n": "ts-node --project ./tsconfig.ts-node.json scripts/sync-i18n-files.ts",
"build:mirador": "webpack --config webpack/webpack.mirador.config.ts",
"merge-i18n": "ts-node --project ./tsconfig.ts-node.json scripts/merge-i18n-files.ts",
@@ -54,169 +55,155 @@
"ts-node": "10.2.1"
},
"dependencies": {
"@angular/animations": "~13.2.6",
"@angular/cdk": "^13.2.6",
"@angular/common": "~13.2.6",
"@angular/compiler": "~13.2.6",
"@angular/core": "~13.2.6",
"@angular/forms": "~13.2.6",
"@angular/localize": "13.2.6",
"@angular/platform-browser": "~13.2.6",
"@angular/platform-browser-dynamic": "~13.2.6",
"@angular/platform-server": "~13.2.6",
"@angular/router": "~13.2.6",
"@babel/runtime": "^7.17.2",
"@angular/animations": "^16.2.12",
"@angular/cdk": "^16.2.12",
"@angular/common": "^16.2.12",
"@angular/compiler": "^16.2.12",
"@angular/core": "^16.2.12",
"@angular/forms": "^16.2.12",
"@angular/localize": "16.2.12",
"@angular/platform-browser": "^16.2.12",
"@angular/platform-browser-dynamic": "^16.2.12",
"@angular/platform-server": "^16.2.12",
"@angular/router": "^16.2.12",
"@babel/runtime": "7.21.0",
"@kolkov/ngx-gallery": "^2.0.1",
"@material-ui/core": "^4.11.0",
"@material-ui/icons": "^4.9.1",
"@material-ui/icons": "^4.11.3",
"@ng-bootstrap/ng-bootstrap": "^11.0.0",
"@ng-dynamic-forms/core": "^15.0.0",
"@ng-dynamic-forms/ui-ng-bootstrap": "^15.0.0",
"@ngrx/effects": "^13.0.2",
"@ngrx/router-store": "^13.0.2",
"@ngrx/store": "^13.0.2",
"@nguniversal/express-engine": "^13.0.2",
"@ngx-translate/core": "^13.0.0",
"@nicky-lenaers/ngx-scroll-to": "^9.0.0",
"@ng-dynamic-forms/core": "^16.0.0",
"@ng-dynamic-forms/ui-ng-bootstrap": "^16.0.0",
"@ngrx/effects": "^16.3.0",
"@ngrx/router-store": "^16.3.0",
"@ngrx/store": "^16.3.0",
"@nguniversal/express-engine": "^16.2.0",
"@ngx-translate/core": "^14.0.0",
"@nicky-lenaers/ngx-scroll-to": "^14.0.0",
"@types/grecaptcha": "^3.0.4",
"angular-idle-preload": "3.0.0",
"angulartics2": "^12.0.0",
"axios": "^0.27.2",
"bootstrap": "4.3.1",
"caniuse-lite": "^1.0.30001165",
"angulartics2": "^12.2.0",
"axios": "^1.6.0",
"bootstrap": "^4.6.1",
"cerialize": "0.1.18",
"cli-progress": "^3.8.0",
"cli-progress": "^3.12.0",
"colors": "^1.4.0",
"compression": "^1.7.4",
"cookie-parser": "1.4.5",
"core-js": "^3.7.0",
"deepmerge": "^4.2.2",
"express": "^4.17.1",
"cookie-parser": "1.4.6",
"core-js": "^3.30.1",
"date-fns": "^2.29.3",
"date-fns-tz": "^1.3.7",
"deepmerge": "^4.3.1",
"ejs": "^3.1.9",
"express": "^4.19.2",
"express-rate-limit": "^5.1.3",
"fast-json-patch": "^3.0.0-1",
"file-saver": "^2.0.5",
"fast-json-patch": "^3.1.1",
"filesize": "^6.1.0",
"font-awesome": "4.7.0",
"http-proxy-middleware": "^1.0.5",
"https": "1.0.0",
"http-terminator": "^3.2.0",
"isbot": "^3.6.10",
"js-cookie": "2.2.1",
"js-yaml": "^4.1.0",
"json5": "^2.1.3",
"jsonschema": "1.4.0",
"json5": "^2.2.3",
"jsonschema": "1.4.1",
"jwt-decode": "^3.1.2",
"klaro": "^0.7.10",
"klaro": "^0.7.18",
"lodash": "^4.17.21",
"lru-cache": "^7.14.1",
"markdown-it": "^13.0.1",
"markdown-it-mathjax3": "^4.3.1",
"mirador": "^3.3.0",
"mirador-dl-plugin": "^0.13.0",
"mirador-share-plugin": "^0.11.0",
"moment": "^2.29.4",
"morgan": "^1.10.0",
"ng-mocks": "^13.1.1",
"ng2-file-upload": "1.4.0",
"ng2-nouislider": "^1.8.3",
"ngx-infinite-scroll": "^10.0.1",
"ngx-moment": "^5.0.0",
"ngx-pagination": "5.0.0",
"ngx-sortablejs": "^11.1.0",
"ngx-ui-switch": "^11.0.1",
"nouislider": "^14.6.3",
"pem": "1.14.4",
"postcss-cli": "^9.1.0",
"prop-types": "^15.7.2",
"react-copy-to-clipboard": "^5.0.1",
"ng-mocks": "^14.10.0",
"ng2-file-upload": "5.0.0",
"ng2-nouislider": "^2.0.0",
"ngx-infinite-scroll": "^16.0.0",
"ngx-pagination": "6.0.3",
"ngx-ui-switch": "^14.1.0",
"nouislider": "^15.7.1",
"pem": "1.14.7",
"prop-types": "^15.8.1",
"react-copy-to-clipboard": "^5.1.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^7.5.5",
"sanitize-html": "^2.7.2",
"sortablejs": "1.13.0",
"tslib": "^2.0.0",
"url-parse": "^1.5.6",
"rxjs": "^7.8.0",
"sanitize-html": "^2.12.1",
"sortablejs": "1.15.0",
"uuid": "^8.3.2",
"webfontloader": "1.6.28",
"zone.js": "~0.11.5"
"zone.js": "~0.13.3"
},
"devDependencies": {
"@angular-builders/custom-webpack": "~13.1.0",
"@angular-devkit/build-angular": "~13.2.6",
"@angular-eslint/builder": "13.1.0",
"@angular-eslint/eslint-plugin": "13.1.0",
"@angular-eslint/eslint-plugin-template": "13.1.0",
"@angular-eslint/schematics": "13.1.0",
"@angular-eslint/template-parser": "13.1.0",
"@angular/cli": "~13.2.6",
"@angular/compiler-cli": "~13.2.6",
"@angular/language-service": "~13.2.6",
"@angular-builders/custom-webpack": "~16.0.0",
"@angular-devkit/build-angular": "^16.2.12",
"@angular-eslint/builder": "16.3.1",
"@angular-eslint/eslint-plugin": "16.3.1",
"@angular-eslint/eslint-plugin-template": "16.3.1",
"@angular-eslint/schematics": "16.3.1",
"@angular-eslint/template-parser": "16.3.1",
"@angular/cli": "^16.2.12",
"@angular/compiler-cli": "^16.2.12",
"@angular/language-service": "^16.2.12",
"@cypress/schematic": "^1.5.0",
"@fortawesome/fontawesome-free": "^5.5.0",
"@ngrx/store-devtools": "^13.0.2",
"@ngtools/webpack": "^13.2.6",
"@nguniversal/builders": "^13.0.2",
"@fortawesome/fontawesome-free": "^6.4.0",
"@ngrx/store-devtools": "^16.3.0",
"@ngtools/webpack": "^16.2.12",
"@nguniversal/builders": "^16.2.0",
"@types/deep-freeze": "0.1.2",
"@types/express": "^4.17.9",
"@types/file-saver": "^2.0.1",
"@types/ejs": "^3.1.2",
"@types/express": "^4.17.17",
"@types/jasmine": "~3.6.0",
"@types/jasminewd2": "~2.0.8",
"@types/js-cookie": "2.2.6",
"@types/lodash": "^4.14.165",
"@types/lodash": "^4.14.194",
"@types/node": "^14.14.9",
"@types/sanitize-html": "^2.6.2",
"@typescript-eslint/eslint-plugin": "5.11.0",
"@typescript-eslint/parser": "5.11.0",
"axe-core": "^4.3.3",
"@types/sanitize-html": "^2.9.0",
"@typescript-eslint/eslint-plugin": "^5.59.1",
"@typescript-eslint/parser": "^5.59.1",
"axe-core": "^4.7.2",
"compression-webpack-plugin": "^9.2.0",
"copy-webpack-plugin": "^6.4.1",
"cross-env": "^7.0.3",
"css-loader": "^6.2.0",
"css-minimizer-webpack-plugin": "^3.4.1",
"cssnano": "^5.0.6",
"cypress": "9.5.1",
"cypress-axe": "^0.14.0",
"debug-loader": "^0.0.1",
"cypress": "12.17.4",
"cypress-axe": "^1.4.0",
"deep-freeze": "0.0.1",
"dotenv": "^8.2.0",
"eslint": "^8.2.0",
"eslint-plugin-deprecation": "^1.3.2",
"eslint-plugin-import": "^2.25.4",
"eslint-plugin-jsdoc": "^38.0.6",
"eslint": "^8.39.0",
"eslint-plugin-deprecation": "^1.4.1",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-import-newlines": "^1.3.1",
"eslint-plugin-jsdoc": "^45.0.0",
"eslint-plugin-jsonc": "^2.6.0",
"eslint-plugin-lodash": "^7.4.0",
"eslint-plugin-rxjs": "^5.0.3",
"eslint-plugin-simple-import-sort": "^10.0.0",
"eslint-plugin-unused-imports": "^2.0.0",
"express-static-gzip": "^2.1.5",
"fork-ts-checker-webpack-plugin": "^6.0.3",
"html-loader": "^1.3.2",
"express-static-gzip": "^2.1.7",
"jasmine-core": "^3.8.0",
"jasmine-marbles": "0.9.2",
"jasmine-spec-reporter": "~5.0.0",
"karma": "^6.3.14",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2",
"karma": "^6.4.2",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage-istanbul-reporter": "~3.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"karma-mocha-reporter": "2.2.5",
"ngx-mask": "^13.1.7",
"nodemon": "^2.0.15",
"postcss": "^8.1",
"ngx-mask": "14.2.4",
"nodemon": "^2.0.22",
"postcss": "^8.4",
"postcss-apply": "0.12.0",
"postcss-import": "^14.0.0",
"postcss-loader": "^4.0.3",
"postcss-preset-env": "^7.4.2",
"postcss-responsive-type": "1.0.0",
"protractor": "^7.0.0",
"protractor-istanbul-plugin": "2.0.0",
"raw-loader": "0.5.1",
"react": "^16.14.0",
"react-dom": "^16.14.0",
"rimraf": "^3.0.2",
"rxjs-spy": "^8.0.2",
"sass": "~1.32.6",
"sass": "~1.62.0",
"sass-loader": "^12.6.0",
"sass-resources-loader": "^2.1.1",
"string-replace-loader": "^3.1.0",
"terser-webpack-plugin": "^2.3.1",
"ts-loader": "^5.2.0",
"sass-resources-loader": "^2.2.5",
"ts-node": "^8.10.2",
"typescript": "~4.5.5",
"webpack": "^5.69.1",
"webpack-bundle-analyzer": "^4.4.0",
"typescript": "~4.9.3",
"webpack": "5.76.1",
"webpack-bundle-analyzer": "^4.8.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^4.5.0"
"webpack-dev-server": "^4.13.3"
}
}

View File

@@ -1,4 +1,4 @@
import * as fs from 'fs';
import { existsSync, writeFileSync } from 'fs';
import { join } from 'path';
import { AppConfig } from '../src/config/app-config.interface';
@@ -16,7 +16,7 @@ const appConfig: AppConfig = buildAppConfig();
const angularJsonPath = join(process.cwd(), 'angular.json');
if (!fs.existsSync(angularJsonPath)) {
if (!existsSync(angularJsonPath)) {
console.error(`Error:\n${angularJsonPath} does not exist\n`);
process.exit(1);
}
@@ -30,7 +30,7 @@ try {
angularJson.projects['dspace-angular'].architect.build.options.baseHref = baseHref;
fs.writeFileSync(angularJsonPath, JSON.stringify(angularJson, null, 2) + '\n');
writeFileSync(angularJsonPath, JSON.stringify(angularJson, null, 2) + '\n');
} catch (e) {
console.error(e);
}

View File

@@ -1,5 +1,5 @@
import * as fs from 'fs';
import * as yaml from 'js-yaml';
import { existsSync, writeFileSync } from 'fs';
import { dump } from 'js-yaml';
import { join } from 'path';
/**
@@ -18,7 +18,7 @@ if (args[0] === undefined) {
const envFullPath = join(process.cwd(), args[0]);
if (!fs.existsSync(envFullPath)) {
if (!existsSync(envFullPath)) {
console.error(`Error:\n${envFullPath} does not exist\n`);
process.exit(1);
}
@@ -26,10 +26,10 @@ if (!fs.existsSync(envFullPath)) {
try {
const env = require(envFullPath).environment;
const config = yaml.dump(env);
const config = dump(env);
if (args[1]) {
const ymlFullPath = join(process.cwd(), args[1]);
fs.writeFileSync(ymlFullPath, config);
writeFileSync(ymlFullPath, config);
} else {
console.log(config);
}

View File

@@ -1,4 +1,4 @@
import * as child from 'child_process';
import { spawn } from 'child_process';
import { AppConfig } from '../src/config/app-config.interface';
import { buildAppConfig } from '../src/config/config.server';
@@ -9,7 +9,7 @@ const appConfig: AppConfig = buildAppConfig();
* Calls `ng serve` with the following arguments configured for the UI in the app config: host, port, nameSpace, ssl
* Any CLI arguments given to this script are patched through to `ng serve` as well.
*/
child.spawn(
spawn(
`ng serve --host ${appConfig.ui.host} --port ${appConfig.ui.port} --serve-path ${appConfig.ui.nameSpace} --ssl ${appConfig.ui.ssl} ${process.argv.slice(2).join(' ')} --configuration development`,
{ stdio: 'inherit', shell: true }
);

View File

@@ -1,5 +1,5 @@
import * as http from 'http';
import * as https from 'https';
import { request } from 'http';
import { request as https_request } from 'https';
import { AppConfig } from '../src/config/app-config.interface';
import { buildAppConfig } from '../src/config/config.server';
@@ -20,7 +20,7 @@ console.log(`...Testing connection to REST API at ${restUrl}...\n`);
// If SSL enabled, test via HTTPS, else via HTTP
if (appConfig.rest.ssl) {
const req = https.request(restUrl, (res) => {
const req = https_request(restUrl, (res) => {
console.log(`RESPONSE: ${res.statusCode} ${res.statusMessage} \n`);
// We will keep reading data until the 'end' event fires.
// This ensures we don't just read the first chunk.
@@ -39,7 +39,7 @@ if (appConfig.rest.ssl) {
req.end();
} else {
const req = http.request(restUrl, (res) => {
const req = request(restUrl, (res) => {
console.log(`RESPONSE: ${res.statusCode} ${res.statusMessage} \n`);
// We will keep reading data until the 'end' event fires.
// This ensures we don't just read the first chunk.

View File

@@ -1,13 +0,0 @@
const path = require('path');
const child_process = require('child_process');
const heapSize = 4096;
const webpackPath = path.join('node_modules', 'webpack', 'bin', 'webpack.js');
const params = [
'--max_old_space_size=' + heapSize,
webpackPath,
...process.argv.slice(2)
];
child_process.spawn('node', params, { stdio:'inherit' });

437
server.ts
View File

@@ -19,19 +19,24 @@ import 'zone.js/node';
import 'reflect-metadata';
import 'rxjs';
import axios from 'axios';
import * as pem from 'pem';
import * as https from 'https';
/* eslint-disable import/no-namespace */
import * as morgan from 'morgan';
import * as express from 'express';
import * as bodyParser from 'body-parser';
import * as ejs from 'ejs';
import * as compression from 'compression';
import * as expressStaticGzip from 'express-static-gzip';
/* eslint-enable import/no-namespace */
import axios from 'axios';
import LRU from 'lru-cache';
import isbot from 'isbot';
import { createCertificate } from 'pem';
import { createServer } from 'https';
import { json } from 'body-parser';
import { createHttpTerminator } from 'http-terminator';
import { existsSync, readFileSync } from 'fs';
import { readFileSync } from 'fs';
import { join } from 'path';
import { APP_BASE_HREF } from '@angular/common';
import { enableProdMode } from '@angular/core';
import { ngExpressEngine } from '@nguniversal/express-engine';
@@ -43,12 +48,14 @@ import { hasNoValue, hasValue } from './src/app/shared/empty.util';
import { UIServerConfig } from './src/config/ui-server-config.interface';
import { ServerAppModule } from './src/main.server';
import bootstrap from './src/main.server';
import { buildAppConfig } from './src/config/config.server';
import { APP_CONFIG, AppConfig } from './src/config/app-config.interface';
import { extendEnvironmentWithAppConfig } from './src/config/config.util';
import { logStartupMessage } from './startup-message';
import { TOKENITEM } from './src/app/core/auth/models/auth-token-info.model';
/*
* Set path for the browser application's dist folder
@@ -57,12 +64,18 @@ const DIST_FOLDER = join(process.cwd(), 'dist/browser');
// Set path fir IIIF viewer.
const IIIF_VIEWER = join(process.cwd(), 'dist/iiif');
const indexHtml = existsSync(join(DIST_FOLDER, 'index.html')) ? 'index.html' : 'index';
const indexHtml = join(DIST_FOLDER, 'index.html');
const cookieParser = require('cookie-parser');
const appConfig: AppConfig = buildAppConfig(join(DIST_FOLDER, 'assets/config.json'));
// cache of SSR pages for known bots, only enabled in production mode
let botCache: LRU<string, any>;
// cache of SSR pages for anonymous users. Disabled by default, and only available in production mode
let anonymousCache: LRU<string, any>;
// extend environment with app config for server
extendEnvironmentWithAppConfig(environment, appConfig);
@@ -83,10 +96,12 @@ export function app() {
/*
* If production mode is enabled in the environment file:
* - Enable Angular's production mode
* - Initialize caching of SSR rendered pages (if enabled in config.yml)
* - Enable compression for SSR reponses. See [compression](https://github.com/expressjs/compression)
*/
if (environment.production) {
enableProdMode();
initCache();
server.use(compression({
// only compress responses we've marked as SSR
// otherwise, this middleware may compress files we've chosen not to compress via compression-webpack-plugin
@@ -102,20 +117,21 @@ export function app() {
/*
* Add cookie parser middleware
* See [morgan](https://github.com/expressjs/cookie-parser)
* See [cookie-parser](https://github.com/expressjs/cookie-parser)
*/
server.use(cookieParser());
/*
* Add parser for request bodies
* See [morgan](https://github.com/expressjs/body-parser)
* Add JSON parser for request bodies
* See [body-parser](https://github.com/expressjs/body-parser)
*/
server.use(bodyParser.json());
server.use(json());
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
server.engine('html', (_, options, callback) =>
ngExpressEngine({
bootstrap: ServerAppModule,
bootstrap,
inlineCriticalCss: environment.universal.inlineCriticalCss,
providers: [
{
provide: REQUEST,
@@ -127,16 +143,29 @@ export function app() {
},
{
provide: APP_CONFIG,
useValue: environment
}
]
})(_, (options as any), callback)
useValue: environment,
},
],
})(_, (options as any), callback),
);
server.engine('ejs', ejs.renderFile);
/*
* Register the view engines for html and ejs
*/
server.set('view engine', 'html');
server.set('view engine', 'ejs');
/**
* Serve the robots.txt ejs template, filling in the origin variable
*/
server.get('/robots.txt', (req, res) => {
res.setHeader('content-type', 'text/plain');
res.render('assets/robots.txt.ejs', {
'origin': req.protocol + '://' + req.headers.host,
});
});
/*
* Set views folder path to directory where template files are stored
@@ -149,7 +178,16 @@ export function app() {
router.use('/sitemap**', createProxyMiddleware({
target: `${environment.rest.baseUrl}/sitemaps`,
pathRewrite: path => path.replace(environment.ui.nameSpace, '/'),
changeOrigin: true
changeOrigin: true,
}));
/**
* Proxy the linksets
*/
router.use('/signposting**', createProxyMiddleware({
target: `${environment.rest.baseUrl}`,
pathRewrite: path => path.replace(environment.ui.nameSpace, '/'),
changeOrigin: true,
}));
/**
@@ -160,7 +198,7 @@ export function app() {
const RateLimit = require('express-rate-limit');
const limiter = new RateLimit({
windowMs: (environment.ui as UIServerConfig).rateLimiter.windowMs,
max: (environment.ui as UIServerConfig).rateLimiter.max
max: (environment.ui as UIServerConfig).rateLimiter.max,
});
server.use(limiter);
}
@@ -169,7 +207,7 @@ export function app() {
* Serve static resources (images, i18n messages, …)
* Handle pre-compressed files with [express-static-gzip](https://github.com/tkoenig89/express-static-gzip)
*/
router.get('*.*', cacheControl, expressStaticGzip(DIST_FOLDER, {
router.get('*.*', addCacheControl, expressStaticGzip(DIST_FOLDER, {
index: false,
enableBrotli: true,
orderPreference: ['br', 'gzip'],
@@ -185,8 +223,11 @@ export function app() {
*/
server.get('/app/health', healthCheck);
// Register the ngApp callback function to handle incoming requests
router.get('*', ngApp);
/**
* Default sending all incoming requests to ngApp() function, after first checking for a cached
* copy of the page (see cacheCheck())
*/
router.get('*', cacheCheck, ngApp);
server.use(environment.ui.nameSpace, router);
@@ -198,60 +239,281 @@ export function app() {
*/
function ngApp(req, res) {
if (environment.universal.preboot) {
res.render(indexHtml, {
req,
res,
preboot: environment.universal.preboot,
async: environment.universal.async,
time: environment.universal.time,
baseUrl: environment.ui.nameSpace,
originUrl: environment.ui.baseUrl,
requestUrl: req.originalUrl,
providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }]
}, (err, data) => {
if (hasNoValue(err) && hasValue(data)) {
res.locals.ssr = true; // mark response as SSR
res.send(data);
} else if (hasValue(err) && err.code === 'ERR_HTTP_HEADERS_SENT') {
// When this error occurs we can't fall back to CSR because the response has already been
// sent. These errors occur for various reasons in universal, not all of which are in our
// control to solve.
console.warn('Warning [ERR_HTTP_HEADERS_SENT]: Tried to set headers after they were sent to the client');
} else {
console.warn('Error in SSR, serving for direct CSR.');
if (hasValue(err)) {
console.warn('Error details : ', err);
}
res.render(indexHtml, {
req,
providers: [{
provide: APP_BASE_HREF,
useValue: req.baseUrl
}]
});
}
});
// Render the page to user via SSR (server side rendering)
serverSideRender(req, res);
} else {
// If preboot is disabled, just serve the client
console.log('Universal off, serving for direct CSR');
res.render(indexHtml, {
req,
providers: [{
provide: APP_BASE_HREF,
useValue: req.baseUrl
}]
console.log('Universal off, serving for direct client-side rendering (CSR)');
clientSideRender(req, res);
}
}
/**
* Render page content on server side using Angular SSR. By default this page content is
* returned to the user.
* @param req current request
* @param res current response
* @param sendToUser if true (default), send the rendered content to the user.
* If false, then only save this rendered content to the in-memory cache (to refresh cache).
*/
function serverSideRender(req, res, sendToUser: boolean = true) {
// Render the page via SSR (server side rendering)
res.render(indexHtml, {
req,
res,
preboot: environment.universal.preboot,
async: environment.universal.async,
time: environment.universal.time,
baseUrl: environment.ui.nameSpace,
originUrl: environment.ui.baseUrl,
requestUrl: req.originalUrl,
}, (err, data) => {
if (hasNoValue(err) && hasValue(data)) {
// save server side rendered page to cache (if any are enabled)
saveToCache(req, data);
if (sendToUser) {
res.locals.ssr = true; // mark response as SSR (enables text compression)
// send rendered page to user
res.send(data);
}
} else if (hasValue(err) && err.code === 'ERR_HTTP_HEADERS_SENT') {
// When this error occurs we can't fall back to CSR because the response has already been
// sent. These errors occur for various reasons in universal, not all of which are in our
// control to solve.
console.warn('Warning [ERR_HTTP_HEADERS_SENT]: Tried to set headers after they were sent to the client');
} else {
console.warn('Error in server-side rendering (SSR)');
if (hasValue(err)) {
console.warn('Error details : ', err);
}
if (sendToUser) {
console.warn('Falling back to serving direct client-side rendering (CSR).');
clientSideRender(req, res);
}
}
});
}
/**
* Send back response to user to trigger direct client-side rendering (CSR)
* @param req current request
* @param res current response
*/
function clientSideRender(req, res) {
res.sendFile(indexHtml);
}
/*
* Adds a Cache-Control HTTP header to the response.
* The cache control value can be configured in the config.*.yml file
* Defaults to max-age=604,800 seconds (1 week)
*/
function addCacheControl(req, res, next) {
// instruct browser to revalidate
res.header('Cache-Control', environment.cache.control || 'max-age=604800');
next();
}
/*
* Initialize server-side caching of pages rendered via SSR.
*/
function initCache() {
if (botCacheEnabled()) {
// Initialize a new "least-recently-used" item cache (where least recently used pages are removed first)
// See https://www.npmjs.com/package/lru-cache
// When enabled, each page defaults to expiring after 1 day (defined in default-app-config.ts)
botCache = new LRU( {
max: environment.cache.serverSide.botCache.max,
ttl: environment.cache.serverSide.botCache.timeToLive,
allowStale: environment.cache.serverSide.botCache.allowStale,
});
}
if (anonymousCacheEnabled()) {
// NOTE: While caches may share SSR pages, this cache must be kept separately because the timeToLive
// may expire pages more frequently.
// When enabled, each page defaults to expiring after 10 seconds (defined in default-app-config.ts)
// to minimize anonymous users seeing out-of-date content
anonymousCache = new LRU( {
max: environment.cache.serverSide.anonymousCache.max,
ttl: environment.cache.serverSide.anonymousCache.timeToLive,
allowStale: environment.cache.serverSide.anonymousCache.allowStale,
});
}
}
/*
* Adds a cache control header to the response
* The cache control value can be configured in the environments file and defaults to max-age=60
/**
* Return whether bot-specific server side caching is enabled in configuration.
*/
function cacheControl(req, res, next) {
// instruct browser to revalidate
res.header('Cache-Control', environment.cache.control || 'max-age=60');
next();
function botCacheEnabled(): boolean {
// Caching is only enabled if SSR is enabled AND
// "max" pages to cache is greater than zero
return environment.universal.preboot && environment.cache.serverSide.botCache.max && (environment.cache.serverSide.botCache.max > 0);
}
/**
* Return whether anonymous user server side caching is enabled in configuration.
*/
function anonymousCacheEnabled(): boolean {
// Caching is only enabled if SSR is enabled AND
// "max" pages to cache is greater than zero
return environment.universal.preboot && environment.cache.serverSide.anonymousCache.max && (environment.cache.serverSide.anonymousCache.max > 0);
}
/**
* Check if the currently requested page is in our server-side, in-memory cache.
* Caching is ONLY done for SSR requests. Pages are cached base on their path (e.g. /home or /search?query=test)
*/
function cacheCheck(req, res, next) {
// Cached copy of page (if found)
let cachedCopy;
// If the bot cache is enabled and this request looks like a bot, check the bot cache for a cached page.
if (botCacheEnabled() && isbot(req.get('user-agent'))) {
cachedCopy = checkCacheForRequest('bot', botCache, req, res);
} else if (anonymousCacheEnabled() && !isUserAuthenticated(req)) {
cachedCopy = checkCacheForRequest('anonymous', anonymousCache, req, res);
}
// If cached copy exists, return it to the user.
if (cachedCopy && cachedCopy.page) {
if (cachedCopy.headers) {
Object.keys(cachedCopy.headers).forEach((header) => {
if (cachedCopy.headers[header]) {
if (environment.cache.serverSide.debug) {
console.log(`Restore cached ${header} header`);
}
res.setHeader(header, cachedCopy.headers[header]);
}
});
}
res.locals.ssr = true; // mark response as SSR-generated (enables text compression)
res.send(cachedCopy.page);
// Tell Express to skip all other handlers for this path
// This ensures we don't try to re-render the page since we've already returned the cached copy
next('router');
} else {
// If nothing found in cache, just continue with next handler
// (This should send the request on to the handler that rerenders the page via SSR
next();
}
}
/**
* Checks if the current request (i.e. page) is found in the given cache. If it is found,
* the cached copy is returned. When found, this method also triggers a re-render via
* SSR if the cached copy is now expired (i.e. timeToLive has passed for this cached copy).
* @param cacheName name of cache (just useful for debug logging)
* @param cache LRU cache to check
* @param req current request to look for in the cache
* @param res current response
* @returns cached copy (if found) or undefined (if not found)
*/
function checkCacheForRequest(cacheName: string, cache: LRU<string, any>, req, res): any {
// Get the cache key for this request
const key = getCacheKey(req);
// Check if this page is in our cache
const cachedCopy = cache.get(key);
if (cachedCopy) {
if (environment.cache.serverSide.debug) { console.log(`CACHE HIT FOR ${key} in ${cacheName} cache`); }
// Check if cached copy is expired (If expired, the key will now be gone from cache)
// NOTE: This will only occur when "allowStale=true", as it means the "get(key)" above returned a stale value.
if (!cache.has(key)) {
if (environment.cache.serverSide.debug) { console.log(`CACHE EXPIRED FOR ${key} in ${cacheName} cache. Re-rendering...`); }
// Update cached copy by rerendering server-side
// NOTE: In this scenario the currently cached copy will be returned to the current user.
// This re-render is peformed behind the scenes to update cached copy for next user.
serverSideRender(req, res, false);
}
} else {
if (environment.cache.serverSide.debug) { console.log(`CACHE MISS FOR ${key} in ${cacheName} cache.`); }
}
// return page from cache
return cachedCopy;
}
/**
* Create a cache key from the current request.
* The cache key is the URL path (NOTE: this key will also include any querystring params).
* E.g. "/home" or "/search?query=test"
* @param req current request
* @returns cache key to use for this page
*/
function getCacheKey(req): string {
// NOTE: this will return the URL path *without* any baseUrl
return req.url;
}
/**
* Save page to server side cache(s), if enabled. If caching is not enabled or a user is authenticated, this is a noop
* If multiple caches are enabled, the page will be saved to any caches where it does not yet exist (or is expired).
* (This minimizes the number of times we need to run SSR on the same page.)
* @param req current page request
* @param page page data to save to cache
*/
function saveToCache(req, page: any) {
// Only cache if no one is currently authenticated. This means ONLY public pages can be cached.
// NOTE: It's not safe to save page data to the cache when a user is authenticated. In that situation,
// the page may include sensitive or user-specific materials. As the cache is shared across all users, it can only contain public info.
if (!isUserAuthenticated(req)) {
const key = getCacheKey(req);
// Avoid caching "/reload/[random]" paths (these are hard refreshes after logout)
if (key.startsWith('/reload')) { return; }
// Avoid caching not successful responses (status code different from 2XX status)
if (hasNotSucceeded(req.res.statusCode)) { return; }
// Retrieve response headers to save, if any
const headers = retrieveHeaders(req.res);
// If bot cache is enabled, save it to that cache if it doesn't exist or is expired
// (NOTE: has() will return false if page is expired in cache)
if (botCacheEnabled() && !botCache.has(key)) {
botCache.set(key, { page, headers });
if (environment.cache.serverSide.debug) { console.log(`CACHE SAVE FOR ${key} in bot cache.`); }
}
// If anonymous cache is enabled, save it to that cache if it doesn't exist or is expired
if (anonymousCacheEnabled() && !anonymousCache.has(key)) {
anonymousCache.set(key, { page, headers });
if (environment.cache.serverSide.debug) { console.log(`CACHE SAVE FOR ${key} in anonymous cache.`); }
}
}
}
/**
* Check if status code is different from 2XX
* @param statusCode
*/
function hasNotSucceeded(statusCode) {
const rgx = new RegExp(/^20+/);
return !rgx.test(statusCode);
}
function retrieveHeaders(response) {
const headers = Object.create({});
if (Array.isArray(environment.cache.serverSide.headers) && environment.cache.serverSide.headers.length > 0) {
environment.cache.serverSide.headers.forEach((header) => {
if (response.hasHeader(header)) {
if (environment.cache.serverSide.debug) {
console.log(`Save ${header} header to cache`);
}
headers[header] = response.getHeader(header);
}
});
}
return headers;
}
/**
* Whether a user is authenticated or not
*/
function isUserAuthenticated(req): boolean {
// Check whether our DSpace authentication Cookie exists or not
return req.cookies[TOKENITEM];
}
/*
@@ -266,23 +528,46 @@ function serverStarted() {
* @param keys SSL credentials
*/
function createHttpsServer(keys) {
https.createServer({
const listener = createServer({
key: keys.serviceKey,
cert: keys.certificate
cert: keys.certificate,
}, app).listen(environment.ui.port, environment.ui.host, () => {
serverStarted();
});
// Graceful shutdown when signalled
const terminator = createHttpTerminator({ server: listener });
process.on('SIGINT', () => {
void (async ()=> {
console.debug('Closing HTTPS server on signal');
await terminator.terminate().catch(e => { console.error(e); });
console.debug('HTTPS server closed');
})();
});
}
/**
* Create an HTTP server with the configured port and host.
*/
function run() {
const port = environment.ui.port || 4000;
const host = environment.ui.host || '/';
// Start up the Node server
const server = app();
server.listen(port, host, () => {
const listener = server.listen(port, host, () => {
serverStarted();
});
// Graceful shutdown when signalled
const terminator = createHttpTerminator({ server: listener });
process.on('SIGINT', () => {
void (async () => {
console.debug('Closing HTTP server on signal');
await terminator.terminate().catch(e => { console.error(e); });
console.debug('HTTP server closed.');return undefined;
})();
});
}
function start() {
@@ -313,16 +598,16 @@ function start() {
if (serviceKey && certificate) {
createHttpsServer({
serviceKey: serviceKey,
certificate: certificate
certificate: certificate,
});
} else {
console.warn('Disabling certificate validation and proceeding with a self-signed certificate. If this is a production server, it is recommended that you configure a valid certificate instead.');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; // lgtm[js/disabling-certificate-validation]
pem.createCertificate({
createCertificate({
days: 1,
selfSigned: true
selfSigned: true,
}, (error, keys) => {
createHttpsServer(keys);
});
@@ -343,7 +628,7 @@ function healthCheck(req, res) {
})
.catch((error) => {
res.status(error.response.status).send({
error: error.message
error: error.message,
});
});
}

View File

@@ -0,0 +1,117 @@
import { AbstractControl } from '@angular/forms';
import {
mapToCanActivate,
Route,
} from '@angular/router';
import {
DYNAMIC_ERROR_MESSAGES_MATCHER,
DynamicErrorMessagesMatcher,
} from '@ng-dynamic-forms/core';
import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
import { GroupAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/group-administrator.guard';
import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
import {
EPERSON_PATH,
GROUP_PATH,
} from './access-control-routing-paths';
import { BulkAccessComponent } from './bulk-access/bulk-access.component';
import { EPeopleRegistryComponent } from './epeople-registry/epeople-registry.component';
import { EPersonFormComponent } from './epeople-registry/eperson-form/eperson-form.component';
import { EPersonResolver } from './epeople-registry/eperson-resolver.service';
import { GroupFormComponent } from './group-registry/group-form/group-form.component';
import { GroupPageGuard } from './group-registry/group-page.guard';
import { GroupsRegistryComponent } from './group-registry/groups-registry.component';
/**
* Condition for displaying error messages on email form field
*/
export const ValidateEmailErrorStateMatcher: DynamicErrorMessagesMatcher =
(control: AbstractControl, model: any, hasFocus: boolean) => {
return (control.touched && !hasFocus) || (control.errors?.emailTaken && hasFocus);
};
const providers = [
{
provide: DYNAMIC_ERROR_MESSAGES_MATCHER,
useValue: ValidateEmailErrorStateMatcher,
},
];
export const ROUTES: Route[] = [
{
path: EPERSON_PATH,
component: EPeopleRegistryComponent,
resolve: {
breadcrumb: i18nBreadcrumbResolver,
},
providers,
data: { title: 'admin.access-control.epeople.title', breadcrumbKey: 'admin.access-control.epeople' },
canActivate: mapToCanActivate([SiteAdministratorGuard]),
},
{
path: `${EPERSON_PATH}/create`,
component: EPersonFormComponent,
resolve: {
breadcrumb: i18nBreadcrumbResolver,
},
providers,
data: { title: 'admin.access-control.epeople.add.title', breadcrumbKey: 'admin.access-control.epeople.add' },
canActivate: mapToCanActivate([SiteAdministratorGuard]),
},
{
path: `${EPERSON_PATH}/:id/edit`,
component: EPersonFormComponent,
resolve: {
breadcrumb: i18nBreadcrumbResolver,
ePerson: EPersonResolver,
},
providers,
data: { title: 'admin.access-control.epeople.edit.title', breadcrumbKey: 'admin.access-control.epeople.edit' },
canActivate: mapToCanActivate([SiteAdministratorGuard]),
},
{
path: GROUP_PATH,
component: GroupsRegistryComponent,
resolve: {
breadcrumb: i18nBreadcrumbResolver,
},
providers,
data: { title: 'admin.access-control.groups.title', breadcrumbKey: 'admin.access-control.groups' },
canActivate: mapToCanActivate([GroupAdministratorGuard]),
},
{
path: `${GROUP_PATH}/create`,
component: GroupFormComponent,
resolve: {
breadcrumb: i18nBreadcrumbResolver,
},
providers,
data: {
title: 'admin.access-control.groups.title.addGroup',
breadcrumbKey: 'admin.access-control.groups.addGroup',
},
canActivate: mapToCanActivate([GroupAdministratorGuard]),
},
{
path: `${GROUP_PATH}/:groupId/edit`,
component: GroupFormComponent,
resolve: {
breadcrumb: i18nBreadcrumbResolver,
},
providers,
data: {
title: 'admin.access-control.groups.title.singleGroup',
breadcrumbKey: 'admin.access-control.groups.singleGroup',
},
canActivate: mapToCanActivate([GroupPageGuard]),
},
{
path: 'bulk-access',
component: BulkAccessComponent,
resolve: {
breadcrumb: i18nBreadcrumbResolver,
},
data: { title: 'admin.access-control.bulk-access.title', breadcrumbKey: 'admin.access-control.bulk-access' },
canActivate: mapToCanActivate([SiteAdministratorGuard]),
},
];

View File

@@ -1,12 +1,22 @@
import { URLCombiner } from '../core/url-combiner/url-combiner';
import { getAccessControlModuleRoute } from '../app-routing-paths';
import { URLCombiner } from '../core/url-combiner/url-combiner';
export const GROUP_EDIT_PATH = 'groups';
export const EPERSON_PATH = 'epeople';
export function getEPersonsRoute(): string {
return new URLCombiner(getAccessControlModuleRoute(), EPERSON_PATH).toString();
}
export function getEPersonEditRoute(id: string): string {
return new URLCombiner(getEPersonsRoute(), id, 'edit').toString();
}
export const GROUP_PATH = 'groups';
export function getGroupsRoute() {
return new URLCombiner(getAccessControlModuleRoute(), GROUP_EDIT_PATH).toString();
return new URLCombiner(getAccessControlModuleRoute(), GROUP_PATH).toString();
}
export function getGroupEditRoute(id: string) {
return new URLCombiner(getAccessControlModuleRoute(), GROUP_EDIT_PATH, id).toString();
return new URLCombiner(getGroupsRoute(), id, 'edit').toString();
}

View File

@@ -1,59 +0,0 @@
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { EPeopleRegistryComponent } from './epeople-registry/epeople-registry.component';
import { GroupFormComponent } from './group-registry/group-form/group-form.component';
import { GroupsRegistryComponent } from './group-registry/groups-registry.component';
import { GROUP_EDIT_PATH } from './access-control-routing-paths';
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
import { GroupPageGuard } from './group-registry/group-page.guard';
import { GroupAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/group-administrator.guard';
import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
@NgModule({
imports: [
RouterModule.forChild([
{
path: 'epeople',
component: EPeopleRegistryComponent,
resolve: {
breadcrumb: I18nBreadcrumbResolver
},
data: { title: 'admin.access-control.epeople.title', breadcrumbKey: 'admin.access-control.epeople' },
canActivate: [SiteAdministratorGuard]
},
{
path: GROUP_EDIT_PATH,
component: GroupsRegistryComponent,
resolve: {
breadcrumb: I18nBreadcrumbResolver
},
data: { title: 'admin.access-control.groups.title', breadcrumbKey: 'admin.access-control.groups' },
canActivate: [GroupAdministratorGuard]
},
{
path: `${GROUP_EDIT_PATH}/newGroup`,
component: GroupFormComponent,
resolve: {
breadcrumb: I18nBreadcrumbResolver
},
data: { title: 'admin.access-control.groups.title.addGroup', breadcrumbKey: 'admin.access-control.groups.addGroup' },
canActivate: [GroupAdministratorGuard]
},
{
path: `${GROUP_EDIT_PATH}/:groupId`,
component: GroupFormComponent,
resolve: {
breadcrumb: I18nBreadcrumbResolver
},
data: { title: 'admin.access-control.groups.title.singleGroup', breadcrumbKey: 'admin.access-control.groups.singleGroup' },
canActivate: [GroupPageGuard]
}
])
]
})
/**
* Routing module for the AccessControl section of the admin sidebar
*/
export class AccessControlRoutingModule {
}

View File

@@ -1,36 +0,0 @@
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { SharedModule } from '../shared/shared.module';
import { AccessControlRoutingModule } from './access-control-routing.module';
import { EPeopleRegistryComponent } from './epeople-registry/epeople-registry.component';
import { EPersonFormComponent } from './epeople-registry/eperson-form/eperson-form.component';
import { GroupFormComponent } from './group-registry/group-form/group-form.component';
import { MembersListComponent } from './group-registry/group-form/members-list/members-list.component';
import { SubgroupsListComponent } from './group-registry/group-form/subgroup-list/subgroups-list.component';
import { GroupsRegistryComponent } from './group-registry/groups-registry.component';
import { FormModule } from '../shared/form/form.module';
@NgModule({
imports: [
CommonModule,
SharedModule,
RouterModule,
AccessControlRoutingModule,
FormModule
],
declarations: [
EPeopleRegistryComponent,
EPersonFormComponent,
GroupsRegistryComponent,
GroupFormComponent,
SubgroupsListComponent,
MembersListComponent
]
})
/**
* This module handles all components related to the access control pages
*/
export class AccessControlModule {
}

View File

@@ -0,0 +1,69 @@
<ngb-accordion #acc="ngbAccordion" [activeIds]="'browse'">
<ngb-panel [id]="'browse'">
<ng-template ngbPanelHeader>
<div class="w-100 d-flex gap-3 justify-content-between collapse-toggle" ngbPanelToggle (click)="acc.toggle('browse')"
data-test="browse">
<button type="button" class="btn btn-link p-0" (click)="$event.preventDefault()"
[attr.aria-expanded]="acc.isExpanded('browse')"
aria-controls="bulk-access-browse-panel-content">
{{ 'admin.access-control.bulk-access-browse.header' | translate }}
</button>
<div class="text-right d-flex gap-2">
<div class="d-flex my-auto">
<span *ngIf="acc.isExpanded('browse')" class="fas fa-chevron-up fa-fw"></span>
<span *ngIf="!acc.isExpanded('browse')" class="fas fa-chevron-down fa-fw"></span>
</div>
</div>
</div>
</ng-template>
<ng-template ngbPanelContent>
<div id="bulk-access-browse-panel-content">
<ul ngbNav #nav="ngbNav" [(activeId)]="activateId" class="nav-pills">
<li [ngbNavItem]="'search'" role="presentation">
<a ngbNavLink>{{'admin.access-control.bulk-access-browse.search.header' | translate}}</a>
<ng-template ngbNavContent>
<div class="mx-n3">
<ds-themed-search [configuration]="'administrativeBulkAccess'"
[selectable]="true"
[selectionConfig]="{ repeatable: true, listId: listId }"
[showThumbnails]="false"></ds-themed-search>
</div>
</ng-template>
</li>
<li [ngbNavItem]="'selected'" role="presentation">
<a ngbNavLink>
{{'admin.access-control.bulk-access-browse.selected.header' | translate: {number: ((objectsSelected$ | async)?.payload?.totalElements) ? (objectsSelected$ | async)?.payload?.totalElements : '0'} }}
</a>
<ng-template ngbNavContent>
<ds-pagination
[paginationOptions]="(paginationOptions$ | async)"
[pageInfoState]="(objectsSelected$|async)?.payload.pageInfo"
[collectionSize]="(objectsSelected$|async)?.payload?.totalElements"
[objects]="(objectsSelected$|async)"
[showPaginator]="false"
(prev)="pagePrev()"
(next)="pageNext()">
<ul *ngIf="(objectsSelected$|async)?.hasSucceeded" class="list-unstyled ml-4">
<li *ngFor='let object of (objectsSelected$|async)?.payload?.page | paginate: { itemsPerPage: (paginationOptions$ | async).pageSize,
currentPage: (paginationOptions$ | async).currentPage, totalItems: (objectsSelected$|async)?.payload?.page.length }; let i = index; let last = last '
class="mt-4 mb-4 d-flex"
[attr.data-test]="'list-object' | dsBrowserOnly">
<ds-selectable-list-item-control [index]="i"
[object]="object"
[selectionConfig]="{ repeatable: true, listId: listId }"></ds-selectable-list-item-control>
<ds-listable-object-component-loader [listID]="listId"
[index]="i"
[object]="object"
[showThumbnails]="false"
[viewMode]="'list'"></ds-listable-object-component-loader>
</li>
</ul>
</ds-pagination>
</ng-template>
</li>
</ul>
<div [ngbNavOutlet]="nav" class="mt-5"></div>
</div>
</ng-template>
</ngb-panel>
</ngb-accordion>

View File

@@ -0,0 +1,108 @@
import { NO_ERRORS_SCHEMA } from '@angular/core';
import {
ComponentFixture,
TestBed,
waitForAsync,
} from '@angular/core/testing';
import {
NgbAccordionModule,
NgbNavModule,
} from '@ng-bootstrap/ng-bootstrap';
import { TranslateModule } from '@ngx-translate/core';
import { of } from 'rxjs';
import { buildPaginatedList } from '../../../core/data/paginated-list.model';
import { PageInfo } from '../../../core/shared/page-info.model';
import { getMockThemeService } from '../../../shared/mocks/theme-service.mock';
import { ListableObjectComponentLoaderComponent } from '../../../shared/object-collection/shared/listable-object/listable-object-component-loader.component';
import { SelectableListItemControlComponent } from '../../../shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component';
import { SelectableListService } from '../../../shared/object-list/selectable-list/selectable-list.service';
import { SelectableObject } from '../../../shared/object-list/selectable-list/selectable-list.service.spec';
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils';
import { ThemedSearchComponent } from '../../../shared/search/themed-search.component';
import { ThemeService } from '../../../shared/theme-support/theme.service';
import { BulkAccessBrowseComponent } from './bulk-access-browse.component';
describe('BulkAccessBrowseComponent', () => {
let component: BulkAccessBrowseComponent;
let fixture: ComponentFixture<BulkAccessBrowseComponent>;
const listID1 = 'id1';
const value1 = 'Selected object';
const value2 = 'Another selected object';
const selected1 = new SelectableObject(value1);
const selected2 = new SelectableObject(value2);
const testSelection = { id: listID1, selection: [selected1, selected2] };
const selectableListService = jasmine.createSpyObj('SelectableListService', ['getSelectableList', 'deselectAll']);
beforeEach(waitForAsync(() => {
TestBed.configureTestingModule({
imports: [
NgbAccordionModule,
NgbNavModule,
TranslateModule.forRoot(),
BulkAccessBrowseComponent,
],
providers: [
{ provide: SelectableListService, useValue: selectableListService },
{ provide: ThemeService, useValue: getMockThemeService() },
],
schemas: [
NO_ERRORS_SCHEMA,
],
})
.overrideComponent(BulkAccessBrowseComponent, {
remove: {
imports: [
PaginationComponent,
ThemedSearchComponent,
SelectableListItemControlComponent,
ListableObjectComponentLoaderComponent,
],
},
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(BulkAccessBrowseComponent);
component = fixture.componentInstance;
(component as any).selectableListService.getSelectableList.and.returnValue(of(testSelection));
fixture.detectChanges();
});
afterEach(() => {
fixture.destroy();
component = null;
});
it('should create the component', () => {
expect(component).toBeTruthy();
});
it('should have an initial active nav id of "search"', () => {
expect(component.activateId).toEqual('search');
});
it('should have an initial pagination options object with default values', () => {
expect(component.paginationOptions$.getValue().id).toEqual('bas');
expect(component.paginationOptions$.getValue().pageSize).toEqual(5);
expect(component.paginationOptions$.getValue().currentPage).toEqual(1);
});
it('should have an initial remote data with a paginated list as value', () => {
const list = buildPaginatedList(new PageInfo({
'elementsPerPage': 5,
'totalElements': 2,
'totalPages': 1,
'currentPage': 1,
}), [selected1, selected2]);
const rd = createSuccessfulRemoteDataObject(list);
expect(component.objectsSelected$.value).toEqual(rd);
});
});

View File

@@ -0,0 +1,163 @@
import {
AsyncPipe,
NgForOf,
NgIf,
} from '@angular/common';
import {
Component,
Input,
OnDestroy,
OnInit,
} from '@angular/core';
import {
NgbAccordionModule,
NgbNavModule,
} from '@ng-bootstrap/ng-bootstrap';
import { TranslateModule } from '@ngx-translate/core';
import { NgxPaginationModule } from 'ngx-pagination';
import {
BehaviorSubject,
Subscription,
} from 'rxjs';
import {
distinctUntilChanged,
map,
} from 'rxjs/operators';
import {
buildPaginatedList,
PaginatedList,
} from '../../../core/data/paginated-list.model';
import { RemoteData } from '../../../core/data/remote-data';
import { PageInfo } from '../../../core/shared/page-info.model';
import { SearchConfigurationService } from '../../../core/shared/search/search-configuration.service';
import { SEARCH_CONFIG_SERVICE } from '../../../my-dspace-page/my-dspace-configuration.service';
import { hasValue } from '../../../shared/empty.util';
import { ListableObject } from '../../../shared/object-collection/shared/listable-object.model';
import { ListableObjectComponentLoaderComponent } from '../../../shared/object-collection/shared/listable-object/listable-object-component-loader.component';
import { SelectableListItemControlComponent } from '../../../shared/object-collection/shared/selectable-list-item-control/selectable-list-item-control.component';
import { SelectableListState } from '../../../shared/object-list/selectable-list/selectable-list.reducer';
import { SelectableListService } from '../../../shared/object-list/selectable-list/selectable-list.service';
import { PaginationComponent } from '../../../shared/pagination/pagination.component';
import { PaginationComponentOptions } from '../../../shared/pagination/pagination-component-options.model';
import { createSuccessfulRemoteDataObject } from '../../../shared/remote-data.utils';
import { ThemedSearchComponent } from '../../../shared/search/themed-search.component';
import { BrowserOnlyPipe } from '../../../shared/utils/browser-only.pipe';
@Component({
selector: 'ds-bulk-access-browse',
templateUrl: 'bulk-access-browse.component.html',
styleUrls: ['./bulk-access-browse.component.scss'],
providers: [
{
provide: SEARCH_CONFIG_SERVICE,
useClass: SearchConfigurationService,
},
],
imports: [
PaginationComponent,
AsyncPipe,
NgbAccordionModule,
TranslateModule,
NgIf,
NgbNavModule,
ThemedSearchComponent,
BrowserOnlyPipe,
NgForOf,
NgxPaginationModule,
SelectableListItemControlComponent,
ListableObjectComponentLoaderComponent,
],
standalone: true,
})
export class BulkAccessBrowseComponent implements OnInit, OnDestroy {
/**
* The selection list id
*/
@Input() listId!: string;
/**
* The active nav id
*/
activateId = 'search';
/**
* The list of the objects already selected
*/
objectsSelected$: BehaviorSubject<RemoteData<PaginatedList<ListableObject>>> = new BehaviorSubject<RemoteData<PaginatedList<ListableObject>>>(null);
/**
* The pagination options object used for the list of selected elements
*/
paginationOptions$: BehaviorSubject<PaginationComponentOptions> = new BehaviorSubject<PaginationComponentOptions>(Object.assign(new PaginationComponentOptions(), {
id: 'bas',
pageSize: 5,
currentPage: 1,
}));
/**
* Array to track all subscriptions and unsubscribe them onDestroy
*/
private subs: Subscription[] = [];
constructor(private selectableListService: SelectableListService) {}
/**
* Subscribe to selectable list updates
*/
ngOnInit(): void {
this.subs.push(
this.selectableListService.getSelectableList(this.listId).pipe(
distinctUntilChanged(),
map((list: SelectableListState) => this.generatePaginatedListBySelectedElements(list)),
).subscribe(this.objectsSelected$),
);
}
pageNext() {
this.paginationOptions$.next(Object.assign(new PaginationComponentOptions(), this.paginationOptions$.value, {
currentPage: this.paginationOptions$.value.currentPage + 1,
}));
}
pagePrev() {
this.paginationOptions$.next(Object.assign(new PaginationComponentOptions(), this.paginationOptions$.value, {
currentPage: this.paginationOptions$.value.currentPage - 1,
}));
}
private calculatePageCount(pageSize, totalCount = 0) {
// we suppose that if we have 0 items we want 1 empty page
return totalCount < pageSize ? 1 : Math.ceil(totalCount / pageSize);
}
/**
* Generate The RemoteData object containing the list of the selected elements
* @param list
* @private
*/
private generatePaginatedListBySelectedElements(list: SelectableListState): RemoteData<PaginatedList<ListableObject>> {
const pageInfo = new PageInfo({
elementsPerPage: this.paginationOptions$.value.pageSize,
totalElements: list?.selection.length,
totalPages: this.calculatePageCount(this.paginationOptions$.value.pageSize, list?.selection.length),
currentPage: this.paginationOptions$.value.currentPage,
});
if (pageInfo.currentPage > pageInfo.totalPages) {
pageInfo.currentPage = pageInfo.totalPages;
this.paginationOptions$.next(Object.assign(new PaginationComponentOptions(), this.paginationOptions$.value, {
currentPage: pageInfo.currentPage,
}));
}
return createSuccessfulRemoteDataObject(buildPaginatedList(pageInfo, list?.selection || []));
}
ngOnDestroy(): void {
this.subs
.filter((sub) => hasValue(sub))
.forEach((sub) => sub.unsubscribe());
this.selectableListService.deselectAll(this.listId);
}
}

View File

@@ -0,0 +1,20 @@
<div class="container">
<h1>{{ 'admin.access-control.bulk-access.title' | translate }}</h1>
<ds-bulk-access-browse [listId]="listId"></ds-bulk-access-browse>
<div class="clearfix mb-3"></div>
<ds-bulk-access-settings #dsBulkSettings ></ds-bulk-access-settings>
<hr>
<div class="d-flex justify-content-end">
<button class="btn btn-outline-primary mr-3" (click)="reset()">
{{ 'access-control-cancel' | translate }}
</button>
<button class="btn btn-primary" [disabled]="!canExport()" (click)="submit()">
{{ 'access-control-execute' | translate }}
</button>
</div>
</div>

Some files were not shown because too many files have changed in this diff Show More