Compare commits

...

2164 Commits

Author SHA1 Message Date
dependabot[bot]
24f3d02272 Bump webpack from 5.101.0 to 5.101.3 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.101.0 to 5.101.3
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.101.0...v5.101.3)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.101.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-01 05:30:27 +00:00
Tim Donohue
20a468d260 Merge pull request #4744 from DSpace/backport-4733-to-dspace-9_x
[Port dspace-9_x] SSR: avoid sending new response when headers were already sent
2025-09-30 17:30:28 -05:00
Daniel Coelho
99244c4e93 SSR: avoid sending new response when headeras were already sent (fixes #2315)
(cherry picked from commit 951c5f69d4)
2025-09-30 21:25:55 +00:00
Tim Donohue
177d57b65f Merge pull request #4729 from DSpace/backport-4728-to-dspace-9_x
[Port dspace-9_x] src/app: use correct icon in item mapper
2025-09-22 17:00:05 -05:00
Alan Orth
aaf534467e src/app: use correct icon in item mapper
When adding mappings in the item mapper we should use the save icon
rather than the trash icon!

(cherry picked from commit 3a9eb87914)
2025-09-19 12:06:56 +00:00
Tim Donohue
06d0177329 Merge pull request #4721 from DSpace/backport-4639-to-dspace-9_x
[Port dspace-9_x] Fix for #8916 #8917 #8918 The Community Administrator should not be able to view all communities/collections in the create/edit community and collection sections. Previous PR #9814
2025-09-15 09:10:17 -05:00
im-shubham-vish
76a7d10ec4 Fix Lint Error
(cherry picked from commit 15d9cb0ea8)
2025-09-12 21:22:14 +00:00
im-shubham-vish
a5cf9a448b Fix to set Edit Collection to utilize findAdminAuthorized instead of findSubmitAuthorized
(cherry picked from commit a26c718db4)
2025-09-12 21:22:14 +00:00
im-shubham-vish
0f588466cb Fix for #8918 The Community Administrator should not be able to view all communities/collections in the create/edit community and collection sections
(cherry picked from commit 5aab53e064)
2025-09-12 21:22:13 +00:00
Tim Donohue
d66e43949d Merge pull request #4690 from DSpace/dependabot/npm_and_yarn/dspace-9_x/core-js-3.45.1
Bump core-js from 3.44.0 to 3.45.1
2025-09-12 14:07:40 -05:00
Tim Donohue
963ee60890 Merge pull request #4694 from DSpace/dependabot/npm_and_yarn/dspace-9_x/babel/runtime-7.28.4
Bump @babel/runtime from 7.28.2 to 7.28.4
2025-09-12 12:33:28 -05:00
Tim Donohue
f7d2e899ab Merge pull request #4691 from DSpace/dependabot/npm_and_yarn/dspace-9_x/types/node-18.19.124
Bump @types/node from 18.19.121 to 18.19.124
2025-09-10 17:01:05 -05:00
Tim Donohue
e5735b397d Merge pull request #4687 from DSpace/dependabot/npm_and_yarn/dspace-9_x/sass-2e0f0fb0cc
Bump sass from 1.89.2 to 1.92.1 in the sass group
2025-09-10 16:59:30 -05:00
Tim Donohue
94fa8dcc62 Merge pull request #4692 from DSpace/dependabot/npm_and_yarn/dspace-9_x/isbot-5.1.30
Bump isbot from 5.1.29 to 5.1.30
2025-09-10 16:37:07 -05:00
Tim Donohue
d95731c929 Merge pull request #4689 from DSpace/dependabot/npm_and_yarn/dspace-9_x/bootstrap-5.3.8
Bump bootstrap from 5.3.7 to 5.3.8
2025-09-10 16:29:46 -05:00
Tim Donohue
c660b330af Merge pull request #4688 from DSpace/dependabot/npm_and_yarn/dspace-9_x/testing-c9201e7a88
Bump cypress-axe from 1.6.0 to 1.7.0 in the testing group
2025-09-10 15:56:26 -05:00
Tim Donohue
59d21bc507 Merge pull request #4719 from DSpace/backport-4634-to-dspace-9_x
[Port dspace-9_x] server.ts: remove port and host fallbacks in run
2025-09-10 15:51:44 -05:00
Tim Donohue
5803f61b5d Merge pull request #4716 from DSpace/backport-4636-to-dspace-9_x
[Port dspace-9_x] src/themes/dspace: rework banner image
2025-09-10 14:57:41 -05:00
Alan Orth
f6f8e078dd server.ts: remove port fallback
If a user has messed up their config so much that the fallbacks in
our default configuration interface don't work then we should just
fail here.

(cherry picked from commit 6c09677510)
2025-09-10 19:49:07 +00:00
Alan Orth
9a3987bce1 server.ts: remove invalid host fallback
If `environment.ui.host` is Falsy, then we attempt to fall back to
a host value of '/', which is invalid. I think that, if a user has
messed up their config so much that defaults in our configuration
interface don't work, then we should actually fail here.

(cherry picked from commit f622d58917)
2025-09-10 19:49:07 +00:00
Alan Orth
36f680a05d src/themes/dspace: rework banner image
For some reason our version of this image is twice the size of the
original (~860KiB vs 1.6MiB). To make matters worse, the dimensions
of the image are 4777x3166 pixels, but we display it at 2000 pixels
wide.

This regenerates the images based on the original and adjusts the
dimensions to be more appropriate. Generated using ImageMagick 7
on Linux:

$ magick pexels-inspiredimages-132477.jpg -resize 2000x src/themes/dspace/assets/images/banner.jpg
$ magick pexels-inspiredimages-132477.jpg -resize 2000x src/themes/dspace/assets/images/banner.webp
$ magick pexels-inspiredimages-132477.jpg -resize 1200x src/themes/dspace/assets/images/banner-half.jpg
$ magick pexels-inspiredimages-132477.jpg -resize 1200x src/themes/dspace/assets/images/banner-half.webp

See: https://www.pexels.com/photo/clear-water-drops-132477/
(cherry picked from commit d9e8fea5bf)
2025-09-10 19:08:09 +00:00
dependabot[bot]
e40cba812e Bump bootstrap from 5.3.7 to 5.3.8
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.7 to 5.3.8.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.7...v5.3.8)

---
updated-dependencies:
- dependency-name: bootstrap
  dependency-version: 5.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 18:25:35 +00:00
Tim Donohue
7a00a00af0 Merge pull request #4710 from DSpace/backport-4673-to-dspace-9_x
[Port dspace-9_x] Replaced removed col-xs-_ bootstrap 3 classes with the equivalent col-_ classes
2025-09-10 13:24:13 -05:00
Tim Donohue
8ecde49070 Merge pull request #4711 from DSpace/backport-4632-to-dspace-9_x
[Port dspace-9_x] Use several modern Node.js patterns
2025-09-10 13:24:03 -05:00
Alan Orth
e3105a119d Use native Node.js watch instead of nodemon
Modern Node.js can watch natively so we don't need nodemon anymore.

(cherry picked from commit 4d7051007b)
2025-09-10 17:23:32 +00:00
Alan Orth
fd3b2dada3 Remove axios dependency
We can use the Node.js Fetch API directly instead of relying on an
external dependency.

(cherry picked from commit 2d31afb92f)
2025-09-10 17:23:32 +00:00
Alan Orth
26c522176b Use node: for Node.js builtin modules
Use the the `node:` protocol when importing Node.js builtin modules
and enable rule in eslint to enforce.

The `node:` protocol for Node.js builtin modules has been available
since Node.js v14.

See: https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/enforce-node-protocol-usage.md
(cherry picked from commit af71c152c1)
2025-09-10 17:23:32 +00:00
Eike Martin Löhden
1794c8da0f Replace col-xs-_ with the equivalent col-_.
(cherry picked from commit 31a31b247d)
2025-09-10 16:57:51 +00:00
Tim Donohue
a8b1e52e2f Merge pull request #4709 from DSpace/backport-4644-to-dspace-9_x
[Port dspace-9_x] fix: call parent ngOnDestroy in dynamic form control container
2025-09-10 08:52:36 -05:00
Jukka Lipka
8f3295b57a fix: call parent ngOnDestroy in dynamic form control container
(cherry picked from commit 4d803a58d4)
2025-09-09 21:37:00 +00:00
dependabot[bot]
7dd6c438b7 Bump @babel/runtime from 7.28.2 to 7.28.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.28.2 to 7.28.4.
- [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.28.4/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.28.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 20:18:15 +00:00
dependabot[bot]
bc48f038d5 Bump isbot from 5.1.29 to 5.1.30
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.29 to 5.1.30.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.29...v5.1.30)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.30
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 20:15:30 +00:00
dependabot[bot]
0c17003e33 Bump @types/node from 18.19.121 to 18.19.124
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.19.121 to 18.19.124.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 18.19.124
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 20:15:00 +00:00
dependabot[bot]
c9b06c1e34 Bump core-js from 3.44.0 to 3.45.1
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.44.0 to 3.45.1.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.45.1/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.45.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 20:14:36 +00:00
dependabot[bot]
f5d7890f78 Bump cypress-axe from 1.6.0 to 1.7.0 in the testing group
Bumps the testing group with 1 update: [cypress-axe](https://github.com/component-driven/cypress-axe).


Updates `cypress-axe` from 1.6.0 to 1.7.0
- [Release notes](https://github.com/component-driven/cypress-axe/releases)
- [Commits](https://github.com/component-driven/cypress-axe/compare/v1.6.0...v1.7.0)

---
updated-dependencies:
- dependency-name: cypress-axe
  dependency-version: 1.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 20:13:33 +00:00
dependabot[bot]
75c7f5cdcc Bump sass from 1.89.2 to 1.92.1 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.89.2 to 1.92.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.89.2...1.92.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.92.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 20:13:05 +00:00
Tim Donohue
8d3219856d Merge pull request #4677 from tdonohue/port_4520_to_9x
[Port dspace-9_x] Fix: Remove HTML tags from cookie popup translations
2025-09-08 12:04:52 -05:00
Jesiel Viana
b4fdaa7e70 remove hardcoded HTML tags from cookie popup translations 2025-09-08 11:08:12 -05:00
Tim Donohue
b7cffd0943 Merge pull request #4674 from tdonohue/port_2734_to_9x
[Port dspace-9_x] Clear url parameters for entity search tabs
2025-09-08 10:51:39 -05:00
Atmire-Kristof
fa8bdeb157 Clear url parameters for entity search tabs (#2734)
* 110878: Entity search - clear params on tab switch

* 110878: Properly clear browse-by values when navigating

* 132230: Related entity tab switching: only keep query & scope, reset page to 1

---------

Co-authored-by: Nona Luypaert <nona.luypaert@atmire.com>
2025-09-05 16:59:13 -05:00
Art Lowel
4fb0dcac0c Merge pull request #4671 from DSpace/backport-4664-to-dspace-9_x
[Port dspace-9_x] Inspect event key characters, not keyCodes on tag keyUp for dynamic tag input
2025-09-04 17:38:15 +02:00
Kim Shepherd
e160b12ed5 Create dynamic tag test events with key chars, not keyCodes
(cherry picked from commit 98fc76d867)
2025-09-04 14:46:18 +00:00
Kim Shepherd
0f9b777ccd Inspect event key characters, not keyCodes on tag keyUp
(cherry picked from commit f313b4a8fd)
2025-09-04 14:46:18 +00:00
Tim Donohue
fa27088b72 Merge pull request #4666 from DSpace/backport-4628-to-dspace-9_x
[Port dspace-9_x] Fix untranslated i18n keys ror api
2025-09-03 16:48:40 -05:00
Jesiel Viana
89880c4209 fix code style
(cherry picked from commit 22baef689a)
2025-09-03 21:00:21 +00:00
Jesiel Viana
4cd9eabc0e add in pt-BR file and remove form pt-PT
(cherry picked from commit 14de56279f)
2025-09-03 21:00:21 +00:00
Jesiel Viana
9d9711ef1a add untranslated i18n keys for ROR API
(cherry picked from commit b6bf862542)
2025-09-03 21:00:21 +00:00
Tim Donohue
f7e2cb2b66 Merge pull request #4657 from DSpace/backport-4563-to-dspace-9_x
[Port dspace-9_x] Adding all missing french translations
2025-08-22 10:51:34 -05:00
Pierre Lasou
1207078bd9 Remove extra character
Remove extra ": line 1636

(cherry picked from commit e4dfcda009)
2025-08-22 15:11:35 +00:00
Pierre Lasou
097bb00b69 Update to correct errors and duplicates
(cherry picked from commit 8c4e8f38bc)
2025-08-22 15:11:35 +00:00
Pierre Lasou
0409210a11 Adding translation for all missing french translations
This commit is adding translations for all parameters that were tagged "// TODO New key - Add a translation" in fr.json5 file.

(cherry picked from commit 003a5f5ee8)
2025-08-22 15:11:34 +00:00
Tim Donohue
4923cdf9db Merge pull request #4653 from DSpace/backport-4642-to-dspace-9_x
[Port dspace-9_x] Improved geospatial map bounds & scroll behaviour
2025-08-21 08:49:59 -05:00
Alexandre Vryghem
a1927b3258 Restricted map bounds
(cherry picked from commit 643836addc)
2025-08-21 13:11:17 +00:00
Tim Donohue
f03fb43463 Merge pull request #4651 from DSpace/backport-4640-to-dspace-9_x
[Port dspace-9_x] .github/workflows/codescan.yml: use codeql-action v3
2025-08-20 17:16:29 -05:00
Alan Orth
d0ff025904 .github/workflows/codescan.yml: use codeql-action v3
Version 2 was deprecated in January, 2024 after the release of v3.

See: https://github.blog/changelog/2025-01-10-code-scanning-codeql-action-v2-is-now-deprecated/
(cherry picked from commit 3333ee4fbb)
2025-08-20 21:10:58 +00:00
Tim Donohue
a6b0f75756 Merge pull request #4647 from DSpace/backport-4635-to-dspace-9_x
[Port dspace-9_x] Update GitHub template references to DSDOC9x
2025-08-20 13:41:26 -05:00
Alan Orth
4893911a83 README.md: update DSDOC references to DSDOC9x
(cherry picked from commit b5fe301209)
2025-08-20 18:39:07 +00:00
Alan Orth
b2d13d5eb2 Fix references to DSDOC8x
The latest release is DSDOC9x.

(cherry picked from commit a877cbe284)
2025-08-20 18:39:07 +00:00
Tim Donohue
5daae1c373 Merge pull request #4631 from DSpace/backport-4550-to-dspace-9_x
[Port dspace-9_x] fix back button navigation after visiting a community or collection page
2025-08-08 12:51:29 -05:00
Jesiel Viana
3dc9cf593d fix back button navigation after visiting a community or collection page
(cherry picked from commit c7c1c0fc17)
2025-08-08 17:08:20 +00:00
Tim Donohue
0ba218f8f7 Merge pull request #4627 from DSpace/backport-4386-to-dspace-9_x
[Port dspace-9_x] Spanish translation updated
2025-08-05 15:37:25 -05:00
Tim Donohue
e02e877e0c Merge pull request #4626 from DSpace/backport-4623-to-dspace-9_x
[Port dspace-9_x] Update webpack and webpack-cli dependencies
2025-08-05 15:18:04 -05:00
Sergio Fernández Celorio
7e2d24bbe5 Fixed some errors
(cherry picked from commit 36ca66c09a)
2025-08-05 19:50:44 +00:00
Sergio Fernández Celorio
83685ee03f Spanish translation updated
(cherry picked from commit 5530ba9a0d)
2025-08-05 19:50:43 +00:00
Alan Orth
c217594872 package.json: update webpack-cli to v6.0.1
Update webpack-cli from v5.1.4 to v6.0.1. This is compatible with
webpack v5 and the minimum required Node.js version is 18.12.0.

See: https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md
(cherry picked from commit 46e291d767)
2025-08-05 19:35:32 +00:00
Alan Orth
c00895a0a1 package.json: use semver for webpack dependency
As far as I can tell dspace-angular doesn't explicitly need any
particular version of webpack itself, but angular-cli specifies
a semver string of `^5.54.0` so we should do the same.

Also, our dependabot configuration currently considers minor and
patch versions for updates, so we should not be using an exact
version here anyway.

See: https://github.com/angular/angular-cli/blob/18.2.x/packages/ngtools/webpack/package.json
(cherry picked from commit 24ca6442f6)
2025-08-05 19:35:32 +00:00
Tim Donohue
1ce4860049 Merge pull request #4624 from DSpace/backport-4622-to-dspace-9_x
[Port dspace-9_x] Update @types/node to ^18.11.9
2025-08-05 10:18:26 -05:00
Alan Orth
c0fe57ceeb Update @types/node to ^18.11.9
As of DSpace 10.0-SNAPSHOT we currently support Node.js v18 and v20
so we should be using appropriate types.

(cherry picked from commit 41282f064c)
2025-08-05 14:15:47 +00:00
DSpace Bot
a99353e2e8 [Port dspace-9_x] Contribute to adding Persian translation to DSpace (#4621)
* Create fa.json5

Persian language

(cherry picked from commit c2b7e7b0b8)

* Update fa.json5

(cherry picked from commit 27a1dfff6d)

* Update fa.json5

(cherry picked from commit 8a10866dce)

* Update fa.json5

(cherry picked from commit 1af8be2bdb)

* Update fa.json5

(cherry picked from commit 43e6b3b54a)

* Update fa.json5

(cherry picked from commit e28f24ff15)

* Update fa.json5

(cherry picked from commit 4f7dfbe5ff)

* Update fa.json5

(cherry picked from commit 3fb1e77001)

* Update fa.json5

(cherry picked from commit 366d0e1aad)

* Update fa.json5

(cherry picked from commit d72a02137a)

* Update fa.json5

(cherry picked from commit 57bed93f16)

* Update fa.json5

(cherry picked from commit 69c33d7bca)

* Update fa.json5

(cherry picked from commit a078807fc0)

* Update fa.json5

(cherry picked from commit c20de9eddf)

* Update fa.json5

(cherry picked from commit a85f5c5d5c)

* Add Persian language to default configs

(cherry picked from commit 4fa0c57e02)

---------

Co-authored-by: Shafi Habibi <shafihabibi@gmail.com>
Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2025-08-04 12:19:04 -05:00
Tim Donohue
82ec7003bf Merge pull request #4590 from DSpace/dependabot/npm_and_yarn/dspace-9_x/babel/runtime-7.28.2
Bump @babel/runtime from 7.27.6 to 7.28.2
2025-08-01 10:47:12 -05:00
Tim Donohue
3d256d8482 Merge pull request #4612 from DSpace/dependabot/npm_and_yarn/dspace-9_x/webpack-16f7f9f544
Bump the webpack group across 1 directory with 2 updates
2025-08-01 10:00:16 -05:00
dependabot[bot]
22d3aa1db4 Bump the webpack group across 1 directory with 2 updates
Bumps the webpack group with 2 updates in the / directory: [webpack](https://github.com/webpack/webpack) and [webpack-dev-server](https://github.com/webpack/webpack-dev-server).


Updates `webpack` from 5.99.9 to 5.101.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.99.9...v5.101.0)

Updates `webpack-dev-server` from 5.2.1 to 5.2.2
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v5.2.1...v5.2.2)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.101.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: webpack
- dependency-name: webpack-dev-server
  dependency-version: 5.2.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 20:04:23 +00:00
Tim Donohue
df616ceb11 Merge pull request #4606 from DSpace-Labs/dependabot/npm_and_yarn/webpack-dev-server-5.2.1
[Dependabot] Bump webpack-dev-server from 4.15.2 to 5.2.1
2025-07-30 14:53:03 -05:00
Tim Donohue
98cddc0364 Merge pull request #4545 from DSpace/dependabot/npm_and_yarn/dspace-9_x/core-js-3.44.0
Bump core-js from 3.42.0 to 3.44.0
2025-07-30 11:43:54 -05:00
Tim Donohue
b0b59f602a Merge pull request #4603 from DSpace/backport-4344-to-dspace-9_x
[Port dspace-9_x] fix(versioning): Encode summary
2025-07-30 11:02:14 -05:00
dependabot[bot]
8454a1cbe7 Bump webpack-dev-server from 4.15.2 to 5.2.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.15.2 to 5.2.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.15.2...v5.2.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-version: 5.2.1
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-30 15:22:22 +00:00
Tim Donohue
3511ea040a Merge pull request #4478 from DSpace/dependabot/npm_and_yarn/dspace-9_x/ngtools/webpack-18.2.20
Bump @ngtools/webpack from 18.2.19 to 18.2.20
2025-07-30 10:08:11 -05:00
Tim Donohue
a4b58ce560 Merge pull request #4474 from DSpace/dependabot/npm_and_yarn/dspace-9_x/postcss-ff1e1e588d
Bump postcss from 8.5.4 to 8.5.5 in the postcss group
2025-07-30 10:05:19 -05:00
Tim Donohue
bf415d86c4 Merge pull request #4591 from DSpace/dependabot/npm_and_yarn/dspace-9_x/axios-1.11.0
Bump axios from 1.10.0 to 1.11.0
2025-07-30 10:00:32 -05:00
Jukka Lipka
7917c70f31 fix(versioning): encode summary
The reason for creating a new version is now encoded in the URL.

(cherry picked from commit 2dd870ea7e)
2025-07-30 14:21:17 +00:00
Alan Orth
141b053507 Merge pull request #4598 from DSpace/dependabot/npm_and_yarn/dspace-9_x/isbot-5.1.29 2025-07-29 10:42:24 -07:00
dependabot[bot]
f449429254 Bump isbot from 5.1.28 to 5.1.29
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.28 to 5.1.29.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.28...v5.1.29)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.29
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 14:47:50 +00:00
dependabot[bot]
ee891768a6 Bump postcss from 8.5.4 to 8.5.5 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.5.4 to 8.5.5
- [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.5.4...8.5.5)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 14:47:08 +00:00
Tim Donohue
3d8f3a2a4e Merge pull request #4594 from DSpace/backport-4593-to-dspace-9_x
[Port dspace-9_x] [Docker] Remover references to obsolete backend "pgcrypto" images
2025-07-29 07:07:22 -05:00
Tim Donohue
3ea0f17a9f Correct default versions to all use 'dspace-9_x` instead of 'latest' 2025-07-28 16:27:17 -05:00
Tim Donohue
5bc37e80e3 Update Docker to no longer reference removed/replaced backend "pgcrypto" images.
(cherry picked from commit 1e4ee4fb0b)
2025-07-28 21:23:06 +00:00
dependabot[bot]
4b82fcc302 Bump axios from 1.10.0 to 1.11.0
Bumps [axios](https://github.com/axios/axios) from 1.10.0 to 1.11.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/v1.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 08:29:12 +00:00
dependabot[bot]
3a550dd756 Bump @babel/runtime from 7.27.6 to 7.28.2
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.6 to 7.28.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.28.2/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.28.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 08:06:53 +00:00
Tim Donohue
fa31f6b13d Merge pull request #4581 from DSpace/backport-4536-to-dspace-9_x
[Port dspace-9_x] Fix empty search query after previous non-empty search
2025-07-24 13:41:58 -05:00
Jesiel Viana
d7310f2db6 fix empty search query after previous non-empty search
(cherry picked from commit cf34198d54)
2025-07-24 17:59:07 +00:00
Tim Donohue
17f17a190b Merge pull request #4573 from DSpace/backport-4568-to-dspace-9_x
[Port dspace-9_x] Fix current parent order when creating subcommunity
2025-07-23 12:31:37 -05:00
Jesiel Viana
c64fded612 Fix current parent order when creating subcommunity
(cherry picked from commit 44fcc7221b)
2025-07-23 15:42:24 +00:00
Tim Donohue
0771086818 Merge tag 'dspace-7.6.5' into dspace-9_x 2025-07-22 16:15:41 -05:00
Tim Donohue
3b3941b2a6 Merge tag 'dspace-7.6.4' into dspace-9_x 2025-07-22 16:15:06 -05:00
Tim Donohue
9497decf07 Update version tag for release 2025-07-22 15:30:23 -05:00
Tim Donohue
d4edbf2e25 Automatic update to yarn.locak after various dependency updates. This dependency is no longer needed. 2025-07-22 11:26:15 -05:00
Tim Donohue
f80992f1fc Merge pull request #4559 from DSpace/dependabot/npm_and_yarn/dspace-7_x/morgan-1.10.1
Bump morgan from 1.10.0 to 1.10.1
2025-07-22 10:52:57 -05:00
dependabot[bot]
f381d40dbd Bump core-js from 3.42.0 to 3.44.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.42.0 to 3.44.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.44.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 04:39:05 +00:00
Alan Orth
8723bb1e34 Merge pull request #4562 from DSpace/dependabot/npm_and_yarn/dspace-9_x/morgan-1.10.1 2025-07-21 21:30:16 -07:00
Alan Orth
bb3af14b6c Merge pull request #4560 from DSpace/dependabot/npm_and_yarn/dspace-7_x/compression-1.8.1 2025-07-21 21:27:13 -07:00
Alan Orth
b34d421c04 Merge pull request #4561 from DSpace/dependabot/npm_and_yarn/dspace-9_x/compression-1.8.1 2025-07-21 21:26:00 -07:00
Alan Orth
3a5f4565a5 Merge pull request #4493 from DSpace/dependabot/npm_and_yarn/dspace-7_x/eslint-036d341c50 2025-07-21 21:07:37 -07:00
Alan Orth
e667031758 Merge pull request #4499 from DSpace/dependabot/npm_and_yarn/dspace-9_x/eslint-036d341c50 2025-07-21 21:06:49 -07:00
Alan Orth
fc43e2473d Merge pull request #4457 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-63defccb8e 2025-07-21 18:17:26 -07:00
dependabot[bot]
9046b9fc3d Bump morgan from 1.10.0 to 1.10.1
---
updated-dependencies:
- dependency-name: morgan
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 07:03:09 +00:00
dependabot[bot]
8828f9b71c Bump compression from 1.8.0 to 1.8.1
---
updated-dependencies:
- dependency-name: compression
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 07:02:20 +00:00
dependabot[bot]
16da9855fc Bump compression from 1.8.0 to 1.8.1
---
updated-dependencies:
- dependency-name: compression
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 06:47:30 +00:00
dependabot[bot]
821f16ea1d Bump morgan from 1.10.0 to 1.10.1
---
updated-dependencies:
- dependency-name: morgan
  dependency-version: 1.10.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 06:45:01 +00:00
dependabot[bot]
f65359be91 Bump eslint-plugin-import from 2.31.0 to 2.32.0 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import).


Updates `eslint-plugin-import` from 2.31.0 to 2.32.0
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.31.0...v2.32.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-version: 2.32.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 05:50:21 +00:00
dependabot[bot]
f9fb6d06f1 Bump eslint-plugin-import from 2.31.0 to 2.32.0 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import).


Updates `eslint-plugin-import` from 2.31.0 to 2.32.0
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.31.0...v2.32.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-version: 2.32.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 05:38:45 +00:00
dependabot[bot]
4fa71b801c Bump sass from 1.89.1 to 1.89.2 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.89.1 to 1.89.2
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.89.1...1.89.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.89.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 05:38:29 +00:00
Tim Donohue
495caa5866 Merge pull request #4553 from DSpace/backport-4552-to-dspace-9_x
[Port dspace-9_x] Update legacy Bootstrap spacing class in object-list.component.html
2025-07-18 09:31:42 -05:00
wwtamu
42297cbb9d Update object-list.component.html refactoring bootstrap spacing class
(cherry picked from commit 3e6b8c0529)
2025-07-18 13:49:58 +00:00
Tim Donohue
bf7e0eddf0 Update version tag for development of next release 2025-07-14 16:39:22 -05:00
Tim Donohue
2bf9e11a7c Update version tag for release 2025-07-14 16:36:18 -05:00
Tim Donohue
7a7e468492 Update version tag for development of next release 2025-07-14 14:10:06 -05:00
Tim Donohue
34fc08766d Update version tag for release 2025-07-14 14:04:48 -05:00
Tim Donohue
13d6acaf76 Sync i18n files to prepare for the 7.6.4 release 2025-07-11 13:43:39 -05:00
Tim Donohue
f0cba80262 Sync i18n files to prepare for 9.1 release. 2025-07-11 13:29:47 -05:00
Tim Donohue
ad51dc884d Merge pull request #4541 from DSpace/backport-4487-to-dspace-9_x
[Port dspace-9_x] Russian translation
2025-07-10 16:47:28 -05:00
Tim Donohue
28a914a335 Enable Russian by default. Reorder alphabetical by language code
(cherry picked from commit 032381008e)
2025-07-10 21:09:03 +00:00
Sergio Fernández Celorio
3cd4959d8f Fixed lint errors
(cherry picked from commit f85042e0d6)
2025-07-10 21:09:03 +00:00
Sergio Fernández Celorio
5888277ca7 Russian translation
(cherry picked from commit b6ee8dff9f)
2025-07-10 21:09:03 +00:00
Tim Donohue
d9c0401bdd Merge pull request #4530 from atmire/w2p-119612_export-item-limit-7_x
[Port dspace-7_x] UI warning for export item limit
2025-07-10 13:25:34 -05:00
Tim Donohue
e258fb7af7 Merge pull request #4540 from alexandrevryghem/bootstrap-issues_contribute-9_x
[Port dspace-9_x] Migrated remaining bootstrap 4 classes & other minor css fixes
2025-07-10 12:04:57 -05:00
Jens Vannerum
5a2702c797 fix missing imports after backport 2025-07-10 10:39:55 +02:00
Alexandre Vryghem
cbb01c514d Merge branch 'bootstrap-issues_contribute-9.0' into bootstrap-issues_contribute-9_x 2025-07-10 00:49:51 +02:00
Alexandre Vryghem
1bc47d06b7 Merge branch 'w2p-132350_minor-css-fixes_contribute-7.6' into bootstrap-issues_contribute-9_x 2025-07-10 00:48:15 +02:00
Tim Donohue
d0f61c1e50 Merge pull request #4498 from DSpace/dependabot/npm_and_yarn/dspace-9_x/bootstrap-5.3.7
Bump bootstrap from 5.3.6 to 5.3.7
2025-07-09 08:56:47 -05:00
dependabot[bot]
44c7e4b524 Bump bootstrap from 5.3.6 to 5.3.7
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.6 to 5.3.7.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.6...v5.3.7)

---
updated-dependencies:
- dependency-name: bootstrap
  dependency-version: 5.3.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-08 21:20:23 +00:00
Tim Donohue
598f5884e4 Merge pull request #4473 from DSpace/dependabot/npm_and_yarn/dspace-9_x/angular-43581e9bed
Bump the angular group with 3 updates
2025-07-08 16:18:28 -05:00
Alexandre Vryghem
e3b5405698 132007: Auto-fixed the ng generate @angular/core:control-flow issues 2025-07-08 12:51:31 +02:00
Alexandre Vryghem
b4d694e0c0 132007: Bootstrap fixes 2025-07-08 11:06:30 +02:00
dependabot[bot]
36c19ef976 Bump the angular group with 3 updates
Bumps the angular group with 3 updates: [@angular/ssr](https://github.com/angular/angular-cli), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli).


Updates `@angular/ssr` from 18.2.19 to 18.2.20
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.19...18.2.20)

Updates `@angular-devkit/build-angular` from 18.2.19 to 18.2.20
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.19...18.2.20)

Updates `@angular/cli` from 18.2.19 to 18.2.20
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.19...18.2.20)

---
updated-dependencies:
- dependency-name: "@angular/ssr"
  dependency-version: 18.2.20
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-devkit/build-angular"
  dependency-version: 18.2.20
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/cli"
  dependency-version: 18.2.20
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 06:26:31 +00:00
Jens Vannerum
dabc3b400b 119612: fix spec test
(cherry picked from commit 6232d4e9cf)
2025-07-04 10:26:25 +02:00
Jens Vannerum
5b19ebe48c 119612: aria-label to also include warning message if applicable
(cherry picked from commit 8eaff78737)
2025-07-04 10:25:51 +02:00
Jens Vannerum
32511b0f50 119612: Check if a warning should be shown on changes to the total elements of the search, default to 500 if no value for the configuration property was returned
(cherry picked from commit e1b773c097)
2025-07-04 10:25:43 +02:00
Jens Vannerum
17e58ae5e3 119612: UI warning that only first part of configured items will be exported
(cherry picked from commit b69b21af6c)
2025-07-04 10:24:36 +02:00
Tim Donohue
0d87a72f41 Merge pull request #4417 from atmire/w2p-131442_backport-4335-to-dspace-7_x
[Port dspace-7_x] Improve accessibility for screen readers
2025-07-03 15:14:03 -05:00
Tim Donohue
a17d58acc5 Merge pull request #4277 from DSpace/backport-3888-to-dspace-7_x
[Port dspace-7_x] Fixed search page still returning stale data after invalidating a request
2025-07-03 14:42:57 -05:00
Tim Donohue
8685e1398b Merge pull request #4526 from DSpace/backport-4521-to-dspace-9_x
[Port dspace-9_x] Update pt-PT.json5
2025-07-02 15:39:14 -05:00
Ricardo Saraiva
4956d26f69 Update pt-PT.json5
Minor corretions and updates.

(cherry picked from commit d17f0a2a3d)
2025-07-02 20:38:49 +00:00
Tim Donohue
5c419bd975 Merge pull request #4522 from atmire/vocabulary-preloadlevel-fix-9_x
[Port dspace-9_x] Vocabulary preloadlevel fix
2025-07-02 11:26:06 -05:00
Andreas Awouters
c253cff188 Merge branch 'w2p-122839_vocabulary-preloadlevel-fix' into vocabulary-preloadlevel-fix-9_x
# Conflicts:
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.spec.ts
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts
2025-07-02 10:18:33 +02:00
Tim Donohue
44f2ad7f4f Merge pull request #3821 from atmire/vocabulary-preloadlevel-fix-7_x
[Port dspace-7_x] Vocabulary preloadlevel fix
2025-07-01 17:02:27 -05:00
Tim Donohue
c7f8ed1f42 Merge pull request #4519 from atmire/accessibility-settings-7_x
[Port dspace-7_x] Accessibility settings page SSR Fix
2025-07-01 13:58:20 -05:00
Andreas Awouters
c6ef2467bc 119602: Fix SSR error by making klaroService optional
KlaroService handles cookies which are not applicable during SSR. By
making the service optional, and handling the case when it is not
available, SSR can do its work without throwing NullInjectorErrors.
2025-07-01 09:06:40 +02:00
Zoltán Kanász-Nagy
9be1562083 Improve Hungarian translations in DSpace 9.0 (#4506)
* QREPO-0 improving HU translations

* QREPO-0 improving HU translations

* QREPO-0 HU translations: grant-request-copy messages

* QREPO-0 improving HU translations

* QREPO-0 HU translation improvements

* QREPO-0 HU translation improvements

* QREPO-0 HU translation improvements

* QREPO-0 HU translation improvements

* QREPO-0 HU translations improvements

* QREPO-0 HU translation improvements

* QREPO-0 HU translation improvements

* QREPO-0 removing TODO comments

* QREPO-0 inserting some missing new lines

* QREPO-0 HU translation improvements
2025-06-30 14:37:11 -05:00
Tim Donohue
c07bc3c379 Merge pull request #3615 from atmire/accessibility-settings-7_x
[Port dspace-7_x] Accessibility settings page
2025-06-30 11:03:38 -05:00
Andreas Awouters
b44f74a20a 119602: Port disabling of cookie popup from main 2025-06-30 11:54:20 +02:00
Andreas Awouters
50757247ab Merge branch 'dspace-7_x' into accessibility-settings-7_x 2025-06-30 10:37:10 +02:00
Andreas Awouters
1883d93198 119602: Open tooltip to left of info icon 2025-06-30 10:35:47 +02:00
Andreas Awouters
d9ab4bca65 119602: Align accessibility link with other footer links 2025-06-30 10:35:26 +02:00
Alan Orth
edeb2d2e3a Merge pull request #4492 from DSpace/dependabot/npm_and_yarn/dspace-7_x/postcss-bff535204e 2025-06-28 11:57:44 +03:00
Tim Donohue
c2257ebc81 Merge pull request #4449 from 4Science/task/dspace-7_x/DURACOM-291
[Port dspace-7_x] Fix submission section visibility in order to rely on the configured section scope
2025-06-26 16:41:09 -05:00
Tim Donohue
cf2407ba90 Merge pull request #4488 from alexandrevryghem/w2p-117573_remove-observable-function-calls-from-template-7_x
[Port dspace-7_x] Removed observable function calls from template (part 2)
2025-06-26 11:36:11 -05:00
Alexandre Vryghem
45934e31f2 132350: Fixed some SASS variables not being overridable in the themes
Also fixed the authority icons not being totally centered in the onebox submission fields
2025-06-25 11:51:58 +02:00
dependabot[bot]
e0af01ff43 Bump postcss from 8.5.5 to 8.5.6 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.5.5 to 8.5.6
- [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.5.5...8.5.6)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 06:08:24 +00:00
Alexandre Vryghem
7afe49d2b0 117287: Fixed various layout issues
- The unthemed home news didn't stick to the header like the dspace theme
- Impersonate user button has additional margin
- Submission form loading icon is not translatable
- Create resource policy page doesn't have the correct heading

(cherry picked from commit 56e45a9f08)
2025-06-21 01:38:08 +02:00
Alexandre Vryghem
c89ad9f22a 122464: Fixed a memory leak when initComponentInstance is called multiple times
(cherry picked from commit 62f15668b6)
2025-06-21 01:33:21 +02:00
Alexandre Vryghem
391e87a11f Merge branch 'w2p-117573_remove-observable-function-calls-from-template-7.6' 2025-06-21 01:26:12 +02:00
Alan Orth
a864260d00 Merge pull request #4458 from DSpace/dependabot/npm_and_yarn/dspace-7_x/postcss-ff1e1e588d 2025-06-17 09:26:32 +03:00
Alan Orth
ff6d0ddc9f Merge pull request #4476 from DSpace/dependabot/npm_and_yarn/dspace-9_x/sass-63defccb8e 2025-06-17 08:23:30 +03:00
Alan Orth
abfdf63482 Merge pull request #4463 from DSpace/dependabot/npm_and_yarn/dspace-7_x/axios-1.10.0 2025-06-17 07:06:53 +03:00
Alan Orth
e017f99125 Merge pull request #4477 from DSpace/dependabot/npm_and_yarn/dspace-9_x/axios-1.10.0
Bump axios from 1.9.0 to 1.10.0
2025-06-17 07:00:56 +03:00
dependabot[bot]
772b876c5d Bump @ngtools/webpack from 18.2.19 to 18.2.20
Bumps [@ngtools/webpack](https://github.com/angular/angular-cli) from 18.2.19 to 18.2.20.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.19...18.2.20)

---
updated-dependencies:
- dependency-name: "@ngtools/webpack"
  dependency-version: 18.2.20
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 07:19:09 +00:00
dependabot[bot]
945f1bcec3 Bump axios from 1.9.0 to 1.10.0
Bumps [axios](https://github.com/axios/axios) from 1.9.0 to 1.10.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/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 07:16:12 +00:00
dependabot[bot]
cecb8f6c69 Bump sass from 1.89.1 to 1.89.2 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.89.1 to 1.89.2
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.89.1...1.89.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.89.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 07:11:18 +00:00
dependabot[bot]
7f3b3370d9 Bump axios from 1.9.0 to 1.10.0
Bumps [axios](https://github.com/axios/axios) from 1.9.0 to 1.10.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/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 05:40:32 +00:00
dependabot[bot]
d56119793f Bump postcss from 8.5.4 to 8.5.5 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.5.4 to 8.5.5
- [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.5.4...8.5.5)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 05:38:56 +00:00
Alan Orth
b26b14b764 Merge pull request #4455 from DSpace/backport-4389-to-dspace-9_x
[Port dspace-9_x] Confirmation dialog before deleting Group
2025-06-14 08:02:44 +03:00
Jukka Lipka
2ed43035eb fix: add styles to confirmation modal
Words are forced to break if no more space available

(cherry picked from commit 20510591e4)
2025-06-13 18:39:45 +00:00
Jukka Lipka
d3b098b407 fix: cleanup / unnecessary changes reverted
(cherry picked from commit 55d2f0ce38)
2025-06-13 18:39:45 +00:00
Jukka Lipka
f506be3dea fix: added translations
(cherry picked from commit 137bbc35bd)
2025-06-13 18:39:45 +00:00
Jukka Lipka
29e8c29ade fix: confirm dialog for group deletion
Introduced a confirmation modal before deleting groups in both the Group Registry and Comcol Role components. This ensures users explicitly confirm deletion, reducing accidental data loss. Updated relevant tests and added new translations for modal text.

(cherry picked from commit 57bf254bec)
2025-06-13 18:39:45 +00:00
Tim Donohue
3acdb3124e Merge pull request #4452 from DSpace/backport-4434-to-dspace-9_x
[Port dspace-9_x] Resolve field instance models using index when filtering errors
2025-06-12 12:48:04 -05:00
Tim Donohue
7677f2941d Merge pull request #4450 from DSpace/backport-4434-to-dspace-7_x
[Port dspace-7_x] Resolve field instance models using index when filtering errors
2025-06-12 12:47:31 -05:00
kshepherd
d0464c4886 Merge pull request #4447 from ybnd/defer-geospatial-map-components_9.x
Lazy-load geospatial map code (9.x)
2025-06-12 19:21:18 +02:00
Kim Shepherd
036dba942d Resolve field instance models using index when filtering errors
(cherry picked from commit d218e22944)
2025-06-12 16:40:49 +00:00
Kim Shepherd
7ef44c5e35 Resolve field instance models using index when filtering errors
(cherry picked from commit d218e22944)
2025-06-12 16:40:39 +00:00
Yury Bondarenko
6c3bbf617c Remove unneeded platform checks 2025-06-12 17:55:05 +02:00
Giuseppe Digilio
a77f98e29e [DURACOM-291] back porting of fix submission section visibility in order to rely on the configured section scope 2025-06-12 15:53:21 +02:00
Yury Bondarenko
c147354ee1 Fix failing unit test
According to the Angular docs it should be possible to "trigger" the different states of the @defer block
https://angular.dev/guide/templates/defer#testing-defer-blocks
...but I wasn't able to get this example to work either.

This was the only case where we directly test an inner component's reflected inputs, so IMO it makes sense to "let it go".
2025-06-11 16:27:12 +02:00
Yury Bondarenko
343718d07b Defer geospatial map components 2025-06-11 14:28:37 +02:00
Alan Orth
5c66bb9d2b Merge pull request #4442 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.27.6
Bump @babel/runtime from 7.27.4 to 7.27.6
2025-06-11 12:23:18 +03:00
Alan Orth
f8c6a80fbe Merge pull request #4444 from DSpace/dependabot/npm_and_yarn/dspace-9_x/babel/runtime-7.27.6
Bump @babel/runtime from 7.27.4 to 7.27.6
2025-06-11 12:20:38 +03:00
dependabot[bot]
a009f3549a Bump @babel/runtime from 7.27.4 to 7.27.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.4 to 7.27.6.
- [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.27.6/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 06:02:37 +00:00
dependabot[bot]
7cc17a5544 Bump @babel/runtime from 7.27.4 to 7.27.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.4 to 7.27.6.
- [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.27.6/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-09 05:32:54 +00:00
Alan Orth
b7b1e368d6 Merge pull request #4430 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-d83863101d
Bump sass from 1.89.0 to 1.89.1 in the sass group
2025-06-05 08:54:07 +03:00
Alan Orth
85128a4cfd Merge pull request #4432 from DSpace/dependabot/npm_and_yarn/dspace-9_x/sass-d83863101d
Bump sass from 1.89.0 to 1.89.1 in the sass group
2025-06-05 08:53:10 +03:00
dependabot[bot]
c9e6a65eec Bump sass from 1.89.0 to 1.89.1 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.89.0 to 1.89.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.89.0...1.89.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.89.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 13:49:33 +00:00
dependabot[bot]
5e8dd3480f Bump sass from 1.89.0 to 1.89.1 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.89.0 to 1.89.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.89.0...1.89.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.89.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-04 13:49:29 +00:00
Alan Orth
790e7d580b Merge pull request #4429 from DSpace/backport-4076-to-dspace-9_x
[Port dspace-9_x] fix typo in German translation of bitstream.edit.form.description.hint
2025-06-04 14:06:39 +03:00
Alan Orth
f2131ec757 Merge pull request #4427 from DSpace/backport-4076-to-dspace-7_x
[Port dspace-7_x] fix typo in German translation of bitstream.edit.form.description.hint
2025-06-04 14:05:27 +03:00
Sascha Szott
eb8f35f9f1 fix typo in German translation of bitstream.edit.form.description.hint
(cherry picked from commit c72af8edb5)
2025-06-04 09:52:37 +00:00
Sascha Szott
c52c7e778a fix typo in German translation of bitstream.edit.form.description.hint
(cherry picked from commit c72af8edb5)
2025-06-04 09:52:26 +00:00
Alan Orth
b870c54c83 Merge pull request #4357 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sanitize-html-2.17.0
Bump sanitize-html from 2.16.0 to 2.17.0
2025-06-04 12:39:34 +03:00
Alan Orth
f798b30c06 Merge pull request #4408 from DSpace/dependabot/npm_and_yarn/dspace-9_x/postcss-3f4fa9ea8d
Bump postcss from 8.5.3 to 8.5.4 in the postcss group
2025-06-03 09:08:24 +03:00
Alan Orth
f58ab77d5d Merge pull request #4409 from DSpace/dependabot/npm_and_yarn/dspace-7_x/postcss-3f4fa9ea8d
Bump postcss from 8.5.3 to 8.5.4 in the postcss group
2025-06-03 09:07:50 +03:00
Alan Orth
8fb625ed73 Merge pull request #4413 from DSpace/dependabot/npm_and_yarn/dspace-9_x/babel/runtime-7.27.4
Bump @babel/runtime from 7.27.3 to 7.27.4
2025-06-03 09:05:26 +03:00
Alan Orth
406b46ba3f Merge pull request #4410 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.27.4
Bump @babel/runtime from 7.27.3 to 7.27.4
2025-06-03 09:03:45 +03:00
Tim Donohue
ba3c696c47 Merge pull request #4419 from DSpace/backport-4362-to-dspace-9_x
[Port dspace-9_x] add Gujarati(gu) and marathi(mr) json5 file
2025-06-02 13:00:36 -05:00
gaurav patel
d7d598e972 Rename Gu.json5 to gu.json5
(cherry picked from commit 5ac8dc13ac)
2025-06-02 17:13:50 +00:00
gauravd2t
0a6550986b change file name
(cherry picked from commit ce34bd271d)
2025-06-02 17:13:50 +00:00
gauravd2t
36878b119a add Gujarati and marathi json5 file
(cherry picked from commit dade46ca79)
2025-06-02 17:13:50 +00:00
Alexandre Vryghem
b6448a7caf 129964: Fixed the header role structure being invalid in the custom theme
- Replaced the menubar role from the parent of all the header buttons like lang switch, auth menu & help toggle with toolbar
- Replaced the remaining `<a>` buttons in the header with `<button>` to make them expandable with space
- Fixed accessibility issues flagged by axe DevTools in the user menu dropdown
2025-06-02 13:55:33 +02:00
dependabot[bot]
e7b85eee5b Bump @babel/runtime from 7.27.3 to 7.27.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.3 to 7.27.4.
- [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.27.4/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 06:47:51 +00:00
dependabot[bot]
8a1daa5cf9 Bump @babel/runtime from 7.27.3 to 7.27.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.3 to 7.27.4.
- [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.27.4/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 06:45:45 +00:00
dependabot[bot]
fa9ddefb59 Bump postcss from 8.5.3 to 8.5.4 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.5.3 to 8.5.4
- [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.5.3...8.5.4)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 06:42:07 +00:00
dependabot[bot]
c81ddf1520 Bump postcss from 8.5.3 to 8.5.4 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.5.3 to 8.5.4
- [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.5.3...8.5.4)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 06:42:02 +00:00
Alan Orth
8a1ca84d91 Merge pull request #4402 from DSpace/backport-2774-to-dspace-7_x
[Port dspace-7_x] German translation improvements in cookie consent dialog
2025-06-01 17:42:12 +03:00
Tim Donohue
06e30050a4 Merge pull request #4384 from atmire/w2p-131441_backport-3065-7.6
[Port dspace-7_x] Made AdminSearchPageComponent themeable
2025-05-30 10:38:39 -05:00
Tim Donohue
ffda0d6521 Merge pull request #4379 from DSpace/dependabot/npm_and_yarn/dspace-7_x/testing-ff22ddd0c9
Bump ng-mocks from 14.13.4 to 14.13.5 in the testing group
2025-05-29 08:49:39 -05:00
Tim Donohue
f626e0baf9 Merge pull request #4394 from DSpace/dependabot/npm_and_yarn/dspace-9_x/testing-ff22ddd0c9
Bump ng-mocks from 14.13.4 to 14.13.5 in the testing group
2025-05-29 08:49:17 -05:00
Sascha Szott
a692a6762d added german translations
(cherry picked from commit 4ca1edfc63)
2025-05-29 05:53:54 +00:00
Sascha Szott
2687ded0df added German translations
(cherry picked from commit f12fae3865)
2025-05-29 05:53:54 +00:00
Sascha Szott
e387be1e10 minor translation improvement: use plural in German translation
(cherry picked from commit 027a5ec5f0)
2025-05-29 05:53:54 +00:00
Alan Orth
fc2c32e1c6 Merge pull request #4397 from DSpace/dependabot/npm_and_yarn/dspace-9_x/babel/runtime-7.27.3
Bump @babel/runtime from 7.27.1 to 7.27.3
2025-05-29 08:40:53 +03:00
Alan Orth
b0e56c4129 Merge pull request #4398 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.27.3
Bump @babel/runtime from 7.27.1 to 7.27.3
2025-05-29 08:39:56 +03:00
dependabot[bot]
9a11618d11 Bump sanitize-html from 2.16.0 to 2.17.0
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.16.0 to 2.17.0.
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.16.0...2.17.0)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-version: 2.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 21:27:11 +00:00
Tim Donohue
5b47170b6d Merge pull request #4380 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/lodash-4.17.17
Bump @types/lodash from 4.17.16 to 4.17.17
2025-05-28 16:10:09 -05:00
Tim Donohue
e359fb9169 Merge pull request #4396 from DSpace/dependabot/npm_and_yarn/dspace-9_x/webpack-51a062295f
Bump webpack from 5.99.8 to 5.99.9 in the webpack group
2025-05-28 15:49:51 -05:00
dependabot[bot]
983551aea8 Bump @babel/runtime from 7.27.1 to 7.27.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.1 to 7.27.3.
- [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.27.3/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 18:33:15 +00:00
dependabot[bot]
c947f49820 Bump @babel/runtime from 7.27.1 to 7.27.3
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.1 to 7.27.3.
- [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.27.3/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 18:30:17 +00:00
dependabot[bot]
6ac6ac8998 Bump webpack from 5.99.8 to 5.99.9 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.99.8 to 5.99.9
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.99.8...v5.99.9)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.99.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 18:29:56 +00:00
dependabot[bot]
b726688b47 Bump ng-mocks from 14.13.4 to 14.13.5 in the testing group
Bumps the testing group with 1 update: [ng-mocks](https://github.com/help-me-mom/ng-mocks).


Updates `ng-mocks` from 14.13.4 to 14.13.5
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.13.4...v14.13.5)

---
updated-dependencies:
- dependency-name: ng-mocks
  dependency-version: 14.13.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 18:29:21 +00:00
dependabot[bot]
1727acab33 Bump ng-mocks from 14.13.4 to 14.13.5 in the testing group
Bumps the testing group with 1 update: [ng-mocks](https://github.com/help-me-mom/ng-mocks).


Updates `ng-mocks` from 14.13.4 to 14.13.5
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.13.4...v14.13.5)

---
updated-dependencies:
- dependency-name: ng-mocks
  dependency-version: 14.13.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-28 18:08:28 +00:00
Joran De Braekeleer
bf585e77c3 Merge remote-tracking branch 'upstream/dspace-7_x' into w2p-131442_backport-4335-to-dspace-7_x 2025-05-28 18:02:40 +02:00
Tim Donohue
a226502c72 Merge pull request #4387 from atmire/w2p-127655_fix-submission-form-getting-stuck-in-loop_contribute-7.6
[Port dspace-7_x] Fix infinite loading submission forms
2025-05-27 16:43:54 -05:00
Tim Donohue
4f79574a76 Merge pull request #4383 from atmire/w2p-130424_impossible-to-add-new-values-for-fields-without-qualifiers_contribute-7.6
[Port dspace-7_x] Fix unqualified metadata field validation in Edit Metadata tab by sorting fields in validation request
2025-05-27 14:55:33 -05:00
frabacche
cb0ac0c9e5 fix e2e test 18x aria on <ul> html tag
(cherry picked from commit e6389a73df)
2025-05-26 13:18:46 +02:00
abhinav
d3876c7c0a Merge branch 'dspace-7_x' into w2p-127655_fix-submission-form-getting-stuck-in-loop_contribute-7.6 2025-05-26 11:23:24 +02:00
Alexandre Vryghem
db119e4118 Fixed search facet deadlock
Also fixed minor issue in MetadataService, but this doesn't cause any issues in the current code

(cherry picked from commit 446280b59a)
2025-05-26 10:50:48 +02:00
abhinav
0c9f8c02f6 Merge remote-tracking branch 'alex-upstream/w2p-115051_themed-admin-search-page_contribute-7.4' into w2p-131441_backport-3065-7.6 2025-05-26 10:45:44 +02:00
dependabot[bot]
e42d4228ed Bump @types/lodash from 4.17.16 to 4.17.17
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.16 to 4.17.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-version: 4.17.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 02:53:33 +00:00
abhinav
38812a3e04 Merge branch 'dspace-7_x' into w2p-130424_impossible-to-add-new-values-for-fields-without-qualifiers_contribute-7.6 2025-05-23 18:11:40 +02:00
Tim Donohue
d87b83f9e9 Update version tag for development of next release 2025-05-23 11:06:00 -05:00
Tim Donohue
bcc437d029 Update version tag for release 2025-05-23 11:00:57 -05:00
Tim Donohue
269404cb4f Merge pull request #4367 from tdonohue/sync_i18n
Sync all i18n files with en.json5 for 9.0 release
2025-05-22 14:56:02 -05:00
Tim Donohue
120817f5f4 Sync all i18n files with en.json5 2025-05-22 14:14:17 -05:00
Tim Donohue
1aaa20ec73 Merge pull request #4365 from DSpace/backport-4364-to-dspace-7_x
[Port dspace-7_x] Remove stray comma from `config.example.yml` which makes example config invalid
2025-05-22 13:58:46 -05:00
Tim Donohue
e7709b8091 Remove stray comma
(cherry picked from commit bcd2081ee3)
2025-05-22 17:05:11 +00:00
Tim Donohue
c8a136f0d5 Merge pull request #4364 from tdonohue/fix_typo
Remove stray comma from `config.example.yml` which makes example config invalid
2025-05-22 12:04:52 -05:00
Tim Donohue
bcd2081ee3 Remove stray comma 2025-05-22 10:36:44 -05:00
Tim Donohue
e623b68d91 Merge pull request #4359 from GauravD2t/translation_hindi_gu_ma
Re-translated Hindi(hi) language labels
2025-05-21 16:01:55 -05:00
Tim Donohue
814b411192 Merge pull request #4360 from the-library-code/fix_submission_section_enabling
Fix and simplify submission section 'enabled' logic
2025-05-21 15:12:54 -05:00
Kim Shepherd
f77dfa37da Fix and simplify submission section 'enabled' logic
Fixes cases where a section needs to be disabled on save/init
because it is empty and non-mandatory
2025-05-21 19:29:08 +02:00
gauravd2t
04964787fa Trailing spaces not allowed 2025-05-21 13:25:25 +05:30
gauravd2t
20748d2f64 remove Trailing spaces and Expected indentation of 2 2025-05-21 12:50:33 +05:30
gauravd2t
b5a29fa400 change hindi translation label 2025-05-21 10:48:13 +05:30
Tim Donohue
2fffda3a28 Merge pull request #4351 from DSpace/dependabot/npm_and_yarn/eslint-1ccb09f07e
Bump eslint-plugin-jsonc from 2.20.0 to 2.20.1 in the eslint group
2025-05-19 11:07:27 -05:00
Tim Donohue
6971ac98c2 Merge pull request #4354 from DSpace/dependabot/npm_and_yarn/dspace-7_x/eslint-1ccb09f07e
Bump eslint-plugin-jsonc from 2.20.0 to 2.20.1 in the eslint group
2025-05-19 11:07:07 -05:00
Tim Donohue
280866a58f Merge pull request #4355 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-5219375de9
Bump sass from 1.88.0 to 1.89.0 in the sass group
2025-05-19 11:05:57 -05:00
Tim Donohue
537fb4bfda Merge pull request #4352 from DSpace/dependabot/npm_and_yarn/sass-5219375de9
Bump sass from 1.88.0 to 1.89.0 in the sass group
2025-05-19 11:05:16 -05:00
Tim Donohue
4ab895f821 Merge pull request #4353 from DSpace/dependabot/npm_and_yarn/isbot-5.1.28
Bump isbot from 5.1.27 to 5.1.28
2025-05-19 10:23:00 -05:00
Tim Donohue
c8b375d238 Merge pull request #4356 from DSpace/dependabot/npm_and_yarn/dspace-7_x/isbot-5.1.28
Bump isbot from 5.1.27 to 5.1.28
2025-05-19 10:22:32 -05:00
dependabot[bot]
37383acb6b Bump isbot from 5.1.27 to 5.1.28
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.27 to 5.1.28.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.27...v5.1.28)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.28
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:06:55 +00:00
dependabot[bot]
277eca837e Bump sass from 1.88.0 to 1.89.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.88.0 to 1.89.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.88.0...1.89.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.89.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:06:09 +00:00
dependabot[bot]
160f33f98a Bump eslint-plugin-jsonc from 2.20.0 to 2.20.1 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.20.0 to 2.20.1
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.20.0...v2.20.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-version: 2.20.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 03:05:35 +00:00
dependabot[bot]
880b9e4130 Bump isbot from 5.1.27 to 5.1.28
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.27 to 5.1.28.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.27...v5.1.28)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.28
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 02:50:08 +00:00
dependabot[bot]
d965968fc9 Bump sass from 1.88.0 to 1.89.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.88.0 to 1.89.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.88.0...1.89.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.89.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 02:44:15 +00:00
dependabot[bot]
3f02846fed Bump eslint-plugin-jsonc from 2.20.0 to 2.20.1 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.20.0 to 2.20.1
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.20.0...v2.20.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-version: 2.20.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 02:43:17 +00:00
Tim Donohue
a36e085920 Merge pull request #3390 from alexandrevryghem/w2p-117616_ported-custom-atmire-eslint-rules
Enforce DSpace-specific coding conventions
2025-05-16 16:03:49 -05:00
Alexandre Vryghem
443809f3b2 117616: Disabled unstable linting rules 2025-05-16 21:52:22 +02:00
Alexandre Vryghem
e1f3cc09cb 117616: Auto-fixed new linting rules 2025-05-16 18:21:05 +02:00
Alexandre Vryghem
f14cd51678 117616: Allow CallExpressions like forwardRef in the standalone imports array as well 2025-05-16 18:13:51 +02:00
Alexandre Vryghem
f0a00aca95 117616: Added support to alias-import to disallow aliasing certain imports 2025-05-16 18:13:51 +02:00
Alexandre Vryghem
aed0460cfe 117616: Created custom sort-standalone-imports rule 2025-05-16 18:13:51 +02:00
Alexandre Vryghem
6017537107 117616: Fixed unique-decorators rule not working in IntelliJ because the decorator calls were registered every time the file was updated 2025-05-16 18:13:50 +02:00
Alexandre Vryghem
c6657b5f9b 117616: Added default options in .eslintrc.json
Also enforced the trailing commas rule in .editorconfig for IntelliJ
2025-05-16 18:13:50 +02:00
Alexandre Vryghem
2d8fada3c4 117616: Created documentation for the custom lint options 2025-05-16 18:13:50 +02:00
Alexandre Vryghem
eb0572640b 117616: Ported themed-decorators rule 2025-05-16 18:13:50 +02:00
Alexandre Vryghem
598471913e 117616: Fixed unique-decorators rule to work across multiple files
Also moved the logic to filter out unwanted decorators to the ESLint's selector and fixed a typo
2025-05-16 18:13:50 +02:00
Yury Bondarenko
8ff5a23c40 117616: Fix rule creator call & add structure test case 2025-05-16 18:13:49 +02:00
Alexandre Vryghem
01c8c60624 117616: Ported unique-decorators rule 2025-05-16 18:13:49 +02:00
Alexandre Vryghem
4200357100 117616: Ported themed-wrapper-no-input-defaults rule 2025-05-16 18:13:49 +02:00
Alexandre Vryghem
39fec7ce64 117616: Replace all the usages of the import 2025-05-16 18:13:49 +02:00
Alexandre Vryghem
f10447b8d3 117616: Fixed alias-imports edge case where duplicate imports with different aliases were both kept 2025-05-16 18:13:49 +02:00
Alexandre Vryghem
abb03799e0 117616: Ported alias-imports rule 2025-05-16 18:13:48 +02:00
Tim Donohue
d4aedbbb51 Merge pull request #3613 from atmire/accessibility-settings-main
Accessibility settings page
2025-05-16 11:00:21 -05:00
Andreas Awouters
d1beb28de0 119602: Open tooltip to left of info icon 2025-05-16 17:10:40 +02:00
Andreas Awouters
e3152c94e0 119602: Align accessibility link with other footer links 2025-05-16 17:01:19 +02:00
Andreas Awouters
e9b8b25da5 Merge remote-tracking branch 'dspace/main' into accessibility-settings-main
# Conflicts:
#	cypress/support/e2e.ts
#	src/app/core/auth/auth.service.ts
#	src/app/footer/footer.component.html
2025-05-16 08:21:14 +02:00
Tim Donohue
ca92b4cf0e Merge pull request #4342 from DSpace/backport-4341-to-dspace-7_x
[Port dspace-7_x] Use ellipsis for truncatable parts
2025-05-15 15:54:06 -05:00
Andrea Barbasso
46b58c369e [CST-19327] use ellipsis for truncatable parts
(cherry picked from commit 6703a07207)
2025-05-15 19:55:45 +00:00
Tim Donohue
5cdc72ddbf Merge pull request #4341 from 4Science/task/main/CST-19327
Use ellipsis for truncatable parts
2025-05-15 14:55:31 -05:00
Tim Donohue
be3dbd604b Merge pull request #4340 from alexandrevryghem/w2p-130424_impossible-to-add-new-values-for-fields-without-qualifiers_contribute-main
Fix unqualified metadata field validation in Edit Metadata tab by sorting fields in validation request
2025-05-15 14:20:13 -05:00
Tim Donohue
f277832dc1 Merge pull request #4329 from 4Science/task/main/DURACOM-368
Enforce standalone components/directives/pipes via linting
2025-05-15 13:47:54 -05:00
Tim Donohue
ba3c43ac9a Merge pull request #3889 from 4Science/task/main/DURACOM-309_from-community-main
Add new orejime cookie for correlation-id header
2025-05-15 10:38:34 -05:00
Andrea Barbasso
520831bd33 [DURACOM-309] add new enableCookieConsentPopup property to config.example.yml 2025-05-15 16:22:26 +02:00
Andrea Barbasso
6703a07207 [CST-19327] use ellipsis for truncatable parts 2025-05-15 14:17:59 +02:00
Andrea Barbasso
056351ddfe [DURACOM-309] fix error occurring when preferences is undefined 2025-05-15 13:27:58 +02:00
Andrea Barbasso
87e4a33621 Merge branch 'main' into task/main/DURACOM-309_from-community-main
# Conflicts:
#	src/app/footer/footer.component.ts
2025-05-15 12:17:27 +02:00
Andrea Barbasso
9be8a87a57 [DURACOM-309] fix pipeline, remove cookie settings link from footer if popup is disabled 2025-05-15 11:21:07 +02:00
Alexandre Vryghem
15f96f3c82 Merge branch 'w2p-130424_impossible-to-add-new-values-for-fields-without-qualifiers_contribute-7.6' 2025-05-15 01:25:53 +02:00
Tim Donohue
98da22047a Merge pull request #4335 from alexandrevryghem/w2p-130479_fix-accessibility-issues-for-the-language-toggle-and-recent-submissions_contribute-main
Improve accessibility for screen readers
2025-05-14 16:41:03 -05:00
Andrea Barbasso
887bf0d266 [DURACOM-309] fix circular dependency 2025-05-14 17:43:12 +02:00
Andrea Barbasso
f1a1aebe33 [DURACOM-309] improve e2e pipeline, fix cookie issues 2025-05-14 17:12:13 +02:00
Tim Donohue
a0ebf4af63 Merge pull request #4322 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-d0f2b75659
Bump sass from 1.87.0 to 1.88.0 in the sass group
2025-05-14 10:02:48 -05:00
Tim Donohue
ebd69c04e8 Merge pull request #4317 from DSpace/dependabot/npm_and_yarn/sass-d0f2b75659
Bump sass from 1.87.0 to 1.88.0 in the sass group
2025-05-14 09:59:48 -05:00
Alexandre Vryghem
aba3a9439d 129964: Fixed the header role structure being invalid in the custom theme
- Replaced the menubar role from the parent of all the header buttons like lang switch, auth menu & help toggle with toolbar
- Replaced the remaining `<a>` buttons in the header with `<button>` to make them expandable with space
- Fixed accessibility issues flagged by axe DevTools in the user menu dropdown
2025-05-14 16:55:07 +02:00
Alexandre Vryghem
c58b398e43 129964: Restored language button border on focus 2025-05-14 13:49:16 +02:00
Tim Donohue
df2d18b5f1 Merge pull request #4336 from DSpace/backport-3373-to-dspace-7_x
[Port dspace-7_x] Adjust the font size of the 'No thumbnails available' text.
2025-05-13 17:34:16 -05:00
dependabot[bot]
63c2ac0a96 Bump sass from 1.87.0 to 1.88.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.87.0 to 1.88.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.87.0...1.88.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.88.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-13 22:06:15 +00:00
Tim Donohue
96d2b66068 Merge pull request #4318 from DSpace/dependabot/npm_and_yarn/webpack-ab0e10ec03
Bump webpack from 5.99.7 to 5.99.8 in the webpack group
2025-05-13 17:04:45 -05:00
Tim Donohue
d32681bbe9 Merge pull request #4072 from rsaraivac/patch-4
Update pt-PT.json5
2025-05-13 16:53:58 -05:00
DanGastardelli
1e8c55faf4 Adjust thumb text for smaller resolutions
(cherry picked from commit fa723c17a9)
2025-05-13 21:41:21 +00:00
DanGastardelli
9273c83179 Key spacing adjustment
(cherry picked from commit 829d406808)
2025-05-13 21:41:21 +00:00
DanGastardelli
e06caab25c Adding treatment for the use of the thumb-font-2 class
(cherry picked from commit e06db4cbab)
2025-05-13 21:41:21 +00:00
DanGastardelli
a21db5b887 Changed the implementation of changing the text font size when there is no thumbnail.
(cherry picked from commit 3cd5432034)
2025-05-13 21:41:21 +00:00
DanGastardelli
cae435a5c7 Adjust the font size of the 'No thumbnails available' text.
(cherry picked from commit c4dfed0e02)
2025-05-13 21:41:21 +00:00
Tim Donohue
dfc1ecef25 Merge pull request #3373 from DanGastardelli/AdjustTextNotThumbnail
Adjust the font size of the 'No thumbnails available' text.
2025-05-13 16:41:04 -05:00
Tim Donohue
cef7cae573 Merge pull request #4060 from alexandrevryghem/w2p-127655_fix-submission-form-getting-stuck-in-loop_contribute-main
Fix infinite loading submission forms
2025-05-13 15:02:10 -05:00
Tim Donohue
974e3bf3f3 Merge pull request #4323 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/sanitize-html-2.16.0
Bump @types/sanitize-html from 2.15.0 to 2.16.0
2025-05-13 14:42:28 -05:00
Alexandre Vryghem
be85947fb6 Merge branch 'w2p-130479_fix-accessibility-issues-for-the-language-toggle-and-recent-submissions' 2025-05-13 20:28:00 +02:00
Tim Donohue
f0ce4b2170 Merge pull request #4314 from oscar-escire/new-dspace-7_x
[Port dspace-7_x] Keyboard 'tab' key navigation improved
2025-05-13 12:08:40 -05:00
Alexandre Vryghem
830be1f15a 129964: Hide duplicate links for keyboard navigators 2025-05-13 18:59:04 +02:00
Alexandre Vryghem
8ff943b084 129964: Made DSO badges more screen-reader friendly
- Added commas between the labels to prevent screen readers from reading it as a sentence
- Added hidden text describing what the badges represent
2025-05-13 18:52:14 +02:00
Tim Donohue
206df7781e Merge pull request #4334 from tdonohue/port_4326_to_7x
[Port dspace-7_x] Add basic automated tests to ensure common HTTP Return Codes do not break
2025-05-13 11:35:48 -05:00
Alexandre Vryghem
545b2ff8a7 130479: Hide no results status when query is empty 2025-05-13 18:30:38 +02:00
wout
163cc75437 130479: using ul > li in recent-item + "Load more ..." to "<a>" element 2025-05-13 18:30:38 +02:00
wout
e9940f4005 130479: add aria-selected to selected language + globe button uses a button element 2025-05-13 18:30:37 +02:00
Tim Donohue
2301a8fd52 Add basic tests to our build to verify correct HTTP return codes for 301, 403, 404 and 500. 2025-05-13 10:59:45 -05:00
Tim Donohue
f9aa721ec8 Merge pull request #4332 from 4Science/task/dspace-7_x/DURACOM-344
[Port dspace-7_x] Remove `ssr.paths` configuration and replace with `ssr.excludePathPatterns` which excludes specific paths from SSR
2025-05-13 10:58:45 -05:00
Ricardo Saraiva
8c8ff6189b Update pt-PT.json5
Lint correction.
2025-05-13 16:41:00 +01:00
Ricardo Saraiva
788f173066 Merge branch 'main' into patch-4 2025-05-13 16:29:45 +01:00
Tim Donohue
daaa8109d6 Merge pull request #4326 from tdonohue/test_for_error_codes
Add basic automated tests to ensure common HTTP Return Codes do not break
2025-05-13 09:35:43 -05:00
FrancescoMolinaro
d47baab3a1 [DURACOM-344] fix property name 2025-05-13 16:11:00 +02:00
FrancescoMolinaro
c0e71a0e68 [DURACOM-344] refactor solution to avoid double slashes 2025-05-13 15:41:21 +02:00
FrancescoMolinaro
21ac024423 [DURACOM-344] adapt patterns and example file, fix possible error from YAML 2025-05-13 15:38:42 +02:00
FrancescoMolinaro
ce0f6153b9 [DURACOM-344] Adapt SSR page filtering mechanism to a not allowed list 2025-05-13 15:37:31 +02:00
Andrea Barbasso
7ec20edbc0 [DURACOM-368] enforce standalone components/directives/pipes via linting 2025-05-13 15:22:07 +02:00
Tim Donohue
80c38f0c3d Add basic tests to our build to verify correct HTTP return codes for 301, 403, 404 and 500. 2025-05-12 16:46:48 -05:00
Tim Donohue
6a138eccc6 Merge pull request #4227 from 4Science/task/main/DURACOM-344
Remove `ssr.paths` configuration and replace with `ssr.excludePathPatterns` which excludes specific paths from SSR
2025-05-12 14:11:34 -05:00
Tim Donohue
1fe9065fca Merge pull request #4324 from 4Science/task/main/DURACOM-367
Fix matomo SSR error on bitstream download page
2025-05-12 12:17:59 -05:00
FrancescoMolinaro
c442d35505 [DURACOM-344] refactor solution to avoid double slashes 2025-05-12 17:34:07 +02:00
Tim Donohue
7da8f92b15 Merge pull request #4319 from DSpace/dependabot/npm_and_yarn/bootstrap-5.3.6
Bump bootstrap from 5.3.5 to 5.3.6
2025-05-12 10:14:05 -05:00
dependabot[bot]
cafcee110e Bump @types/sanitize-html from 2.15.0 to 2.16.0
Bumps [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html) from 2.15.0 to 2.16.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sanitize-html)

---
updated-dependencies:
- dependency-name: "@types/sanitize-html"
  dependency-version: 2.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:09:54 +00:00
dependabot[bot]
a8fcad7b6a Bump sass from 1.87.0 to 1.88.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.87.0 to 1.88.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.87.0...1.88.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.88.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 03:09:06 +00:00
dependabot[bot]
de66aa294f Bump bootstrap from 5.3.5 to 5.3.6
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.5 to 5.3.6.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.5...v5.3.6)

---
updated-dependencies:
- dependency-name: bootstrap
  dependency-version: 5.3.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 02:16:17 +00:00
dependabot[bot]
5f53a7c966 Bump webpack from 5.99.7 to 5.99.8 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.99.7 to 5.99.8
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.99.7...v5.99.8)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.99.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 02:10:22 +00:00
Oscar Chacón
5c446d18f7 fixed accessibility tests on filters 2025-05-09 15:56:13 -06:00
Tim Donohue
6115e673cd Merge pull request #4316 from tdonohue/missing_i18n_labels
Add missing i18n labels, mostly for OpenAlex import of related Entities
2025-05-09 16:36:58 -05:00
Tim Donohue
5b18304e1c Merge pull request #3307 from alexandrevryghem/w2p-118157_entity-label-fix_contribute-main
Made the labels in edit relationships tab unique
2025-05-09 16:31:12 -05:00
Tim Donohue
a51cc5485c Merge pull request #4315 from pilasou/pilasou-translations-fr
Updates on the fr.json5
2025-05-09 16:20:38 -05:00
Oscar Chacón
cd0aa134f8 fixed some dynamic params over <a> components 2025-05-09 15:07:55 -06:00
Tim Donohue
512d2e215f Add missing i18n labels, mostly for OpenAlex import of related Entities 2025-05-09 16:00:44 -05:00
Alexandre Vryghem
3adb81e2c6 118135: Added missing rioxx3 & openaire4 relationship labels 2025-05-09 22:55:22 +02:00
Pierre Lasou
0ae73c7131 Updates on the fr.json5
Random updates based on the "TODO New keys" tags.
2025-05-09 16:06:01 -04:00
Oscar Chacón
9aed649160 improved "tab" navigation in safari 2025-05-09 13:27:29 -06:00
Tim Donohue
9926121912 Merge pull request #4310 from lareferencia/fix-orcid-settings-layout
Fix layout of ORCID settings on profile page
2025-05-09 14:01:36 -05:00
Tim Donohue
c1524c0713 Merge pull request #3513 from 4Science/task/main/DSC-1966
Fix navbar wrapping on medium screens
2025-05-09 12:33:21 -05:00
Tim Donohue
dd4aa5ac80 Merge pull request #4311 from 4Science/task/main/DURACOM-363
Fixes wrong wiki reference on labels
2025-05-09 12:18:53 -05:00
Andrea Barbasso
a9dff09300 [DURACOM-363] Fixed wrong wiki reference on translation files 2025-05-09 17:57:40 +02:00
Andrea Barbasso
37cef0fbae [DURACOM-367] fix matomo SSR error on bitstream download page 2025-05-09 16:56:59 +02:00
Jesiel Viana
e28d212789 fix label width 2025-05-09 10:52:54 -03:00
Jesiel Viana
d5c9e694c3 Fix layout of ORCID settings on profile page 2025-05-09 10:46:26 -03:00
Tim Donohue
fbbf16f387 Merge pull request #4250 from atmire/fix-embargoed-thumbnails_contribute-7.6
[Port dspace-7_x] Show restricted thumbnails to users with access rights
2025-05-08 16:09:07 -05:00
Tim Donohue
73bd0d67ea Merge pull request #4249 from atmire/fix-embargoed-thumbnails_contribute-9.0
Show restricted thumbnails to users with access rights
2025-05-08 15:12:36 -05:00
Andrea Barbasso
c0a5420e8b [DURACOM-309] add prod-e2e build script and use it for e2e tests 2025-05-08 12:20:10 +02:00
Art Lowel
bec91c5b8d Merge branch 'fix-embargoed-thumbnails_contribute-8.1' into fix-embargoed-thumbnails_contribute-9.0 2025-05-08 12:07:18 +02:00
Art Lowel
484befafc3 fix lint issues 2025-05-08 12:07:07 +02:00
Art Lowel
7a49802444 Merge branch 'fix-embargoed-thumbnails_contribute-8.1' into fix-embargoed-thumbnails_contribute-9.0 2025-05-08 12:02:43 +02:00
Art Lowel
12a3b4f846 always use thumbnail component for files not supported by the media viewer, and switch to themed version of thumbnail component 2025-05-08 11:34:45 +02:00
Art Lowel
283b345cdc always use thumbnail component for files not supported by the media viewer, and switch to themed version of thumbnail component 2025-05-08 11:26:14 +02:00
Art Lowel
9e8c0dc262 always use thumbnail component for files not supported by the media viewer, and switch to themed version of thumbnail component 2025-05-08 11:20:44 +02:00
Alexandre Vryghem
da6ace1882 130424: Fix validation on the edit metadata tab sometimes wrongly displaying an error message
This only happens when the request that validates the metadata field doesn't return the field with qualifier null on the first page
2025-05-08 01:48:52 +02:00
Tim Donohue
aaa4b910e2 Merge pull request #4307 from DSpace/backport-4288-to-dspace-7_x
[Port dspace-7_x] Bitstream upload failure during the workflow editing process when impersonating an editor
2025-05-07 17:10:02 -05:00
Adamo
926abe6241 [DURACOM-312] lint fix
(cherry picked from commit c68e5a181d)
2025-05-07 21:42:14 +00:00
Adamo
97fd42a2e1 [DURACOM-312] set the X-On-Behalf-Of header with impersonatingID in FileUploader.
(cherry picked from commit 727bcdc2cb23ae7fcff1d9ddfa794f872f1d1b8c)
(cherry picked from commit 0574c8ed98)
2025-05-07 21:42:14 +00:00
Adamo
3cff971297 [DURACOM-312] set the newly created impersonatingID filed in UploaderOptions.
(cherry picked from commit c70fe184208805be8657d4373f50f193e2c6e85f)
(cherry picked from commit 70c6af3630)
2025-05-07 21:42:14 +00:00
Adamo
49b27b5bc0 [DURACOM-312] updated UploaderOptions to include impersonatingID.
(cherry picked from commit 2c79be1456c753665e27b58563e56accc87b0383)
(cherry picked from commit 4b0ab8161f)
2025-05-07 21:42:14 +00:00
Tim Donohue
dec05e5cfe Merge pull request #4288 from 4Science/task/main/DURACOM-312
Bitstream upload failure during the workflow editing process when impersonating an editor
2025-05-07 16:41:58 -05:00
Tim Donohue
f9f3d186c5 Merge pull request #4305 from 4Science/task/dspace-7_x/DURACOM-326
[Port dspace-7_x] [DURACOM-326] fix possible issue on missing value for eperson patch #4289
2025-05-07 09:19:27 -05:00
FrancescoMolinaro
4c9638150a [DURACOM-344] adapt patterns and example file, fix possible error from YAML 2025-05-07 15:25:08 +02:00
FrancescoMolinaro
05e1fc3505 [DURACOM-326] fix possible issue on missing value for eperson patch 2025-05-07 14:36:26 +02:00
Art Lowel
b1191117fc Merge remote-tracking branch 'upstream/main' into fix-embargoed-thumbnails_contribute-9.0 2025-05-07 12:43:49 +02:00
Giuseppe Digilio
fd23044005 Merge branch 'main' into task/main/DSC-1966
# Conflicts:
#	src/themes/dspace/app/header/header.component.html
2025-05-07 11:18:37 +02:00
Tim Donohue
3635bf40fe Merge pull request #4296 from DSpace/dependabot/npm_and_yarn/dspace-7_x/core-js-3.42.0
Bump core-js from 3.41.0 to 3.42.0
2025-05-06 17:07:06 -05:00
Tim Donohue
c2af23b3df Merge pull request #4293 from DSpace/dependabot/npm_and_yarn/core-js-3.42.0
Bump core-js from 3.41.0 to 3.42.0
2025-05-06 17:06:34 -05:00
Jesiel Viana
8757712905 Fix: Improve footer responsiveness and download button on the full item page (#4218)
* fix: footer and download button responsiveness

* Revert styling changes to the download button on the simple item page

* fix: for restrict bitstrream show only lock icon

* ix: display download icon consistently across all item pages

* fix embargo label responsiveness

* Recommit without json5 changes

* Recommit without json5 changes

* Recommit without json5 changes
2025-05-06 12:21:18 -05:00
Art Lowel
149feee93a wait for loading components to disappear before running a11y test 2025-05-06 17:06:37 +02:00
Tim Donohue
b15e9d74d6 Merge pull request #4304 from alexandrevryghem/w2p-117573_remove-observable-function-calls-from-template-main
Fixed broken Pagination of People/Groups on Edit Resource Policy page
2025-05-06 09:59:32 -05:00
Art Lowel
f5ce6301e0 Merge branch 'fix-embargoed-thumbnails_contribute-8.1' into fix-embargoed-thumbnails_contribute-9.0 2025-05-06 15:03:40 +02:00
Art Lowel
c222c446b5 don't show the loading animation when src is set to null 2025-05-06 14:59:15 +02:00
Art Lowel
70d1e499c1 don't show the loading animation when src is set to null 2025-05-06 14:58:53 +02:00
Art Lowel
a84365996b Merge branch 'fix-embargoed-thumbnails_contribute-8.1' into fix-embargoed-thumbnails_contribute-9.0 2025-05-06 14:57:23 +02:00
Art Lowel
a7bcddf597 fix issue where thumbnail would sometimes keep loading indefinitely 2025-05-06 14:41:50 +02:00
Art Lowel
e40a44c5ac fix issue where thumbnail would sometimes keep loading indefinitely 2025-05-06 14:38:45 +02:00
Alexandre Vryghem
81fb2e1cbf Merge branch 'w2p-127655_fix-submission-form-getting-stuck-in-loop_contribute-7.6' 2025-05-06 14:35:20 +02:00
Alexandre Vryghem
3d32715d25 127655: Fixed getFirstDataDefinition not always returning a correct SubmitDataResponseDefinitionObject, leading to an infinite loading screen
- Also fixed an issue where the collection switcher could accidentally show the old collection name instead of the new one
- Also updated the WorkspaceItemPageResolver & WorkflowItemPageResolver to embed the collection to use fewer requests
2025-05-06 14:15:34 +02:00
Andreas Awouters
25d6809e1c 119602: Update e2e cookieContent 2025-05-06 10:05:16 +02:00
Andreas Awouters
bcd9bfd607 Revert "click orejime popup accept after login"
This reverts commit 33062214da.
2025-05-06 10:03:07 +02:00
Andreas Awouters
3a419b733a Merge remote-tracking branch 'dspace/main' into accessibility-settings-main 2025-05-06 09:33:03 +02:00
Andrea Barbasso
ea265075c8 [DURACOM-309] disable orejime during e2e tests 2025-05-06 09:25:09 +02:00
Andrea Barbasso
d423f82324 [DURACOM-309] fix tests 2025-05-06 09:20:49 +02:00
Andrea Barbasso
79d03d0433 [DURACOM-309] fix issue after logging in 2025-05-06 09:19:45 +02:00
Andrea Barbasso
bc3d3e4129 [DURACOM-309] fix SSR build 2025-05-06 09:19:44 +02:00
Andrea Barbasso
9d3b298f1a [DURACOM-309] add new orejime cookie for correlation id 2025-05-06 09:19:12 +02:00
Alan Orth
0180b633e2 Merge pull request #4294 from DSpace/dependabot/npm_and_yarn/babel/runtime-7.27.1
Bump @babel/runtime from 7.27.0 to 7.27.1
2025-05-06 07:56:14 +03:00
Alan Orth
498fad9e76 Merge pull request #4295 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.27.1
Bump @babel/runtime from 7.27.0 to 7.27.1
2025-05-06 07:50:55 +03:00
Alexandre Vryghem
f1444b6edb Merge branch 'w2p-117573_remove-observable-function-calls-from-template-7.6'
# Conflicts:
#	src/app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component.html
#	src/app/shared/eperson-group-list/eperson-group-list.component.ts
2025-05-06 00:50:39 +02:00
Alexandre Vryghem
e9061a46b6 117287: Fixed broken pagination on resource policy page 2025-05-06 00:49:01 +02:00
Tim Donohue
052e1c39ab Merge pull request #4290 from alexandrevryghem/w2p-117573_remove-observable-function-calls-from-template-main
Removed observable function calls from template (part 2)
2025-05-05 14:32:25 -05:00
Tim Donohue
19d438040b Merge pull request #4289 from 4Science/task/main/DURACOM-326
[DURACOM-326] fix possible issue on missing value for eperson patch
2025-05-05 11:49:07 -05:00
Kristof De Langhe
4d74d2c6dc Merge branch 'w2p-127655_Fix-submission-infinite-loading-7.6' into w2p-127655_Fix-submission-infinite-loading-main 2025-05-05 13:31:21 +02:00
dependabot[bot]
a1d391576e Bump core-js from 3.41.0 to 3.42.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.41.0 to 3.42.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.42.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 02:46:13 +00:00
dependabot[bot]
d985bfa091 Bump @babel/runtime from 7.27.0 to 7.27.1
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.0 to 7.27.1.
- [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.27.1/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 02:45:34 +00:00
dependabot[bot]
e40a697dbd Bump @babel/runtime from 7.27.0 to 7.27.1
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.27.0 to 7.27.1.
- [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.27.1/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-version: 7.27.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 02:37:34 +00:00
dependabot[bot]
c3ba7ef51a Bump core-js from 3.41.0 to 3.42.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.41.0 to 3.42.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.42.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-version: 3.42.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 02:31:25 +00:00
Alexandre Vryghem
6d7d3572a2 Merge branch 'w2p-118157_entity-label-fix_contribute-7.6' 2025-05-05 01:20:04 +02:00
Tim Donohue
e7359a3fd2 Merge pull request #4246 from atmire/w2p-127705_cleanup-input-form-spacing_contribute-main
Reduce margins on input fields
2025-05-02 14:51:04 -05:00
Joran De Braekeleer
46a89533f0 127705: Update dynamic list to bootstrap 5 2025-05-02 20:22:12 +02:00
Alexandre Vryghem
f7b77a1c3f Merge branch 'main' 2025-05-02 18:01:33 +02:00
Alexandre Vryghem
2bdb996e1a Merge branch 'theme-fixes_contribute-7.6' 2025-05-02 17:53:02 +02:00
Alexandre Vryghem
56e45a9f08 117287: Fixed various layout issues
- The unthemed home news didn't stick to the header like the dspace theme
- Impersonate user button has additional margin
- Submission form loading icon is not translatable
- Create resource policy page doesn't have the correct heading
2025-05-02 17:51:44 +02:00
Alexandre Vryghem
62f15668b6 122464: Fixed a memory leak when initComponentInstance is called multiple times 2025-05-02 17:11:48 +02:00
Alexandre Vryghem
6c1212de4e Merge branch 'w2p-117573_remove-observable-function-calls-from-template-7.6' 2025-05-02 17:07:56 +02:00
FrancescoMolinaro
b1c5460bbb [DURACOM-344] Adapt SSR page filtering mechanism to a not allowed list 2025-05-02 11:37:41 +02:00
Adamo
c68e5a181d [DURACOM-312] lint fix 2025-05-02 11:04:40 +02:00
Adamo
0574c8ed98 [DURACOM-312] set the X-On-Behalf-Of header with impersonatingID in FileUploader.
(cherry picked from commit 727bcdc2cb23ae7fcff1d9ddfa794f872f1d1b8c)
2025-05-02 10:30:19 +02:00
Adamo
70c6af3630 [DURACOM-312] set the newly created impersonatingID filed in UploaderOptions.
(cherry picked from commit c70fe184208805be8657d4373f50f193e2c6e85f)
2025-05-02 10:29:56 +02:00
Adamo
4b0ab8161f [DURACOM-312] updated UploaderOptions to include impersonatingID.
(cherry picked from commit 2c79be1456c753665e27b58563e56accc87b0383)
2025-05-02 10:29:30 +02:00
Tim Donohue
9a24fb2b64 Merge pull request #4244 from oscar-escire/Issue/4201
Keyboard 'tab' key navigation improved
2025-05-01 15:58:12 -05:00
Tim Donohue
4eb827c089 Merge pull request #4286 from tdonohue/port_4282_to_7x
[Port dspace-7_x] Fixed Missing Tags in Import Popup from External Sources - 4220
2025-05-01 12:59:42 -05:00
guillermo2519
43db1731ec Fixed Missing Tags in Import Popup from External Sources - 4220 2025-05-01 12:21:29 -05:00
Tim Donohue
df9c950f1f Merge pull request #4282 from guillermo2519/4195
Fixed Missing Tags in Import Popup from External Sources - 4220
2025-05-01 12:14:46 -05:00
Tim Donohue
af3d68ff71 Fix title tag to have quotes again 2025-05-01 11:20:31 -05:00
Tim Donohue
e2b72201b2 Merge pull request #4258 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-f1c32079c7
Bump sass from 1.86.3 to 1.87.0 in the sass group
2025-05-01 10:04:10 -05:00
Tim Donohue
8c1f50b4d2 Merge pull request #4255 from DSpace/dependabot/npm_and_yarn/sass-f1c32079c7
Bump sass from 1.86.3 to 1.87.0 in the sass group
2025-05-01 10:02:28 -05:00
Tim Donohue
34248186e8 Merge pull request #4260 from DSpace/dependabot/npm_and_yarn/dspace-7_x/axios-1.9.0
Bump axios from 1.8.4 to 1.9.0
2025-04-30 17:18:15 -05:00
Tim Donohue
ca22bf327a Merge pull request #4257 from DSpace/dependabot/npm_and_yarn/axios-1.9.0
Bump axios from 1.8.4 to 1.9.0
2025-04-30 17:17:37 -05:00
Tim Donohue
5eda4db743 Merge pull request #4254 from DSpace/dependabot/npm_and_yarn/angular-27236e9c24
Bump the angular group with 3 updates
2025-04-30 17:02:06 -05:00
Tim Donohue
a41a2441df Merge pull request #4057 from saschaszott/saschaszott-patch-11
apply spellCheck configuration to input model
2025-04-30 13:38:19 -05:00
Tim Donohue
f44599a3c9 Merge pull request #4270 from oscar-escire/Issue/4204
fixed flash and translate problems on statistics
2025-04-30 11:40:14 -05:00
Tim Donohue
9dca838f25 Merge pull request #4281 from atmire/w2p-130484_bitstreams-tables-keep-being-duplicated-7_x
[Port dspace-7_x] Fix bitstream tables being duplicated
2025-04-30 11:26:43 -05:00
Tim Donohue
3370bda789 Merge pull request #4080 from atmire/themed-SubmissionComponents_contribute-main
Themed Submission Components
2025-04-30 09:55:45 -05:00
kshepherd
19078a18fc Merge pull request #4279 from atmire/w2p-130484_bitstreams-tables-keep-being-duplicated-9.0
Fix bitstream tables being duplicated
2025-04-30 16:50:51 +02:00
Andreas Awouters
ae23e68d12 130484: Filter new bundles 2025-04-30 15:51:57 +02:00
Andreas Awouters
f9b58ecd06 130484: Filter new bundles 2025-04-30 15:49:59 +02:00
Alexandre Vryghem
dc8b10593c 117287: Removed remaining observable function calls from the HTML templates 2025-04-30 15:37:06 +02:00
FrancescoMolinaro
7b9cd73ee0 [DURACOM-326] fix possible issue on missing value for eperson patch 2025-04-30 14:51:42 +02:00
Andreas Awouters
41afcf9cf6 130484: Correctly update the 'showLoadMoreLink$' observable 2025-04-30 14:18:14 +02:00
Andreas Awouters
d3b48f4ea4 130484: Only add bundles when they are missing from the subject 2025-04-30 14:17:59 +02:00
Andreas Awouters
501ccfea1b 130484: Correctly update the 'showLoadMoreLink$' observable 2025-04-30 14:15:52 +02:00
Andreas Awouters
02be3e0ad5 130484: Only add bundles when they are missing from the subject 2025-04-30 14:15:03 +02:00
Zahraa Chreim
0aea4a7666 127047: Remove unnecessary CSS variable from spec setup 2025-04-30 10:22:01 +02:00
guillermo2519
4c26359e29 Fixed Missing Tags in Import Popup from External Sources - 4220 2025-04-29 21:24:59 -06:00
Tim Donohue
5719f06dd1 Merge pull request #4273 from 4Science/task/main/DURACOM-354
Fix missing input fields for integer script parameters
2025-04-29 17:06:48 -05:00
Alexandre Vryghem
d34dafd838 119276: Added tests to prove that cached stale requests are not emitted
Also cleaned up test class

(cherry picked from commit 58ff240c05)
2025-04-29 18:58:02 +00:00
Alexandre Vryghem
85610d4eb6 119276: Fixed search service first emitting cached stale values instead of waiting for non-stale response
This was problematic for the places that used getFist operators. This is because they only emit data once, and the first value could be the old cached value

(cherry picked from commit edfaee6aab)
2025-04-29 18:58:01 +00:00
Tim Donohue
67e91e370a Merge pull request #3888 from alexandrevryghem/w2p-119276_fixed-searchservice-returning-stale-requests_contribute-main
Fixed search page still returning stale data after invalidating a request
2025-04-29 13:57:44 -05:00
Tim Donohue
aacedd2db6 Merge pull request #3892 from atmire/w2p-119612_export-item-limit
UI warning for export item limit
2025-04-29 12:42:48 -05:00
Tim Donohue
ea6f640820 Merge pull request #4276 from 4Science/task/main/DURACOM-226
Fix submission footer wrapping on medium screens
2025-04-29 12:21:27 -05:00
Andrea Barbasso
00143d29e7 [DURACOM-354] fix missing input fields for integer script parameters 2025-04-29 16:45:44 +02:00
Tim Donohue
f16a03e226 Merge pull request #4217 from kshepherd/rss-sort-link-fix
Several fixes to RSS component and object lists
2025-04-29 08:58:47 -05:00
Andrea Barbasso
ad7aa36f88 [DURACOM-226] fix submission footer wrapping on medium screens 2025-04-29 15:48:30 +02:00
Jens Vannerum
6232d4e9cf 119612: fix spec test 2025-04-29 12:20:25 +02:00
Jens Vannerum
a6c14e50c2 Merge remote-tracking branch 'origin/main' into w2p-119612_export-item-limit 2025-04-29 10:54:22 +02:00
Kristof De Langhe
c1bd65e8c6 127655: avoid nullpointer 2025-04-29 10:46:45 +02:00
Oscar Chacón
3c1d514807 fixed flash and translate problems on statistics 2025-04-28 23:42:38 -06:00
Kim Shepherd
6cd88ec57b [#4172] Remove unused RSS import from RecentItemListComponent 2025-04-28 22:46:36 +02:00
Tim Donohue
28f865eb2e Merge pull request #4269 from 4Science/task/main/DURACOM-359
Fix matomo downloading its .js even if it's disabled
2025-04-28 11:29:56 -05:00
Tim Donohue
f107573bc1 Merge pull request #4225 from 4Science/task/main/DURACOM-353
[DURACOM-353] fix orejime callbacks
2025-04-28 11:22:36 -05:00
Kristof De Langhe
557879941b Merge branch 'w2p-127655_Fix-submission-infinite-loading-7.6' into w2p-127655_Fix-submission-infinite-loading-main 2025-04-28 17:49:11 +02:00
Kristof De Langhe
0dabc8ed8f 127655: refactor to use buildFromRequestUUID 2025-04-28 17:47:17 +02:00
dependabot[bot]
62822ade31 Bump the angular group with 3 updates
Bumps the angular group with 3 updates: [@angular/ssr](https://github.com/angular/angular-cli), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli).


Updates `@angular/ssr` from 18.2.18 to 18.2.19
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.18...18.2.19)

Updates `@angular-devkit/build-angular` from 18.2.18 to 18.2.19
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.18...18.2.19)

Updates `@angular/cli` from 18.2.18 to 18.2.19
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.18...18.2.19)

---
updated-dependencies:
- dependency-name: "@angular/ssr"
  dependency-version: 18.2.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-devkit/build-angular"
  dependency-version: 18.2.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/cli"
  dependency-version: 18.2.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 15:30:33 +00:00
dependabot[bot]
a16f1e8248 Bump sass from 1.86.3 to 1.87.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.86.3 to 1.87.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.86.3...1.87.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.87.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 15:27:45 +00:00
Tim Donohue
b123e86760 Merge pull request #4262 from DSpace/dependabot/npm_and_yarn/ngtools/webpack-18.2.19
Bump @ngtools/webpack from 18.2.18 to 18.2.19
2025-04-28 10:18:00 -05:00
Tim Donohue
d664f1f94a Merge pull request #4256 from DSpace/dependabot/npm_and_yarn/webpack-cee3a23860
Bump webpack from 5.99.6 to 5.99.7 in the webpack group
2025-04-28 10:17:30 -05:00
Tim Donohue
da12147043 Merge pull request #4259 from DSpace/dependabot/npm_and_yarn/dspace-7_x/isbot-5.1.27
Bump isbot from 5.1.26 to 5.1.27
2025-04-28 10:16:16 -05:00
Tim Donohue
0b02dbbb67 Merge pull request #4261 from DSpace/dependabot/npm_and_yarn/isbot-5.1.27
Bump isbot from 5.1.26 to 5.1.27
2025-04-28 10:15:59 -05:00
Andrea Barbasso
16e4ae5583 Merge branch 'main' into task/main/DSC-1966
# Conflicts:
#	src/themes/dspace/app/header/header.component.html
#	src/themes/dspace/app/navbar/navbar.component.html
2025-04-28 17:04:32 +02:00
Andrea Barbasso
cace253d8b [DURACOM-359] fix matomo downloading its .js even if it's disabled 2025-04-28 16:15:10 +02:00
Kim Shepherd
97a4c3c0c0 [#4172] Disable manual ds-rss display in recent items comp
This can be added in easily with:
`      <ds-rss [sortConfig]="sortConfig"></ds-rss>`
2025-04-28 15:37:55 +02:00
Kim Shepherd
72a050c7ae [#4172] Shift enableRSS route data for coll and comm routes
app-routes previously set this but it now needs to be
set in collection-page-routes and community-page-routes
respectively.
2025-04-28 15:31:31 +02:00
Kristof De Langhe
9dc96e7b33 Merge branch 'main' into w2p-127655_Fix-submission-infinite-loading-main 2025-04-28 15:19:50 +02:00
Kristof De Langhe
99e8c1044c 127655: Submission get data stale re-request 2025-04-28 15:15:26 +02:00
Andrea Barbasso
33d75cf217 [DURACOM-353] fix error in SSR 2025-04-28 14:16:13 +02:00
Kristof De Langhe
287d35cb26 127655: Fix submission infinite loading 2025-04-28 13:04:44 +02:00
Ricardo Saraiva
c5d203bbd6 Merge branch 'main' into patch-4 2025-04-28 09:15:58 +01:00
dependabot[bot]
e4d53eddcc Bump @ngtools/webpack from 18.2.18 to 18.2.19
Bumps [@ngtools/webpack](https://github.com/angular/angular-cli) from 18.2.18 to 18.2.19.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.18...18.2.19)

---
updated-dependencies:
- dependency-name: "@ngtools/webpack"
  dependency-version: 18.2.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 02:49:37 +00:00
dependabot[bot]
25f474386b Bump isbot from 5.1.26 to 5.1.27
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.26 to 5.1.27.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.26...v5.1.27)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 02:49:17 +00:00
dependabot[bot]
15a8008869 Bump axios from 1.8.4 to 1.9.0
Bumps [axios](https://github.com/axios/axios) from 1.8.4 to 1.9.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/v1.8.4...v1.9.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 02:45:21 +00:00
dependabot[bot]
e35adee7f8 Bump isbot from 5.1.26 to 5.1.27
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.26 to 5.1.27.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.26...v5.1.27)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 02:45:12 +00:00
dependabot[bot]
ee3154c069 Bump sass from 1.86.3 to 1.87.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.86.3 to 1.87.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.86.3...1.87.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.87.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 02:44:10 +00:00
dependabot[bot]
3d8951db18 Bump axios from 1.8.4 to 1.9.0
Bumps [axios](https://github.com/axios/axios) from 1.8.4 to 1.9.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/v1.8.4...v1.9.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 02:43:22 +00:00
dependabot[bot]
d6875117b0 Bump webpack from 5.99.6 to 5.99.7 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.99.6 to 5.99.7
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.99.6...v5.99.7)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.99.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-28 02:43:08 +00:00
Alexandre Vryghem
b64f69105e Merge branch 'main' into w2p-119276_fixed-searchservice-returning-stale-requests_contribute-main 2025-04-26 14:47:58 +02:00
Tim Donohue
b491ed3c27 Merge pull request #4253 from tdonohue/port_4212_to_7x
[Port dspace-7_x] Fix: prevent bitstream format cache issue by disabling cached version
2025-04-25 17:15:38 -05:00
Jesiel Viana
b184db7a99 fix unit tests for bitstream-data.service.ts 2025-04-25 16:47:58 -05:00
Jesiel Viana
eac787f1f4 fix: invalidate cache only for the modified bitstream 2025-04-25 16:45:58 -05:00
Jesiel Viana
8dbdb27c67 fix: prevent bitstream format cache issue by disabling cached version 2025-04-25 16:45:43 -05:00
Tim Donohue
353d660f23 Merge pull request #4212 from jesielviana/fix-bitstream-unable-to-change-format
Fix: prevent bitstream format cache issue by disabling cached version
2025-04-25 16:42:42 -05:00
Tim Donohue
02f30ab331 Merge pull request #4247 from DSpace/backport-4243-to-dspace-7_x
[Port dspace-7_x] Add translation keys for journal submission volume lookup
2025-04-25 12:23:38 -05:00
Art Lowel
80dd89da56 switch to signals 2025-04-25 18:13:46 +02:00
Art Lowel
fa96c8c5ab Merge branch 'fix-embargoed-thumbnails_contribute-8.1' 2025-04-25 17:58:06 +02:00
Joran De Braekeleer
523c13ff3d 130405: Add translations for journal submission volume lookup
(cherry picked from commit fef16bca14)
2025-04-25 15:31:43 +00:00
Tim Donohue
ff3784ab5f Merge pull request #4243 from atmire/w2p-130405_missing-labels-in-journal-volume-search-results_contribute-main
Add translation keys for journal submission volume lookup
2025-04-25 10:31:22 -05:00
Tim Donohue
8d26b1509f Merge pull request #4192 from alanorth/no-proper-noun
Adjust unnecessary capitalization in English i18n strings
2025-04-25 10:05:02 -05:00
Art Lowel
54ed550f4a Merge branch 'w2p-116728_removed-unnecessary-ngvars_contribute-7.6' into fix-embargoed-thumbnails_contribute-8.1 2025-04-25 16:18:21 +02:00
Art Lowel
1ddd248d0e Merge remote-tracking branch 'upstream/dspace-7_x' into fix-embargoed-thumbnails_contribute-7.6 2025-04-25 15:39:20 +02:00
Art Lowel
11f251755b fix issue where thumnails of embargoed bitstreams wouldn't show up for users with access rights 2025-04-25 14:55:52 +02:00
Joran De Braekeleer
b00f489d09 127705: Reduce margins on input fields 2025-04-25 10:00:35 +02:00
Oscar Chacón
4e5b344ce8 hotfix: e2e accessibility tests 2025-04-24 17:11:54 -06:00
Tim Donohue
b1f0ed201a Merge pull request #4234 from 4Science/task/main/DURACOM-350
[DURACOM-350] fix cache issue after mydspace action
2025-04-24 15:07:06 -05:00
Oscar Chacón
f8cfb74555 tab navigation improved 2025-04-24 13:29:01 -06:00
Kim Shepherd
e3c6ad807b #4172 Remove unneeded SearchService from RSS 2025-04-24 16:18:41 +02:00
Tim Donohue
818f60b4d7 Merge pull request #4242 from dataquest-dev/cs-translation-thumbnail-more-accurate
Fix the last update to the Czech Translation
2025-04-24 08:48:53 -05:00
Kim Shepherd
6f878e5c4a #4172 Better boolean comparison of showRSS test 2025-04-24 15:24:58 +02:00
Kim Shepherd
3a347d83b5 #4172 Allow SortOptions override to showRSS input
If a valid, complete SortOptions is passed to
the pagination component showRSS, it will be
used instead of the underlying sortOptions,
otherwise the pagination context sortOptions
will be used.
2025-04-24 15:24:58 +02:00
Kim Shepherd
b89a626ffc #4172 Several fixes to RSS component and object lists
* RSS button displayed on search result pages
* RSS button displayed on Recent Items component
* RSS button NOT displayed in other components
  like top-level community, etc.
* RSS component tracks sort option changes
2025-04-24 15:24:58 +02:00
Joran De Braekeleer
fef16bca14 130405: Add translations for journal submission volume lookup 2025-04-24 15:15:29 +02:00
Jesiel Viana
bb536192c2 fix unit tests for bitstream-data.service.ts 2025-04-24 10:04:41 -03:00
milanmajchrak
00d7e1f97c Use more accurate czech translation for the thumbnail.default.placeholder 2025-04-24 14:56:21 +02:00
Jesiel Viana
4f48f39f7b fix: invalidate cache only for the modified bitstream 2025-04-24 07:43:05 -03:00
FrancescoMolinaro
7998d2d8b9 [DURACOM-350] Fix filter skeleton missing update 2025-04-24 09:28:29 +02:00
Tim Donohue
7b25b1d63c Merge pull request #4233 from atmire/4099-duplicate-view-events_contibute-7.x
[Port to dspace-7_x] Fix for double view events when using dynamic themes
2025-04-23 17:01:35 -05:00
Tim Donohue
5fc83782b1 Merge pull request #4231 from atmire/4099-duplicate-view-events_contibute-main
Fix for double view events when using dynamic themes
2025-04-23 16:57:49 -05:00
Tim Donohue
d43730a542 Merge pull request #4237 from DSpace/backport-4167-to-dspace-7_x
[Port dspace-7_x] Fix unable to remove data from a submission form field of type "name"
2025-04-23 13:44:34 -05:00
Tim Donohue
7269f6c36a Merge pull request #4236 from DSpace/backport-4167-to-main
[Port main] Fix unable to remove data from a submission form field of type "name"
2025-04-23 13:44:28 -05:00
Tim Donohue
1c1b129068 Merge pull request #4238 from DSpace/backport-3968-to-dspace-7_x
[Port dspace-7_x] Fix - previously entered qualdrop value field is deleted when adding a new (emtpy) line with the same(!) qualifier and then deleting it
2025-04-23 12:53:22 -05:00
abhinav
583bed6164 129621: Add a not empty check
This check is present in the other event handlers above so adding it here as well.

(cherry picked from commit 0b28789e4f)
2025-04-23 12:52:02 -05:00
Tim Donohue
056e923ae8 Merge pull request #4240 from tdonohue/update_solr_in_Docker
Update Docker Compose scripts for Solr 9 compatibility
2025-04-23 12:51:06 -05:00
Tim Donohue
856d701b3e Solr 9 compatibility requires minor updates to how Solr image is initialized 2025-04-23 12:07:46 -05:00
VictorDuranEscire
ae563442e7 Fix - Validate value on remove item for submission form only for qualdrop component
(cherry picked from commit 1e73fa626d)
2025-04-23 16:38:38 +00:00
Tim Donohue
7845d37b2e Merge pull request #3968 from VictorDuranEscire/2567
Fix - previously entered qualdrop value field is deleted when adding a new (emtpy) line with the same(!) qualifier and then deleting it
2025-04-23 11:38:21 -05:00
abhinav
08d56407ff 129621: Add a not empty check
This check is present in the other event handlers above so adding it here as well.

(cherry picked from commit 0b28789e4f)
2025-04-23 16:07:11 +00:00
FrancescoMolinaro
1b112dd887 [DURACOM-350] prevent unnecessary reload 2025-04-23 15:47:01 +02:00
FrancescoMolinaro
e84af6ab91 [DURACOM-350] fix cache issue after mydspace action 2025-04-23 15:07:00 +02:00
lotte
bde54ca6fa 129694: fixed lint issues 2025-04-22 18:32:51 +02:00
Andrea Barbasso
4b6ef50611 [DURACOM-353] fix orejime callbacks 2025-04-22 12:58:33 +02:00
lotte
8140ed29e7 129694: PoC #4099 solution with resolvers 2025-04-22 12:43:58 +02:00
lotte
8bc2c8768f Merge branch 'dspace-7_x' into 4099-duplicate-view-events_contibute-7.x 2025-04-22 12:30:15 +02:00
lotte
9a0e4ec107 Merge branch '4099-duplicate-view-events_contibute-7.6.3' into 4099-duplicate-view-events_contibute-7.x 2025-04-22 10:43:32 +02:00
Zahraa Chreim
d269d668e5 127047: Remove default value of collectionModifiable and Update overrideComponent to exclude themed components 2025-04-22 09:57:27 +03:00
Tim Donohue
b076738b53 Merge pull request #4219 from michdyk/patch-2
Full update pl translations and minor changes in cz and uk translations
2025-04-21 14:57:08 -05:00
Tim Donohue
3a04ea8f79 Merge pull request #4222 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sanitize-html-2.16.0
Bump sanitize-html from 2.15.0 to 2.16.0
2025-04-21 08:58:16 -05:00
Tim Donohue
09e6452a48 Merge pull request #4223 from DSpace/dependabot/npm_and_yarn/webpack-753b40408c
Bump webpack from 5.99.5 to 5.99.6 in the webpack group
2025-04-21 08:52:41 -05:00
dependabot[bot]
03bcdc37ce Bump webpack from 5.99.5 to 5.99.6 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.99.5 to 5.99.6
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.99.5...v5.99.6)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.99.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 03:17:20 +00:00
dependabot[bot]
c272e51aeb Bump sanitize-html from 2.15.0 to 2.16.0
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.15.0 to 2.16.0.
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.15.0...2.16.0)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-version: 2.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 02:50:44 +00:00
Michał Dykas
8734a07592 Corrected one indentation from pl.json5 2025-04-20 21:52:06 +02:00
Michał Dykas
548fbf54cf Corrected indentations for pl.json5 2025-04-20 21:44:51 +02:00
Michał Dykas
050c007e44 Minor change of commas in pl.json5 2025-04-20 21:28:12 +02:00
Michał Dykas
5346679880 Corrected minor comma/markdown mispellings from json validation for pl.json5 2025-04-20 11:57:44 +02:00
Michał Dykas
fad41b2ddf Added comments to pl.json5 2025-04-20 01:56:17 +02:00
Tim Donohue
fcac66caab Merge pull request #4183 from DSpace/dependabot/npm_and_yarn/bootstrap-5.3.5
Bump bootstrap from 5.3.3 to 5.3.5
2025-04-18 14:19:06 -05:00
Tim Donohue
11493914a7 Merge pull request #4216 from atmire/fix-untyped-item-display-in-edit-item-modal
fix untyped item display in edit item modal
2025-04-18 13:32:01 -05:00
Michał Dykas
e14ed8804c Added missing comma to pl.json5 2025-04-18 12:13:43 +02:00
Michał Dykas
8abd71ab73 Update uk.json5 2025-04-18 10:49:30 +02:00
Michał Dykas
41c4225c0f Update cs.json5 2025-04-18 10:48:18 +02:00
Michał Dykas
d8896f78b8 Update pl.json5 2025-04-18 10:46:01 +02:00
Michał Dykas
3d167acecb Update full translation to pl.json5 2025-04-18 10:37:41 +02:00
Tim Donohue
9b5d008d66 Merge pull request #4215 from pilasou/pilasou-translations-fr
Correct small typo in en.json5
2025-04-17 10:17:38 -05:00
Art Lowel
5ef0a57438 fix untyped item display in edit item modal 2025-04-17 16:57:01 +02:00
Pierre Lasou
f01ccbdae2 Correct typo
Correct type in the external-login.confirm-email-sent.info parameter
2025-04-17 10:32:03 -04:00
Jesiel Viana
6001652101 fix: prevent bitstream format cache issue by disabling cached version 2025-04-17 09:08:19 -03:00
kshepherd
c6a1401f34 Merge pull request #4210 from alanorth/eslint-json5-dspace7
[Port dspace-7_x] Update ESLint configuration for json5 files
2025-04-17 00:44:27 +02:00
Alan Orth
19c680ebf0 .eslintrc.json: use jsonc/no-irregular-whitespace
The eslint-plugin-jsonc documentation recommends turning ESLint's
own no-irregular-whitespace plugin off for JSON files in favor of
its own jsonc/no-irregular-whitespace plugin.

See: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
2025-04-16 23:24:06 +03:00
Alan Orth
9a025f6610 .eslintrc.json: use plugin:jsonc/recommended-with-json5
The eslint-plugin-jsonc has a recommended configuration for json5.

See: https://ota-meshi.github.io/eslint-plugin-jsonc/user-guide/#usage
2025-04-16 23:21:52 +03:00
Tim Donohue
6a49cdb54b Merge pull request #2317 from alanorth/eslint-json5
Update ESLint configuration for json5 files
2025-04-16 14:54:30 -05:00
Tim Donohue
ac940c1bb2 Merge pull request #4026 from DSpace/dependabot/npm_and_yarn/dspace-7_x/postcss-c120d6abdd
Bump postcss from 8.5.1 to 8.5.3 in the postcss group across 1 directory
2025-04-16 11:47:22 -05:00
Andreas Awouters
b9e2ec15ed Merge remote-tracking branch 'dspace/main' into accessibility-settings-main
# Conflicts:
#	config/config.example.yml
#	src/config/app-config.interface.ts
#	src/config/default-app-config.ts
#	src/environments/environment.test.ts
2025-04-16 10:56:51 +02:00
Alan Orth
9896eab6ac .eslintrc.json: remove second eslint-plugin-jsonc
This seems to have been added twice at some point.
2025-04-15 23:57:19 +03:00
Alan Orth
5e8571de80 .eslintrc.json: use jsonc/no-irregular-whitespace
The eslint-plugin-jsonc documentation recommends turning ESLint's
own no-irregular-whitespace plugin off for JSON files in favor of
its own jsonc/no-irregular-whitespace plugin.

See: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
2025-04-15 23:55:43 +03:00
Ricardo Saraiva
452493a828 Update pt-PT.json5
Lint corrections.
2025-04-15 21:39:03 +01:00
Alan Orth
3a05733256 .eslintrc.json: use plugin:jsonc/recommended-with-json5
The eslint-plugin-jsonc has a recommended configuration for json5.

See: https://ota-meshi.github.io/eslint-plugin-jsonc/user-guide/#usage
2025-04-15 23:34:46 +03:00
Ricardo Saraiva
71d7a7b659 Update pt-PT.json5
Lint corrections.
2025-04-15 21:31:38 +01:00
Ricardo Saraiva
9f19b481cf Merge branch 'main' into patch-4 2025-04-15 20:48:02 +01:00
Tim Donohue
1c4f650ef9 Merge pull request #4186 from DSpace/dependabot/npm_and_yarn/dspace-7_x/http-proxy-middleware-2.0.9
Bump http-proxy-middleware from 2.0.7 to 2.0.9
2025-04-15 14:13:24 -05:00
Tim Donohue
f95596ba02 Merge pull request #4184 from DSpace/dependabot/npm_and_yarn/http-proxy-middleware-2.0.9
Bump http-proxy-middleware from 2.0.7 to 2.0.9
2025-04-15 14:13:03 -05:00
Tim Donohue
6ef781822d Merge pull request #4150 from DSpace/dependabot/npm_and_yarn/dspace-7_x/multi-02a33f2273
Bump sanitize-html and @types/sanitize-html
2025-04-15 14:10:12 -05:00
dependabot[bot]
bd2b5d3bc0 Bump bootstrap from 5.3.3 to 5.3.5
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.3 to 5.3.5.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.3...v5.3.5)

---
updated-dependencies:
- dependency-name: bootstrap
  dependency-version: 5.3.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 19:05:14 +00:00
Tim Donohue
0115edaa07 Merge pull request #4120 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.27.0
Bump @babel/runtime from 7.26.7 to 7.27.0
2025-04-15 14:04:37 -05:00
Tim Donohue
fd2e9a49ee Merge pull request #4117 from DSpace/dependabot/npm_and_yarn/babel/runtime-7.27.0
Bump @babel/runtime from 7.26.0 to 7.27.0
2025-04-15 14:03:45 -05:00
dependabot[bot]
8f95d7b5b3 Bump @babel/runtime from 7.26.0 to 7.27.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.0 to 7.27.0.
- [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.27.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 13:27:14 -05:00
Tim Donohue
faebbbe680 Merge pull request #4197 from tdonohue/port_4189_to_7x
[Port dspace-7_x] Add additional automated server-side rendering (SSR) tests for all Entity Types
2025-04-15 13:14:39 -05:00
Tim Donohue
67c2b33bb0 Merge pull request #4193 from jesielviana/add-tooltips-to-switch-view-buttons
Fix: adding tooltips to indicate functionality of buttons when switching views of search results
2025-04-15 12:24:24 -05:00
dependabot[bot]
237f183a18 Bump http-proxy-middleware from 2.0.7 to 2.0.9
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.7 to 2.0.9.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.9/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7...v2.0.9)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-version: 2.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 15:24:52 +00:00
dependabot[bot]
0ff0b5298a Bump http-proxy-middleware from 2.0.7 to 2.0.9
Bumps [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) from 2.0.7 to 2.0.9.
- [Release notes](https://github.com/chimurai/http-proxy-middleware/releases)
- [Changelog](https://github.com/chimurai/http-proxy-middleware/blob/v2.0.9/CHANGELOG.md)
- [Commits](https://github.com/chimurai/http-proxy-middleware/compare/v2.0.7...v2.0.9)

---
updated-dependencies:
- dependency-name: http-proxy-middleware
  dependency-version: 2.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 15:09:53 +00:00
dependabot[bot]
87bb0d4e5a Bump sanitize-html and @types/sanitize-html
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) and [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html). These dependencies needed to be updated together.

Updates `sanitize-html` from 2.14.0 to 2.15.0
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.14.0...2.15.0)

Updates `@types/sanitize-html` from 2.13.0 to 2.15.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sanitize-html)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-version: 2.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/sanitize-html"
  dependency-version: 2.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 15:04:44 +00:00
Tim Donohue
0d78cd57b3 Merge pull request #4185 from DSpace/dependabot/npm_and_yarn/isbot-5.1.26
Bump isbot from 5.1.25 to 5.1.26
2025-04-15 09:51:36 -05:00
Tim Donohue
eee9897312 Merge pull request #4153 from DSpace/dependabot/npm_and_yarn/dspace-7_x/isbot-5.1.26
Bump isbot from 5.1.25 to 5.1.26
2025-04-15 09:51:13 -05:00
Tim Donohue
fdc23a3350 Merge pull request #4028 from DSpace/dependabot/npm_and_yarn/dspace-7_x/rxjs-7.8.2
Bump rxjs from 7.8.1 to 7.8.2
2025-04-15 09:49:12 -05:00
Tim Donohue
c4104be75b Add additional automated SSR tests for Community, Collection, Publication/Item, Person, OrgUnit and all Journal entities 2025-04-15 09:36:33 -05:00
Jesiel Viana
5bdf0974fc Adding tooltips to indicate functionality of buttons when switching views of search results 2025-04-15 10:03:49 -03:00
dependabot[bot]
08a707477c Bump rxjs from 7.8.1 to 7.8.2
Bumps [rxjs](https://github.com/reactivex/rxjs) from 7.8.1 to 7.8.2.
- [Release notes](https://github.com/reactivex/rxjs/releases)
- [Changelog](https://github.com/ReactiveX/rxjs/blob/7.8.2/CHANGELOG.md)
- [Commits](https://github.com/reactivex/rxjs/compare/7.8.1...7.8.2)

---
updated-dependencies:
- dependency-name: rxjs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-15 10:05:42 +00:00
Zahraa Chreim
7864909466 127047: Fix selector of SubmissionSectionContainerComponent in custom theme 2025-04-15 12:03:25 +03:00
kshepherd
d3130bd433 Merge pull request #4189 from tdonohue/more_automated_ssr_tests
Add additional automated server-side rendering (SSR) tests for all Entity Types
2025-04-15 10:31:54 +02:00
Alan Orth
fd9d899574 src/assets/i18n: adjust English capitalization
We don't need to be capitalizing "Community" and "Collection" in
the user interface unless they are at the beginning of a sentence
or in a title, header, or bread crumb. They are not proper nouns
and they look out of place when capitalized.
2025-04-15 10:53:00 +03:00
Tim Donohue
42c52d619b Add additional automated SSR tests for Community, Collection, Publication/Item, Person, OrgUnit and all Journal entities 2025-04-14 14:37:49 -05:00
Tim Donohue
d4efd6a8ef Merge pull request #4176 from DSpace/backport-4143-to-dspace-7_x
[Port dspace-7_x] Fix pagination on the "Select bitstreams" modal of the "Access Control" tab
2025-04-14 11:33:04 -05:00
dependabot[bot]
04516fad5a Bump postcss from 8.5.1 to 8.5.3 in the postcss group across 1 directory
Bumps the postcss group with 1 update in the / directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.5.1 to 8.5.3
- [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.5.1...8.5.3)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:16:07 +00:00
dependabot[bot]
ef57754e6d Bump isbot from 5.1.25 to 5.1.26
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.25 to 5.1.26.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.25...v5.1.26)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-14 03:02:45 +00:00
Tim Donohue
0989e28c38 Merge pull request #4158 from DSpace/dependabot/npm_and_yarn/eslint-7904436953
Bump eslint-plugin-jsonc from 2.19.1 to 2.20.0 in the eslint group
2025-04-11 17:13:32 -05:00
Tim Donohue
051828ca74 Merge pull request #4159 from DSpace/dependabot/npm_and_yarn/webpack-0542bd02c8
Bump webpack from 5.98.0 to 5.99.5 in the webpack group
2025-04-11 15:02:17 -05:00
Tim Donohue
119a5dc5aa Merge pull request #4157 from DSpace/dependabot/npm_and_yarn/angular-177e8f1518
Bump the angular group with 3 updates
2025-04-11 15:01:39 -05:00
Tim Donohue
28eb709ef5 Merge pull request #4169 from atmire/w29-129641_fix-export-button_contribute-7_x
[Port dspace-7_x] Fix export button enabled in bulk access management without selecting step 2
2025-04-11 14:45:08 -05:00
Tim Donohue
5e5c2ab6dd Merge pull request #4168 from atmire/fix-export-button_contribute-main
Fix export button enabled in bulk access management without selecting step 2
2025-04-11 14:43:25 -05:00
Nona Luypaert
cc202b7adb 130081: Fix pagination on 'Select bistreams' modal on 'Access Control' tab
(cherry picked from commit c03bbb01a2)
2025-04-11 18:55:22 +00:00
Tim Donohue
46831cb9e8 Merge pull request #4143 from atmire/w2p-130081_access-control-bitstreams-pagination-fix-main
Fix pagination on the "Select bitstreams" modal of the "Access Control" tab
2025-04-11 13:55:05 -05:00
Tim Donohue
956ed427e6 Merge pull request #4174 from atmire/fix-orejime-required-cookies
Fix issue where required cookies are removed by orejime
2025-04-11 12:31:51 -05:00
Tim Donohue
4d929dd3ac Merge pull request #4175 from saschaszott/saschaszott-patch-13
trivial change: fixed typo in description of trackSearch method
2025-04-11 11:32:42 -05:00
Tim Donohue
f5df726a18 Merge pull request #4121 from arvoConsultores/DS-4097
Store the state of the computed filters
2025-04-11 11:28:51 -05:00
Tim Donohue
201d8db167 Merge pull request #4160 from arvoConsultores/DS-4097-main
[Port main] Store the state of the computed filters
2025-04-11 11:26:32 -05:00
Sascha Szott
a31ef383d9 fixed typo 2025-04-11 17:39:40 +02:00
Art Lowel
7b88ac84a5 fix issue where orejime would delete required cookies before the user clicks accept in the popup 2025-04-11 17:15:18 +02:00
Tim Donohue
077467efa2 Merge pull request #4111 from DSpace/dependabot/npm_and_yarn/dspace-7_x/axios-1.8.4
Bump axios from 1.7.9 to 1.8.4
2025-04-11 06:53:08 -05:00
abhinav
4b3b660354 Fix export button enabled in bulk access management without selecting step 2 2025-04-11 12:09:10 +02:00
Sergio Fernández Celorio
dc3e842747 No need to subscribe anymore to the router events 2025-04-11 11:39:41 +02:00
Tim Donohue
0ff8ce9c25 Merge pull request #4109 from DSpace/dependabot/npm_and_yarn/axios-1.8.4
Bump axios from 1.8.1 to 1.8.4
2025-04-10 17:15:20 -05:00
dependabot[bot]
828648aa7e Bump axios from 1.7.9 to 1.8.4
Bumps [axios](https://github.com/axios/axios) from 1.7.9 to 1.8.4.
- [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/v1.7.9...v1.8.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 21:56:43 +00:00
Tim Donohue
7063c49072 Merge pull request #4065 from DSpace/dependabot/npm_and_yarn/dspace-7_x/testing-64070fe020
Bump the testing group with 2 updates
2025-04-10 16:53:53 -05:00
Tim Donohue
b7a130c8c2 Merge pull request #4164 from atmire/edit-bitstream-word-wrap
Wrap long bitstream filenames
2025-04-10 16:37:50 -05:00
Tim Donohue
42b567fd65 Merge pull request #4163 from atmire/sync-i18n-files
Ensure all i18n files are up to date with the english version
2025-04-10 15:22:49 -05:00
dependabot[bot]
036fd1c871 Bump the testing group with 2 updates
Bumps the testing group with 2 updates: [axe-core](https://github.com/dequelabs/axe-core) and [ng-mocks](https://github.com/help-me-mom/ng-mocks).


Updates `axe-core` from 4.10.2 to 4.10.3
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/v4.10.3/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.10.2...v4.10.3)

Updates `ng-mocks` from 14.13.2 to 14.13.3
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.13.2...v14.13.3)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
- dependency-name: ng-mocks
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 19:27:52 +00:00
Tim Donohue
22db6745b8 Merge pull request #4148 from DSpace/dependabot/npm_and_yarn/dspace-7_x/eslint-7904436953
Bump eslint-plugin-jsonc from 2.19.1 to 2.20.0 in the eslint group
2025-04-10 10:55:12 -05:00
Sergio Fernández Celorio
4f42c1e95f Use take instead unsubscribe 2025-04-10 17:34:36 +02:00
Sergio Fernández Celorio
c90008e3c2 Use take instead unsubscribing the observable 2025-04-10 17:27:26 +02:00
Art Lowel
3fb8ec8860 ensure very long filenames wrap on the edit bitstream page and the edit bitstream tab on edit item 2025-04-10 16:44:51 +02:00
Art Lowel
d0b4dacf89 ran npm run sync-i18n to ensure all i18n files are up to date with the english version 2025-04-10 16:14:43 +02:00
Sergio Fernández Celorio
6075317c88 Lint errors fixed 2025-04-10 14:27:44 +02:00
kshepherd
291db026c5 Merge pull request #4161 from atmire/only-import-altcha-on-the-browser
Fix ssr error by only importing altcha on the client side
2025-04-10 13:23:12 +02:00
Art Lowel
b8fdf46340 fix ssr error by only importing altcha on the client side 2025-04-10 11:29:18 +02:00
Sergio Fernández Celorio
865e5216c1 [Port dspace-8_x] Store the state of the computed filters 2025-04-10 11:04:03 +02:00
dependabot[bot]
aa36e5f0e1 Bump webpack from 5.98.0 to 5.99.5 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.98.0 to 5.99.5
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.98.0...v5.99.5)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.99.5
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 23:16:19 +00:00
dependabot[bot]
45a3c11dfc Bump eslint-plugin-jsonc from 2.19.1 to 2.20.0 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.19.1 to 2.20.0
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.19.1...v2.20.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-version: 2.20.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 23:15:16 +00:00
dependabot[bot]
d814a4b6d7 Bump the angular group with 3 updates
Bumps the angular group with 3 updates: [@angular/ssr](https://github.com/angular/angular-cli), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli).


Updates `@angular/ssr` from 18.2.17 to 18.2.18
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.17...18.2.18)

Updates `@angular-devkit/build-angular` from 18.2.17 to 18.2.18
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.17...18.2.18)

Updates `@angular/cli` from 18.2.17 to 18.2.18
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.17...18.2.18)

---
updated-dependencies:
- dependency-name: "@angular/ssr"
  dependency-version: 18.2.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-devkit/build-angular"
  dependency-version: 18.2.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/cli"
  dependency-version: 18.2.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 23:14:24 +00:00
dependabot[bot]
b37a7a1456 Bump isbot from 5.1.25 to 5.1.26
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.25 to 5.1.26.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.25...v5.1.26)

---
updated-dependencies:
- dependency-name: isbot
  dependency-version: 5.1.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 22:27:19 +00:00
dependabot[bot]
33146603df Bump eslint-plugin-jsonc from 2.19.1 to 2.20.0 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.19.1 to 2.20.0
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.19.1...v2.20.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-version: 2.20.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 22:26:28 +00:00
Tim Donohue
d3a97d9d15 Merge pull request #4007 from DSpace/dependabot/npm_and_yarn/dspace-7_x/compression-1.8.0
Bump compression from 1.7.5 to 1.8.0
2025-04-09 17:16:35 -05:00
Tim Donohue
40a313f1a7 Merge pull request #4131 from DSpace/dependabot/npm_and_yarn/ngtools/webpack-18.2.17
Bump @ngtools/webpack from 18.2.14 to 18.2.17
2025-04-09 17:00:19 -05:00
Tim Donohue
2a1c762e73 Merge pull request #4049 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/lodash-4.17.16
Bump @types/lodash from 4.17.15 to 4.17.16
2025-04-09 16:49:42 -05:00
Tim Donohue
7795d96d53 Merge pull request #4098 from alanorth/update-es-deps
Update dependencies to use versions supporting ES modules
2025-04-09 16:48:38 -05:00
Tim Donohue
318a2fe02a Merge pull request #4086 from DSpace/dependabot/npm_and_yarn/testing-dc0c2e70dc
Bump ng-mocks from 14.13.2 to 14.13.4 in the testing group across 1 directory
2025-04-09 16:33:14 -05:00
Tim Donohue
c94279edc0 Merge pull request #4051 from DSpace/dependabot/npm_and_yarn/dspace-7_x/core-js-3.41.0
Bump core-js from 3.40.0 to 3.41.0
2025-04-09 16:31:36 -05:00
Tim Donohue
b21e307af2 Merge pull request #4063 from DSpace/dependabot/npm_and_yarn/core-js-3.41.0
Bump core-js from 3.40.0 to 3.41.0
2025-04-09 16:30:28 -05:00
Tim Donohue
878b2dba4a Merge pull request #4050 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-b0ce3413d9
Bump sass from 1.84.0 to 1.85.1 in the sass group across 1 directory
2025-04-09 16:16:14 -05:00
Tim Donohue
f77c16ebee Merge pull request #4043 from DSpace/dependabot/npm_and_yarn/sass-b0ce3413d9
Bump sass from 1.84.0 to 1.85.1 in the sass group across 1 directory
2025-04-09 16:14:51 -05:00
dependabot[bot]
19f78f5709 Bump @ngtools/webpack from 18.2.14 to 18.2.17
Bumps [@ngtools/webpack](https://github.com/angular/angular-cli) from 18.2.14 to 18.2.17.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.14...18.2.17)

---
updated-dependencies:
- dependency-name: "@ngtools/webpack"
  dependency-version: 18.2.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-09 20:26:10 +00:00
Tim Donohue
e8a9770b6e Merge pull request #4011 from DSpace/dependabot/npm_and_yarn/webpack-a5e48b3f33
Bump webpack from 5.97.1 to 5.98.0 in the webpack group
2025-04-09 15:14:46 -05:00
Tim Donohue
6b562f06ea Merge pull request #4087 from DSpace/dependabot/npm_and_yarn/angular-8f611e3656
Bump the angular group with 3 updates
2025-04-09 15:13:16 -05:00
Tim Donohue
d6261e43ea Merge pull request #4138 from alexandrevryghem/w2p-130080_fix-missing-dso-buttons-on-comcol-page_contribute-7.6
Added the DSO menus back to the comcol search tabs
2025-04-09 14:17:41 -05:00
Tim Donohue
4887a2848d Merge pull request #4136 from atmire/w2p-127705_cleanup-input-form-spacing_contribute-main
Clean up spacing in input forms
2025-04-09 13:46:01 -05:00
Tim Donohue
b44f2a9c40 Merge pull request #4110 from DSpace/dependabot/npm_and_yarn/isbot-5.1.25
Bump isbot from 5.1.23 to 5.1.25
2025-04-09 12:31:28 -05:00
Tim Donohue
2eca99379f Merge pull request #4112 from DSpace/dependabot/npm_and_yarn/dspace-7_x/isbot-5.1.25
Bump isbot from 5.1.22 to 5.1.25
2025-04-09 12:30:57 -05:00
Tim Donohue
57a62b0017 Merge pull request #4075 from pilasou/pilasou-translations-fr
Adding missing french labels
2025-04-09 09:34:36 -05:00
Pierre Lasou
c2b702427c Fix lint errors 2025-04-09 08:40:35 -04:00
Nona Luypaert
8f52250beb Merge remote-tracking branch 'contributions/w2p-130081_access-control-bitstreams-pagination-fix-7.6' into w2p-130081_access-control-bitstreams-pagination-fix-main
Conflicts:
	src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.html
	src/app/shared/access-control-form-container/item-access-control-select-bitstreams-modal/item-access-control-select-bitstreams-modal.component.ts
2025-04-09 14:24:11 +02:00
Nona Luypaert
c03bbb01a2 130081: Fix pagination on 'Select bistreams' modal on 'Access Control' tab 2025-04-09 12:03:11 +02:00
Alexandre Vryghem
832b5b1328 130080: Added the DSO menus back to the search tab 2025-04-09 00:37:05 +02:00
Tim Donohue
bd4c6d6dfa Merge pull request #4134 from the-library-code/request-a-copy-preview-link-bugfix
Request-a-copy: Show correct preview link
2025-04-08 11:34:59 -05:00
Joran De Braekeleer
6212e3fbfc Merge branch 'w2p-127705_cleanup-input-form-spacing' into w2p-127705_cleanup-input-form-spacing_contribute-main 2025-04-08 09:36:07 +02:00
Kim Shepherd
9c9bff17be Request-a-copy: Show correct preview link
Preview link was showing old URL path
in grant access form
2025-04-07 15:13:42 +02:00
lotte
8a4405c473 Merge branch 'backport-4099-duplicate-view-events-7.6' into 4099-duplicate-view-events_contibute-7.6.3 2025-04-07 10:43:09 +02:00
dependabot[bot]
ce35ca2dfd Bump webpack from 5.97.1 to 5.98.0 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.97.1 to 5.98.0
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.97.1...v5.98.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:17:19 +00:00
dependabot[bot]
5bcb9c43e1 Bump ng-mocks in the testing group across 1 directory
Bumps the testing group with 1 update in the / directory: [ng-mocks](https://github.com/help-me-mom/ng-mocks).


Updates `ng-mocks` from 14.13.2 to 14.13.4
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.13.2...v14.13.4)

---
updated-dependencies:
- dependency-name: ng-mocks
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:15:07 +00:00
dependabot[bot]
5a0e09a0eb Bump sass from 1.84.0 to 1.85.1 in the sass group across 1 directory
Bumps the sass group with 1 update in the / directory: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.84.0 to 1.85.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.84.0...1.85.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:07:47 +00:00
dependabot[bot]
0d2e49b12c Bump sass from 1.84.0 to 1.85.1 in the sass group across 1 directory
Bumps the sass group with 1 update in the / directory: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.84.0 to 1.85.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.84.0...1.85.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:06:35 +00:00
dependabot[bot]
b7ebd0247f Bump the angular group with 3 updates
Bumps the angular group with 3 updates: [@angular/ssr](https://github.com/angular/angular-cli), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli).


Updates `@angular/ssr` from 18.2.14 to 18.2.15
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.14...18.2.15)

Updates `@angular-devkit/build-angular` from 18.2.14 to 18.2.15
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.14...18.2.15)

Updates `@angular/cli` from 18.2.14 to 18.2.15
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/18.2.14...18.2.15)

---
updated-dependencies:
- dependency-name: "@angular/ssr"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 03:04:51 +00:00
Tim Donohue
27e9e61619 Update version tag for development of next release 2025-04-04 14:09:49 -05:00
Tim Donohue
507ecdb1dd Update version tag for release 2025-04-04 13:59:59 -05:00
Tim Donohue
eb8a960ba6 Merge pull request #4129 from tdonohue/add_release_notes
Add note with link to Release Notes on homepage (for Testathon)
2025-04-04 11:39:58 -05:00
Tim Donohue
f4dbfc2f19 Add note with link to Release Notes on homepage 2025-04-04 11:01:01 -05:00
Tim Donohue
de44252a56 Merge pull request #4125 from 4Science/task/main/DURACOM-339
[DURACOM-339] fix downloads not working when matomo is disabled
2025-04-04 09:58:42 -05:00
lotte
edd5496a4d 129694: Fixed lint issues 2025-04-04 15:11:02 +02:00
Joran De Braekeleer
17d7912851 127705: Cleanup input form spacing 2025-04-04 14:30:18 +02:00
lotte
01becae7d0 129694: backported view tracker resolver 2025-04-04 13:31:49 +02:00
Zahraa Chreim
502597aadc 127047: Fix submission-edit.component.spec.ts 2025-04-04 13:20:01 +03:00
Tim Donohue
eef6bbe134 Merge pull request #3983 from atmire/no-platform-specific-code-in-abstract-services-7_x
No platform specific code in abstract services 7_x
2025-04-03 12:11:45 -05:00
Tim Donohue
57d5bb0359 Merge pull request #3981 from atmire/no-platform-specific-code-in-abstract-services-main
No platform specific code in abstract services main
2025-04-03 12:10:12 -05:00
Andrea Barbasso
3d36cd2e48 [DURACOM-339] fix downloads not working when matomo is disabled 2025-04-03 17:56:07 +02:00
lotte
ff5f23017a 129694: PoC #4099 solution with resolvers 2025-04-02 14:49:23 +02:00
Tim Donohue
c9654b268e Merge pull request #3994 from atmire/refactor-menu-resolvers-9.0
Refactor menu resolvers 9.0
2025-04-01 14:53:28 -05:00
Alan Orth
826ff3050b Use lodash-es instead of lodash
lodash-es supports ES modules.
2025-04-01 21:07:40 +03:00
Abel Gómez
e0393babc9 Retrieve configurable CC license fields from the back-end in DSpace 9.0 (#3165)
* Make the CC license field component configurable

* Retrieve the configuration values from the backend...

... rather than from a frontend configuration

* Remove unused imports

* Restore configurations other than uri and license fields

They were deleted by mistake

* Add missing example config

* Delete config properties that are no longer needed

* Fix lint issues

* Add missing injection token

* Fex minor changes

* Restore the Input properties that allow configuring the license URI and name fields from a template
* Update test cases using a stub configuration data service
* Fix lint issues

* Use optional chaining, in case the property is not exposed

* Reformat some code to ease code review

* Declare static constant at the beginning of the class

* Fix trailing spaces

* Initialize property in declaration

* Multiple changes

* Move all properties dependent of the CC URI field and CC name field to asyncs (since this configuration must be retrieved also asynchronously from the backend)
* Refactor the regex, and create a public static method (that may be used to externally check if a license is a CC license).
* Update test cases

* Move `ccLicense` inside the `item`configuration key

* Change `variant` to `position`

* Make variant property mandatory (since it should be set depending on where the field is placed)
* Finish moving the ccLicense config key into the item key
* Allow rendering only the icon

* Fix lint errors

* Fix lint errors

* Fix test cases to reflect new disclaimer behavior

* Fix missing comma

* Remove look & feel configuration options

* Remove unused import

* Don't subscribe multiple type to same asyncs

* Set type for non-initialiazed properties

* Refactor CC license function to a dedicated utility file

* Do not use manual subscribes

* Reorder imports

* Remove unused method

* Bugfix: check the right property
2025-04-01 09:53:23 -05:00
Yury Bondarenko
39bcaa0318 Update unit test for browse menu provider 2025-04-01 09:52:58 +02:00
Yury Bondarenko
bd0b75c315 Merge remote-tracking branch 'origin/main' into refactor-menu-resolvers-9.0 2025-04-01 09:42:32 +02:00
Alan Orth
a2690eb628 Update filesize.js dependency
Newer releases support ES modules. Also remove unneccessary eslint
skip hint.
2025-04-01 10:22:16 +03:00
dependabot[bot]
d804123b4e Bump axios from 1.8.1 to 1.8.4
Bumps [axios](https://github.com/axios/axios) from 1.8.1 to 1.8.4.
- [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/v1.8.1...v1.8.4)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 20:02:00 +00:00
Tim Donohue
ec6940afbe Merge pull request #3540 from kshepherd/geospatial-maps-main
Geospatial maps for item pages, search, browse
2025-03-31 14:59:53 -05:00
Yana De Pauw
b87380b07d Merge remote-tracking branch 'upstream/main' into refactor-menu-resolvers-9.0 2025-03-31 15:50:40 +02:00
Sergio Fernández Celorio
7dd6ab79ff Store the state of the computed filters 2025-03-31 09:14:32 +02:00
dependabot[bot]
ecc03343b7 Bump @babel/runtime from 7.26.7 to 7.27.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.7 to 7.27.0.
- [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.27.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 02:43:43 +00:00
Kim Shepherd
6f7f5450ca Geospatial maps: Better "no points" handling
* If no results for browse or search
  maps are available, zoom to 1 and
  show a i18n tooltip
* Added a missing i18n for point filter
* New default centre point added to
  configuration
2025-03-30 16:56:12 +02:00
Tim Donohue
9c23b4c9f9 Merge pull request #3164 from sistedes/config-default-comcol-tab
Make the default tab for browsing communities and collections configurable in DSpace 8
2025-03-28 13:41:01 -05:00
Kim Shepherd
0bd93ae1d9 Geospatial maps: Review feedback addressed
* Documentation of config
* Set bounding box to use dcterms.spatial by default
* Uncomment geospatial field and wrap in config test
* New config to 'enable' inclusion of geospatial field
* Docs for map and marker detail models
* Bounding box validation
* Fixed view mode control flow
* Tidied console output
2025-03-28 18:27:36 +01:00
Kim Shepherd
6fd36bd2b7 Geospatial maps: Test fixes
Including reverting a nice-to-have improvement
to 'hasNoContent' for field wrapper and non-text
content.
2025-03-28 18:27:36 +01:00
Kim Shepherd
d5c3f4dbe9 Geospatial maps: Remove unwanted deps from package-lock.json 2025-03-28 18:27:36 +01:00
Kim Shepherd
0c5c1e46b0 Geospatial maps: Swap out async() in tests 2025-03-28 18:27:36 +01:00
Kim Shepherd
6f6016a90d Geospatial maps: Review feedback 2025-03-28 18:27:36 +01:00
Kim Shepherd
1f760d882a Geospatial maps: Revert metadata-representation-list.component.ts changes
Note: Might interfere with some nice virtual authority compatibility
2025-03-28 18:27:36 +01:00
Kim Shepherd
d4dee96823 Geospatial maps: Angular control flow refactor 2025-03-28 18:27:36 +01:00
Kim Shepherd
0be836ad80 Geospatial maps: icon and browse page fix 2025-03-28 18:27:36 +01:00
Kim Shepherd
b6cdb7c6b1 Geospatial maps for item pages, search, browse 2025-03-28 18:27:35 +01:00
Yana De Pauw
a16ea97b53 Merge remote-tracking branch 'upstream/main' into refactor-menu-resolvers-9.0 2025-03-28 18:10:02 +01:00
Tim Donohue
8086c2242d Merge pull request #4018 from 4Science/task/main/CST-18964
Add support for Matomo
2025-03-28 11:46:05 -05:00
Andrea Barbasso
4ba9a4bf8f Merge remote-tracking branch 'lyrasis/main' into task/main/CST-18964
# Conflicts:
#	src/app/bitstream-page/bitstream-download-page/bitstream-download-page.component.ts
2025-03-28 16:59:51 +01:00
Tim Donohue
1e4864f45a Merge pull request #3722 from alexandrevryghem/w2p-119915_made-edit-metadata-tab-fields-dynamic_contribute-main
Made edit metadata tab fields dynamic and added entity type support
2025-03-28 10:17:12 -05:00
Tim Donohue
bb18278b2f Merge pull request #3984 from the-library-code/request-a-copy-secure-links_main
Request-a-copy improvements: Support access by secure link
2025-03-28 09:59:58 -05:00
Zahraa Chreim
2fc84783a5 127047: Fix submission-form.component.spec.ts 2025-03-28 15:49:37 +02:00
Yana De Pauw
dda32dd81a Implement community feedback p2 2025-03-28 14:46:14 +01:00
Zahraa Chreim
fa8ffaefd0 127047: Fix imports 2025-03-28 15:08:12 +02:00
Vincenzo Mecca
69472b27c7 [CST-18964] Restored matomo trackerUrl optional setting.
feat:
  - This configuration would be only used on the angular side, if not specified will use the backend default.
2025-03-28 11:50:53 +01:00
Yury Bondarenko
87624c7699 Fix access duration dropdown in custom theme 2025-03-28 11:48:48 +01:00
Kim Shepherd
e9cf183bbf Request-a-copy: Try to address theme compatibility of dropdown 2025-03-27 18:17:53 +01:00
Kim Shepherd
f070dee931 Request-a-copy: Error handling (review feedback)
* New accessExpired flag can be checked along with
  acceptRequest, so expired or not-granted links
  will show an error and draw 'normal' download links
  instead of doing a hard 4xx redirect
* Old ItemWithSupplementaryData component removed
* Notifications moved to sub-component of item page
  and display a warning on valid access token, or a
  danger alert if expired or not-granted, with an
  appropriate error message
* Date formatted in messages as yyyy-MM-dd
2025-03-27 18:17:53 +01:00
Yana De Pauw
51127dc513 Fix accessibility issue 2025-03-27 17:09:20 +01:00
Tim Donohue
11e02c9504 Merge pull request #3355 from 4Science/task/main/CST-15074
ORCID Login flow for private emails
2025-03-26 14:53:46 -05:00
Vincenzo Mecca
ab9cbea7c3 [CST-18964] Fixes empty trackerId for bitstream download feature 2025-03-26 20:23:21 +01:00
Kim Shepherd
58cee5fb2e Request-a-copy: Replace +1WEEK -> +7DAYS delta 2025-03-26 17:08:10 +01:00
Kim Shepherd
7671595665 Request-a-copy: Review feedback addressed
* ALTCHA updated to 0.9.0 and tested
* Alt text for fas-lock-open images
* Typedoc added
* Comments/TODOs removed
* Better expiry date display on notification panel
2025-03-26 17:08:10 +01:00
Kim Shepherd
d8fb9f1195 Request-a-copy: Test fixes 2025-03-26 17:08:10 +01:00
Kim Shepherd
a1e7d653f2 Request-a-copy: Unit tests 2025-03-26 17:08:08 +01:00
Kim Shepherd
1fff3b5b86 Request-a-copy: Changes to support access expiry as delta/date storage - psql max 2025-03-26 17:07:29 +01:00
Kim Shepherd
57b618ce34 Request-a-copy: Changes to support access expiry as delta/date storage 2025-03-26 17:07:29 +01:00
Kim Shepherd
16451807f9 Request-a-copy: Using route only in place of wrapper item 2025-03-26 17:07:28 +01:00
Kim Shepherd
80fafbf2e1 Request-a-copy: Angular flow control changes 2025-03-26 17:06:41 +01:00
Kim Shepherd
d1bcb9fb2e Request-a-copy: Use wrapped ItemWithSupp.. and base item comps, except download link 2025-03-26 17:06:41 +01:00
Kim Shepherd
58d0e7f513 Request-a-copy: Using a resolver to grab the RequestItem 2025-03-26 17:06:41 +01:00
Kim Shepherd
ce93b847d2 Request-a-copy: Code cleanup and comments 2025-03-26 17:06:41 +01:00
Kim Shepherd
c9c2a774ea Request-a-copy: Merge recaptcha headers to generic x-captcha-payload 2025-03-26 17:06:41 +01:00
Kim Shepherd
e928eab96b Request-a-copy improv: altcha fixes 2025-03-26 17:06:41 +01:00
Kim Shepherd
bff5662116 Request-a-copy improv: Add altcha dependency to package.json 2025-03-26 17:06:41 +01:00
Kim Shepherd
585347b1a2 Request-a-copy improv: English i18n 2025-03-26 17:06:41 +01:00
Kim Shepherd
e736bbb9ec Request-a-copy improv: Altcha recaptcha component and service 2025-03-26 17:06:41 +01:00
Kim Shepherd
0c58a5bf05 Request-a-copy: Refactor for angular control flow changes 2025-03-26 17:06:41 +01:00
Kim Shepherd
60bbcf3420 Request-a-copy improv: Changes to bitstream page to support tests 2025-03-26 17:06:41 +01:00
Kim Shepherd
0de6481c24 Request-a-copy improv: Routing and module changes 2025-03-26 17:06:41 +01:00
Kim Shepherd
4281267cb6 Request-a-copy improv: Secure item view comps 2025-03-26 17:06:41 +01:00
Kim Shepherd
f3bb7327dc Request-a-copy improv: Secure file section and download links 2025-03-26 17:06:41 +01:00
Kim Shepherd
aea41d74ec Request-a-copy improv: Secure media and image viewers 2025-03-26 17:06:41 +01:00
abhinav
fa6b8cc21d 129641: Fix Export button is enabled wrongly
This fixes the export button being enabled when the second step is not active in bulk access edit. The tests have been updated accordingly
2025-03-26 15:47:17 +01:00
Tim Donohue
5a53cc9738 Merge pull request #3882 from nibou230/2413-bitstream-access-status
Display the access status (embargo) for the bitstream
2025-03-26 09:43:04 -05:00
Ricardo Saraiva
cadd1520ee Update pt-PT.json5
Minor updates and addition missing translation strings.
2025-03-25 15:52:37 +00:00
Nicolas Boulay
0976147d07 Replaced the call findItemAccessStatusFor for a resolveLink 2025-03-25 10:55:55 -04:00
Nicolas Boulay
fe3ae0e8b4 Add an input to show/hide the badge on file component 2025-03-25 10:55:55 -04:00
Nicolas Boulay
2c6754a647 Improve the description of the bitsream showAccessStatuses configuration 2025-03-25 10:55:55 -04:00
Nicolas Boulay
96b596491e Add unit tests for the badge on bitstreams 2025-03-25 10:55:55 -04:00
Nicolas Boulay
de512610b4 Merge embargo badge with the existing access-status badge 2025-03-25 10:55:55 -04:00
Nicolas Boulay
61576e94d0 Insert the bitstream access status badge before the element and increase margins 2025-03-25 10:55:54 -04:00
Nicolas Boulay
d72bc0d1bb Remove findBitstreamAccessStatusFor and replace it with followLink('accessStatus') 2025-03-25 10:55:54 -04:00
Nicolas Boulay
5f83139fcd Adding the new embargo badge on the file download component
Fixed lint no-trailing-spaces
2025-03-25 10:55:21 -04:00
jeffmorin
5b7d246f68 CSV export for Filtered Items content report (#4071)
* CSV export for Filtered Items content report

* Fixed lint errors

* Fixed lint errors

* Fixed lint errors

* Make variables for CSV export null-proof

* Attempt to fix unit tests

* Fixed styling errors

* Fixed script references in unit tests

* Fixed typo in script name

* Fixed test parameterization

* Parameterization attempt

* Parameterization test

* Parameterization rollback

* Fixed predicate encoding bug

* Parameterization test

* Fixed styling error

* Fixed query predicate parameter

* Fixed collection parameterization

* Centralized string representation of a predicate

* Fixed parameterization

* Fixed second export test

* Replaced null payload by an empty non-null one

* Requested changes

* Fixed remaining bugs

* Updated Angular control flow syntax

* Improved collection parameter handling

* Fixed styling error

* Updated config.yml to match the central dspace-angular repo

* Removed repeated content

* Cleaned up a now useless import

* Fixed collections loading and added warning message about CSV export

* Fixed styling error

* Forgot to clean up old code

---------

Co-authored-by: Jean-François Morin <jean-francois.morin@bibl.ulaval.ca>
2025-03-25 09:49:46 -05:00
Art Lowel
93fff41b8d Merge remote-tracking branch 'upstream/main' into accessibility-settings-main 2025-03-25 10:11:08 +01:00
Tim Donohue
fd59ca8053 Merge pull request #4017 from 4Science/task/main/CST-18016
OpenAlex Integration
2025-03-24 17:05:28 -05:00
Vincenzo Mecca
e4e5255a46 [CST-18964] Fixes spec failure 2025-03-24 21:26:10 +01:00
Vincenzo Mecca
6bd4f04174 [CST-18964] PR review 2025-03-24 19:16:50 +01:00
dependabot[bot]
6c11621d91 Bump isbot from 5.1.22 to 5.1.25
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.22 to 5.1.25.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.22...v5.1.25)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 02:47:30 +00:00
dependabot[bot]
4039198a4a Bump isbot from 5.1.23 to 5.1.25
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.23 to 5.1.25.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.23...v5.1.25)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 02:18:30 +00:00
Vincenzo Mecca
1316540765 [CST-15074] Fixes cyclic dependency issue 2025-03-23 22:33:27 +01:00
Vincenzo Mecca
c1b951b18c Merge remote-tracking branch 'github/main' into task/main/CST-15074
# Conflicts:
#	src/assets/i18n/en.json5
2025-03-23 15:44:38 +01:00
Art Lowel
d3c0ef501c move intercepts to before the login, otherwise they're not always early enough 2025-03-22 11:32:17 +01:00
Art Lowel
33062214da click orejime popup accept after login 2025-03-21 17:54:23 +01:00
Andreas Awouters
99c5506d7d 119602: Move to control-flow syntax 2025-03-21 13:57:50 +01:00
Andreas Awouters
94dd8e7206 Merge remote-tracking branch 'dspace/main' into accessibility-settings-main
# Conflicts:
#	src/app/footer/footer.component.html
#	src/app/profile-page/profile-page.component.html
2025-03-21 13:03:30 +01:00
Ricardo Saraiva
88d59a2152 Merge branch 'main' into patch-4 2025-03-19 17:35:08 +00:00
Yana De Pauw
d6b674345f Implement feedback 2025-03-19 13:10:26 +01:00
Adamo
02516f2251 [CST-18016] Added OpenAlex Search by DOI label 2025-03-19 08:16:05 +01:00
Tim Donohue
a18e03d754 Merge pull request #3735 from amgciadev/fix-10053-b
#10053: Add support for PCI Endorsement workflow
2025-03-17 10:44:54 -05:00
Tim Donohue
d9c68d41bf Merge pull request #4038 from paulo-graca/translations/access_status_filter
Translations for access status filter
2025-03-17 09:29:25 -05:00
Alexandre Vryghem
41ac417543 119915: Added additional docs 2025-03-14 18:18:35 +01:00
Tim Donohue
3468ef689d Merge pull request #3980 from the-library-code/de_language_updates_main
Translation additions, fixes and updates for German message catalogue
2025-03-14 09:47:14 -05:00
Alan Orth
d65ff20777 Merge pull request #4077 from arvoConsultores/DS-4053
Filters disappeared on reload
2025-03-14 16:23:57 +03:00
Zahraa Chreim
da2c98aa32 Fix lint issues 2025-03-14 13:45:43 +02:00
Adamo
7929d8e419 [CST-18016] Added missin label. 2025-03-14 10:27:00 +01:00
Giuseppe Digilio
cfe16892ab [CST-18016] Add i18n labels 2025-03-14 09:25:23 +01:00
Abel Gómez
422a714935 Check the full URL rather than only the collection id to detect the default path 2025-03-14 01:01:52 +01:00
Abel Gómez
30b411285c Fix missing keys in language file 2025-03-14 00:18:38 +01:00
Abel Gómez
53562e5a3e Also load the default tab when navigating using the breadcrumbs 2025-03-14 00:07:26 +01:00
Abel Gómez
5d4006f753 Rework redirection using allOptions 2025-03-13 23:38:56 +01:00
Abel Gómez
262f758699 Simplify page redirection when the default route is used 2025-03-13 22:44:32 +01:00
Abel Gómez
c212b3dccd Add default route for when no page reaload is performed 2025-03-13 22:43:51 +01:00
Giuseppe Digilio
79c5d5a560 [CST-18016] Create a new page to list the suggestion sources 2025-03-13 20:47:47 +01:00
Abel Gómez
cdcd886a3a Merge remote-tracking branch 'upstream/main' into config-default-comcol-tab 2025-03-13 20:02:15 +01:00
Zahraa Chreim
681efd9f52 127047: Merge branch 'themed-SubmissionComponents_contribute-7.6' into 'themed-SubmissionComponents_contribute-main' 2025-03-13 16:17:38 +02:00
Giuseppe Digilio
2df409ca63 [CST-18016] Create suggestions folder to better organize the code relative to notifications functionalities 2025-03-13 13:41:53 +01:00
ana
c2528a9c1f Filters disappeared on reload 2025-03-13 09:51:17 +01:00
Yannick Paulsen
26f2b8c5b0 Typo corrections 2025-03-13 09:31:22 +01:00
Tim Donohue
b44b7a66c1 Merge pull request #4069 from tdonohue/fix_e2e_tests
Minor fixes to Cypress e2e tests
2025-03-12 16:33:43 -05:00
Vincenzo Mecca
d6776a8a1e [CST-15074][#3355] PR review 2025-03-12 20:15:57 +01:00
Giuseppe Digilio
117514bace [CST-18016] Create a new component to list the qa sources 2025-03-12 20:10:42 +01:00
Pierre Lasou
9b7ccd9dfe Adding missing french labels
Addition of french translations for Duplicate detection, ROR and Advanced search features.
2025-03-12 12:35:12 -04:00
Vincenzo Mecca
f2c5912dfa [CST-15074][#3355] Removes unused imports 2025-03-12 17:16:13 +01:00
Vincenzo Mecca
34726614f0 [CST-15074][#3355] Resolved conflicts and updated control-flow syntax 2025-03-12 17:08:07 +01:00
Vincenzo Mecca
0e56427789 Merge remote-tracking branch 'github/main' into task/main/CST-15074
# Conflicts:
#	src/app/shared/log-in/log-in.component.ts
#	src/themes/custom/app/shared/log-in/log-in.component.ts
2025-03-12 16:55:15 +01:00
Yana De Pauw
b009e0b640 Fix dropdown style issue 2025-03-12 16:27:04 +01:00
Yana De Pauw
fca8c6f418 Fix control-flow issues 2025-03-12 14:07:28 +01:00
Yana De Pauw
c53d7187c7 Merge remote-tracking branch 'upstream/main' into refactor-menu-resolvers-9.0 2025-03-12 12:42:34 +01:00
Ricardo Saraiva
ef8735e5a2 Update pt-PT.json5
Correction of trailing spaces.
2025-03-12 11:24:57 +00:00
Giuseppe Digilio
20df163444 Merge branch 'refs/heads/main' into task/main/CST-18016 2025-03-12 12:13:29 +01:00
Ricardo Saraiva
639bb3e558 Update pt-PT.json5
Revision of trailing spaces.
2025-03-12 11:09:35 +00:00
Ricardo Saraiva
a58456deab Update pt-PT.json5
Addition of missing pt_PT translation keys, improvements and minor revisions to existing translations.
2025-03-12 09:29:56 +00:00
Agustina Martinez
6467b60e65 Merge branch 'main' into fix-10053-b 2025-03-12 08:38:56 +00:00
Alexandre Vryghem
a947e8cbf6 Merge branch 'main' into w2p-119915_made-edit-metadata-tab-fields-dynamic_contribute-main
# Conflicts:
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-field-values/dso-edit-metadata-field-values.component.html
#	src/app/dso-shared/dso-edit-metadata/dso-edit-metadata-value/dso-edit-metadata-value.component.html
#	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.html
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.html
2025-03-11 21:11:13 +01:00
Tim Donohue
4b921a641c Merge pull request #4039 from tdonohue/date_fixes
System Wide Alerts should send countdown date to REST API in ISO-8601 format
2025-03-11 15:05:40 -05:00
Tim Donohue
15f39ea93e Merge pull request #3997 from 4Science/task/main/DURACOM-307
Migration to new Angular Control Flow syntax
2025-03-11 14:14:47 -05:00
Alexandre Vryghem
2eb34ee634 119915: Fixed bootstrap 5 issues
- Replaced the dropdown icon from DsoEditMetadataEntityFieldComponent from a triangle to an arrow again
- Fixed background color of scrollable select fields always being white, was the only field where this was hardcoded
- Added missing translate pipes on the aria-label attributes from the selectable dropdowns
2025-03-11 14:45:49 +01:00
Andrea Barbasso
601c6cd49d Merge remote-tracking branch 'lyrasis/main' into task/main/CST-18964
# Conflicts:
#	package-lock.json
#	package.json
2025-03-11 10:31:49 +01:00
Andrea Barbasso
923579e702 [CST-18964] fix double search 2025-03-11 10:22:34 +01:00
Tim Donohue
308f0751cf Fix issues in IDEs (especially VS Code) with recognizing Cypress Typescript files. 2025-03-10 14:23:05 -05:00
Tim Donohue
b6a507d2a2 Reenable accessibility test which is now fixed 2025-03-10 14:22:47 -05:00
FrancescoMolinaro
51c95de793 [DURACOM-307] apply migration script to conflicted files resolved in favor of Angular 18 update 2025-03-10 18:11:22 +01:00
FrancescoMolinaro
1aa9faeb2f [DURACOM-307] add eslint rule to enforce control flow 2025-03-10 17:40:58 +01:00
FrancescoMolinaro
b1eb4a8bf9 [DURACOM-307] fix tests 2025-03-10 17:40:56 +01:00
FrancescoMolinaro
dc70ec0ef0 [DURACOM-307] remove not migrated directives, clean up 2025-03-10 17:40:48 +01:00
FrancescoMolinaro
d1b9d4f692 [DURACOM-307] remove NgIf and NgFor imports 2025-03-10 17:40:33 +01:00
FrancescoMolinaro
c4696c9ba8 [DURACOM-307] fix lint 2025-03-10 17:40:12 +01:00
FrancescoMolinaro
069fd02517 [DURACOM-307] start migration and type fixing 2025-03-10 17:39:34 +01:00
Tim Donohue
b9e164de78 Merge pull request #3717 from atmire/w2p-120243_Upgrade-to-Angular-v18
Upgrade to angular v18
2025-03-10 11:24:59 -05:00
Alexandre Vryghem
432b6607c3 Merge branch 'main' into w2p-119915_made-edit-metadata-tab-fields-dynamic_contribute-main 2025-03-10 17:18:28 +01:00
Andreas Awouters
c90b05650a 120243: Disable 'aria-valid-attr-value' for community-list e2e test 2025-03-10 16:47:47 +01:00
Vincenzo Mecca
4d4fe529a5 [CST-15074][#3355] PR review 2025-03-10 16:39:23 +01:00
Tim Donohue
aca14117e7 Merge pull request #4061 from alexandrevryghem/restored-breadcrumbs-on-collection-pages_contribute-main
Restored breadcrumbs on collection pages
2025-03-10 09:09:50 -05:00
Vincenzo Mecca
b6fc9b5444 Merge remote-tracking branch 'github/task/main/CST-15074' into task/main/CST-15074 2025-03-10 11:38:14 +01:00
Vincenzo Mecca
af3c78cc50 [CST-15074][#3355] PR review 2025-03-10 10:21:50 +01:00
dependabot[bot]
6298724ea6 Bump core-js from 3.40.0 to 3.41.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.40.0 to 3.41.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.41.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 02:29:17 +00:00
Alexandre Vryghem
7d04084642 Restored breadcrumbs on collection pages 2025-03-10 00:27:03 +01:00
Vincenzo Mecca
9065f4f606 Merge branch 'main' into task/main/CST-15074 2025-03-07 21:23:23 +01:00
Vincenzo Mecca
f56b6856dd [CST-15074][#3355] PR review 2025-03-07 21:22:10 +01:00
Vincenzo Mecca
77b027a6c6 [CST-15074][#3355] PR review 2025-03-07 19:51:41 +01:00
Andreas Awouters
0567ea7a2d Merge remote-tracking branch 'dspace/main' into accessibility-settings-main
# Conflicts:
#	src/app/profile-page/profile-page.component.html
2025-03-07 13:45:37 +01:00
Andreas Awouters
3ad99804d1 Merge branch 'accessibility-settings-7.6' into accessibility-settings-7_x 2025-03-07 13:40:49 +01:00
Andreas Awouters
a2882b0644 119602: Set all cookies before e2e specs 2025-03-07 13:09:47 +01:00
Andreas Awouters
4cea196eb2 Revert "119602: Accept cookies in specs where cookie window covers other elements"
This reverts commit c9b2717344.
2025-03-07 13:09:22 +01:00
Andreas Awouters
082018d44d Merge branch 'accessibility-settings-7.6' into accessibility-settings-main
# Conflicts:
#	src/app/accessibility/accessibility-settings.service.ts
2025-03-07 13:04:25 +01:00
Andreas Awouters
122d31b11b 119602: Make KlaroService optional in AccSettingsService 2025-03-07 12:58:31 +01:00
Andreas Awouters
7ab598d571 119602: Reorder footer links 2025-03-07 10:03:57 +01:00
Andreas Awouters
bd06eded8c 119602: Fix small accessibility settings typo 2025-03-07 10:02:57 +01:00
Adamo
16eda4f186 [CST-18016] Updated labels. 2025-03-06 23:52:23 +01:00
Vincenzo Mecca
c2701c412c Merge remote-tracking branch 'origin/main' into task/main/CST-15074
# Conflicts:
#	src/assets/i18n/en.json5
2025-03-06 19:47:38 +01:00
Sascha Szott
e976ddb07c remove custom theme dependency in base component SuggestionListElementComponent (#4041)
* remove custom theme dependency

* remove custom theme component

* remove obsolete constructor

* fix lint error

* fix lint error
2025-03-06 10:28:12 -06:00
Tim Donohue
987e146209 Merge pull request #4035 from alanorth/citation-doi-tag
[Port main] Add citation_doi tag to head meta
2025-03-06 10:11:54 -06:00
Paulo Graça
e0e2e5affa removing trailing spaces 2025-03-06 15:40:39 +00:00
Paulo Graça
7fe155103a French translations for access_status filters 2025-03-06 15:29:14 +00:00
Sascha Szott
13ae42f217 reorganize imports 2025-03-06 14:59:41 +01:00
Yury Bondarenko
2ea32752bc Recreate lockfile 2025-03-06 14:57:52 +01:00
Yury Bondarenko
a3a2f259b2 Pin notistack v3.0.1 to avoid peer conflict with React 2025-03-06 14:57:44 +01:00
Sascha Szott
c835b215af add import 2025-03-06 14:43:41 +01:00
Sascha Szott
c0bfc3a739 apply spellCheck configuration to input model 2025-03-06 14:34:25 +01:00
Andreas Awouters
a0c9b3da91 120243: update @angular/cdk
(cherry picked from commit cd7bf4283a236ad0c899bcda5277e605ffa8ddcb)
2025-03-06 14:22:54 +01:00
Andreas Awouters
10dc73498a 120243: npm audit fix --force 2025-03-06 14:17:18 +01:00
Andreas Awouters
0f3a7ff902 120243: npm audit fix 2025-03-06 14:16:46 +01:00
Andreas Awouters
47d55ecd36 120243: Fix xsrf.interceptor tests 2025-03-06 14:16:46 +01:00
Andreas Awouters
1df73d6730 120243: Fix test without spec 2025-03-06 14:16:45 +01:00
Andreas Awouters
540cb86b2d 120243: Fix REST baseUrl in test environment 2025-03-06 14:16:45 +01:00
Andreas Awouters
8d02988da7 120243: Fix test compilation issues after upgrade 2025-03-06 14:16:45 +01:00
Andreas Awouters
2173f3956e 120243: Fix prod compilation issues after upgrade 2025-03-06 14:16:45 +01:00
Andreas Awouters
76e1a39208 120243: Fix dev compilation issues after upgrade 2025-03-06 14:16:45 +01:00
Andreas Awouters
d87b375a35 120243: Fix lint issues after upgrade 2025-03-06 14:16:45 +01:00
Andreas Awouters
ae32581d20 120243: Update overrides after upgrade 2025-03-06 14:16:45 +01:00
Andreas Awouters
c52c4542ce 120243: ng update @angular-builders/custom-webpack 2025-03-06 14:16:45 +01:00
Andreas Awouters
a0f6f4b0cc 120243: Remove @ngtools/webpack from overrides 2025-03-06 14:16:44 +01:00
Andreas Awouters
1ab022ad6c 120243: ng update @ngtools/webpack 2025-03-06 14:16:44 +01:00
Andreas Awouters
8150517f13 120243: ng update ngx-ui-switch 2025-03-06 14:16:44 +01:00
Andreas Awouters
99b3db365a 120243: ng update ngx-infinite-scroll 2025-03-06 14:16:27 +01:00
Andreas Awouters
e259cf4c13 120243: Remove ng2-file-upload from overrides 2025-03-06 14:16:27 +01:00
Andreas Awouters
8072d8f0f2 120243: ng update ng2-file-upload 2025-03-06 14:16:27 +01:00
Andreas Awouters
54e6471fa5 120243: ng update @ngrx-translate/core 2025-03-06 14:16:27 +01:00
Andreas Awouters
3a049da620 120243: ng update @ngrx/effects 2025-03-06 14:16:26 +01:00
Andreas Awouters
bb55534f2c 120243: Restore serve:ssr and build:ssr after upgrade 2025-03-06 14:16:06 +01:00
Andreas Awouters
5e7b066af1 120243: ng update @angular/core @angular/cli --force 2025-03-06 14:16:06 +01:00
Andreas Awouters
16eb620f4f 120243: ng update @angular-eslint/schematics 2025-03-06 14:15:48 +01:00
kshepherd
99840ba3bc Merge pull request #4034 from alanorth/7_x-citation-doi
Add citation_doi tag to head meta
2025-03-06 13:43:08 +01:00
Alan Orth
9db25ec2c8 Merge pull request #3957 from saschaszott/saschaszott-patch-9
fixed deprecated import of TransferState
2025-03-06 08:23:38 +03:00
Wout-atmire
e0240259ec Upgrade to Bootstrap 5 & realign themes (#3506)
* 117631: upgraded bootstrap, ng-bootstrap and installed popper.js

* 117631: SASS to CSS variables

* 117631: Bootstrap 4 to 5 html/css fixes

* 117631: Theming fixes after bootstrap upgrade

* 117631: More theming fixes: accordions, spacing, search components etc

* 117631: Fixed tests

* 117631: Fixed offset issues

* 117631: Fixed contrast ratio issue

* 117631: Fixed variables, removed unnecessary mapping, fixed tables, upgraded to Bootstrap 5.3.3

* 118113: vertical footer deviders

* 118113: remove button shadow

* 118113: old checkboxes

* 118113: Custom icons font-family

* 118113: accordion color

* 118113: table striped customizable background-color

* 118113: revert vertical deviders in footer bs-secondary change

* 118113: modal close button

* 118113: add w-100 to btn-block elements

* 118113: border radius

* 118113: The date selector on the submission page gets squished to the side of its label fix

* 118113: adding margins to dynamic-form-control-containers

* 118113: adding gaps between sections of item submission form

* 118113: icon font-family removed !important

* 118113: removed !important from #legend_dc_date_issued

* 118113: move --bs-border-radius to $bs-border-radius

* 118113: remove new SCSS variable

* 118113: reduce size for Item type labels

* 118113: date picker border - transparent

* 118113: drag-item-container elements on same line

* 118113: specific border color for ds-number-picker buttons

* Simplify variables & styles

* 118627: html files

* Fix new SCSS compile issues, remove yarn.lock

* 118627: remove footer button shadow

* 118627: custom login button radius

* 118627: success button - white text

* 118627: table alternate colors

* Fix ghostly Bootstrap version, again

* Override (ng-)bootstrap versions for @ng-dynamic-forms

* 118627: Feedback - fix login button radius

* 118627: Feedback - fix footer button shadows

* 118627: Feedback - login border radius use $bs-border-radius-lg + change to rem

* 118627: Tooltip issue

* 118627: Metadata white authority badge

* 118627: Align Back button

* 118627: Bitstreams under Item's Metadata issue fix

* 118627: select on edit collection page "arrow icon"

* 118627: fix alignment issues

* 118627: fix admin sidebar "Managment" label

* 118627: Feedback - login button

* 118627: Line above table heads

* 118627: Remove HMTL accordion expandable arrow

* 118627: bitstream table

* 118627: notification "close button"

* 118627: faint border/shadow around the expand buttons on hierarchical browse pages

* 118627: tooltip margin

* 118627: Bootstrap 5 changed the default gutter size to 24px

* 118627: custom-aligning -> custom-alignment

* 118627: lint-fix

* 118627: lint fix

* 118627: e2e Fix with new "btn-close"

* 118627: e2e Fix heading order for access-control-form-container

* 118627: access-control-form-container mr-4 to me-4

* 118627: update mr to me & ml to ms & pr to ps & pl to ps

* 118627: Access Control "Mode" radiobuttons under Text

* 118627: Item submission Publisher select icon positioning

* 118627: resolved merge conflict with main (and npm install)

* 118627: cherrypicking 3553 commits

* Remove unused angular-idle-preload

(cherry picked from commit fef5dd72b3)

* 118627: npm install - to fix package-lock.json

* 120594: hamberger menu not showing fix

* 120594: big logo header issue

* 120594: remove faint shadow

* 120594: btn-transparent class

* 120594: badge-* to bg-*

* 120594: add padding-right & -left for rounded-pill

* 120594: update test variables to fit the new bootstrap variables

* 120594: add missing rss conditions

* 120594: fix white badges

* 118627: remove shadow on number-picker

* 120594: revert white badge fix

* 120594: re-add dropdown-button in dynamic-lookup-relation-search-tab

* 120594: remove default radio button styling

* 120594: full width radio buttons

* 120594: edit collection page alignment

* 120594: bg -> bg-primary

* 120594: revert to old info color

* 120594: revert media breakpoints

* 120594: recover PR 3227 rss

* 120594: remove login & logout from PR

* 120594: ds-filter input & label gap

* 120594: ds-filter aligning rows

* 120594: remove navbar.module.ts

* 120594: remove item-edit-bitstream.component.html

* 120594: remove item-edit-bitstream-drag-handle.component.html

* 120594: Fix vocabulary-treeview styling

* 120594: Remove unused browse-by-metadata-page.component.html

* 120594: red invalid input label

* 120594: use old link color for number-picker: #1f7293

* 120594: move $theme-colors to sass override

* 120594: spacing for upload icon

* 120594: decrease media-breakpoint-down

* 120594: PR 3227 rss

* 120594: merge in main bootstrap variable mappings

* 120594: restore all mapped variable that have a value

* 120594: fix unset variable item-edit-bitstream-bundle.component.scss

* 120594: old tooltip color

* 120594: edit bitstream render text inline with the icon

* Revert "120594: merge in main bootstrap variable mappings"

This reverts commit 4e61b5fb

* 120594: add non-default mapped variables with references

* 120594: add docs in _bootstrap_variables_mapping.scss

* 120594: use bootstrap variables instead of hardcoded values

---------

Co-authored-by: lotte <lotte_hofstede@hotmail.com>
Co-authored-by: Yura Bondarenko <yura.bondarenko@atmire.com>
Co-authored-by: Yury Bondarenko <ybnd@tuta.io>
Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2025-03-05 12:15:51 -06:00
Yana De Pauw
4b3215412f Move server init menus after authentication is ready 2025-03-05 16:45:45 +01:00
Alan Orth
f28dc8bf72 src/app/core: remove unnecessary comment
Remove commented out this.setCitationDOITag() since it is not used
and we use camel case with this.setCitationDoiTag() now anyway.
2025-03-05 17:01:24 +03:00
Alan Orth
0251aaa3f8 src/app/core: add citation_doi tag to head meta
This is used by harvesters like Altmetric and was present in DSpace
version 6 and previous.
2025-03-05 17:01:23 +03:00
Alan Orth
204556de20 src/app/core: remove unnecessary comment
Remove commented out this.setCitationDOITag() since it is not used
and we use camel case with this.setCitationDoiTag() now anyway.
2025-03-05 16:40:14 +03:00
Alan Orth
8d7b4cd101 src/app/core: add citation_doi tag to head meta
This is used by harvesters like Altmetric and was present in DSpace
version 6 and previous.
2025-03-05 16:40:12 +03:00
Tim Donohue
b480317599 Merge pull request #2657 from alexandrevryghem/w2p-108608_created-search-scope-selector_contribute-main
Created new custom search scope context
2025-03-04 16:34:44 -06:00
Tim Donohue
fd7a18bfc5 Merge pull request #2937 from ray-lee/saml
Add support for SAML authentication.
2025-03-04 13:55:40 -06:00
Kristof De Langhe
261af2a2f5 126853: ThemedSubmissionFormComponent 2025-03-03 10:30:16 +01:00
dependabot[bot]
ac5c5c8a14 Bump core-js from 3.40.0 to 3.41.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.40.0 to 3.41.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.41.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 03:10:19 +00:00
dependabot[bot]
008fe0151b Bump @types/lodash from 4.17.15 to 4.17.16
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.15 to 4.17.16.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 03:10:07 +00:00
Tim Donohue
97312820d6 Merge pull request #3786 from uniba-ub/issue-9636
translation keys for datacite project import
2025-02-27 17:03:22 -06:00
Tim Donohue
47bd509e75 Merge pull request #3785 from uniba-ub/issue-9404-a
change searchFilter isOpenByDefault autoserialization
2025-02-27 13:26:06 -06:00
Agustina Martinez
8402aebde7 Change label quality-assurance.event.table.event.message.serviceUrl to generic "Actor" 2025-02-27 13:37:12 +00:00
Tim Donohue
0dbae112db Use toISOString instead of toUTCString, as ISO puts it in ISO-8601 format 2025-02-26 12:25:46 -06:00
Adamo
66d9c7079b [CST-18016] Updated labels. 2025-02-26 13:47:06 +01:00
Paulo Graça
33ca20fbec remove trailing spaces 2025-02-26 11:38:12 +00:00
Paulo Graça
f7d34899a4 remove Trailing spaces 2025-02-26 11:24:40 +00:00
Paulo Graça
649f64e6e6 remove trailing space 2025-02-26 11:17:45 +00:00
Paulo Graça
52d826eaf6 search.filters.access_status 2025-02-26 11:06:50 +00:00
Paulo Graça
ce30e58c67 search.filters.access_status 2025-02-26 11:05:51 +00:00
Paulo Graça
f456af7a51 Access Status Filter PT translations 2025-02-26 11:03:33 +00:00
Paulo Graça
967a761ac1 Access Status Filter EN translations 2025-02-26 10:57:24 +00:00
Andreas Awouters
c9b2717344 119602: Accept cookies in specs where cookie window covers other elements 2025-02-25 15:51:12 +01:00
Tim Donohue
52392ab719 Merge pull request #4020 from pilasou/pilasou-translations-fr
Changes to fr.json5 following version 8.1
2025-02-24 15:06:37 -06:00
Andreas Awouters
958b3b8c05 119602: Add new cookie setting to e2e tests 2025-02-24 10:14:49 +01:00
Pierre Lasou
0437ec4c3f Addtion to the fr.json5 following version 8.1
Adding and changing parameters after upgrading to 8.1.
2025-02-21 15:43:59 -05:00
Andreas Awouters
cdbfcc7cc4 119602: Fix tests after merge 2025-02-21 16:35:10 +01:00
Andrea Barbasso
0bab79bea4 [CST-18694] add TypeDoc comments 2025-02-21 16:22:13 +01:00
Andreas Awouters
112eb7b3ce Merge branch 'main' into accessibility-settings-main 2025-02-21 15:52:34 +01:00
Andreas Awouters
08fe940e70 Merge branch 'accessibility-settings-7.6' into accessibility-settings-main
# Conflicts:
#	src/app/accessibility/accessibility-settings.service.spec.ts
#	src/app/accessibility/accessibility-settings.service.ts
#	src/app/info/accessibility-settings/accessibility-settings.component.spec.ts
#	src/app/info/accessibility-settings/accessibility-settings.component.ts
#	src/app/shared/cookies/klaro-configuration.ts
#	src/assets/i18n/en.json5
2025-02-21 15:52:24 +01:00
Yana De Pauw
43e4f9de49 Fix e2e issues 2025-02-21 14:36:04 +01:00
Yana De Pauw
4a2158a178 Merge branch 'refactor-menu-resolvers-7.6' into refactor-menu-resolvers-9.0 2025-02-21 13:36:23 +01:00
Yana De Pauw
bb02acf13e Fix id related issues and add accessibility handle 2025-02-21 13:23:54 +01:00
Andreas Awouters
f8bcce43b5 119602: Fix tests after merge 2025-02-21 13:19:01 +01:00
Andreas Awouters
e75052bbcf Merge branch 'dspace-7_x' into accessibility-settings-7_x
# Conflicts:
#	config/config.example.yml
#	src/config/app-config.interface.ts
#	src/config/default-app-config.ts
#	src/environments/environment.test.ts
2025-02-21 13:01:18 +01:00
Andreas Awouters
3340192382 Merge branch 'accessibility-settings-7.6' into accessibility-settings-7_x 2025-02-21 12:58:42 +01:00
Andreas Awouters
dcd32c48c3 119602: Rework settings validation 2025-02-21 12:53:44 +01:00
Adamo
4235351d74 [CST-18016] Fix on themed-create-item-parent-selector.component.ts 2025-02-21 12:50:18 +01:00
Andreas Awouters
cd825ac0da 119602: Inject AppConfig instead of using environment directly 2025-02-21 10:51:30 +01:00
Andreas Awouters
ca80812d0a 119602: Add additional accessibility-settings.component test 2025-02-21 10:27:44 +01:00
Adamo
eeec2b536d [CST-18016] Lint fix 2025-02-21 10:27:09 +01:00
Adamo
b58dd32bff [CST-18016] Added label for live import 2025-02-21 10:16:17 +01:00
Andreas Awouters
4a74a3ac99 119602: Fix existing accessibility-settings.component tests 2025-02-21 10:10:35 +01:00
Andreas Awouters
62904747fc 119602: Add accessibility-settings.service tests for cookie functionality 2025-02-21 10:03:43 +01:00
Andreas Awouters
4c30e2d0be 119602: Fix existing accessibility-settings.service tests 2025-02-21 09:56:00 +01:00
Andreas Awouters
d05096c015 119602: Add KlaroServiceStub 2025-02-21 09:16:41 +01:00
Adamo
caa5b1e29a [CST-18016] Fix import suggestion 2025-02-20 19:51:22 +01:00
Kristof De Langhe
858ec87f2f 126853: Themeable SubmissionSectionContainerComponent and SubmissionFormFooterComponent 2025-02-20 14:14:03 +01:00
Yannick Paulsen
11f79a3e6b Translation corrections 2025-02-19 11:41:26 +01:00
Yana De Pauw
174d185de3 Merge branch 'refactor-menu-resolvers-7.6' into refactor-menu-resolvers-9.0 2025-02-18 15:19:46 +01:00
Yana De Pauw
8b9af3b04c Remove circulary dependency 2025-02-18 15:13:19 +01:00
Andreas Awouters
b837f63b7c 119602: Add 'Accessibility Settings' Klaro option & respect user choice 2025-02-18 10:22:59 +01:00
Andreas Awouters
e838873235 119602: Set default value as actual value instead of placeholder 2025-02-17 13:37:07 +01:00
Yana De Pauw
ea53111aa1 Remove circulary dependency 2025-02-17 12:57:47 +01:00
Yana De Pauw
59481abd7f Remove circulary dependency 2025-02-17 12:57:35 +01:00
dependabot[bot]
e9fa2812a0 Bump compression from 1.7.5 to 1.8.0
Bumps [compression](https://github.com/expressjs/compression) from 1.7.5 to 1.8.0.
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/compression/compare/1.7.5...1.8.0)

---
updated-dependencies:
- dependency-name: compression
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-17 02:52:11 +00:00
Tim Donohue
81ec674f38 Merge pull request #3995 from DSpace/backport-3673-to-main
[Port main] Update fr.json5
2025-02-14 14:49:39 -06:00
Tim Donohue
885c52ed34 Merge pull request #3996 from DSpace/backport-3673-to-dspace-7_x
[Port dspace-7_x] Update fr.json5
2025-02-14 14:49:32 -06:00
Carolyn Sullivan
9b0669f76c Update fr.json5
Ajouté les corrections faites par Pierre Lasou :)

(cherry picked from commit e32d9feaf5)
2025-02-14 16:29:44 +00:00
Carolyn Sullivan
3daa110116 Update fr.json5
Ajouté des traductions/noté quelques étiquettes sans traductions

(cherry picked from commit 477ca5e712)
2025-02-14 16:29:44 +00:00
Carolyn Sullivan
ead548f499 Update fr.json5
Ajouté les corrections faites par Pierre Lasou :)

(cherry picked from commit e32d9feaf5)
2025-02-14 16:29:39 +00:00
Carolyn Sullivan
5e0ae8a26e Update fr.json5
Ajouté des traductions/noté quelques étiquettes sans traductions

(cherry picked from commit 477ca5e712)
2025-02-14 16:29:39 +00:00
Tim Donohue
d9c6856d9c Merge pull request #3990 from DSpace/backport-3960-to-dspace-7_x
[Port dspace-7_x] Update fr.json5 to add identifiers deposit's step translations in french
2025-02-14 10:26:03 -06:00
Pierre Lasou
3372110839 Update fr.json5
(cherry picked from commit f721028d81)
2025-02-14 14:43:40 +00:00
Tim Donohue
3437ee8420 Merge pull request #3960 from pilasou/pilasou-translations-fr
Update fr.json5 to add identifiers deposit's step translations in french
2025-02-14 08:43:24 -06:00
Yana De Pauw
0fec5395ff Fix merge issues and tests
- Migrate create-report sections to a new provider
- Fix menu component test
- Add dso option sections to com/col sub paths
- Fix issue with breadcrumbs on the collection page
2025-02-14 13:11:15 +01:00
Yana De Pauw
c19af67009 Merge remote-tracking branch 'upstream/main' into refactor-menu-resolvers-9.0 2025-02-14 11:23:32 +01:00
Yana De Pauw
4b3d7e8ef7 Merge branch 'refactor-menu-resolvers-7.6' into refactor-menu-resolvers-9.0 2025-02-14 11:20:21 +01:00
Yana De Pauw
276452e4b9 Update DSO menu to also work for subpaths of the DSO and add missing messages 2025-02-14 11:08:47 +01:00
Yana De Pauw
2c49c04819 Merge branch 'refactor-menu-resolvers-7.6' into refactor-menu-resolvers-9.0 2025-02-13 16:12:05 +01:00
Yana De Pauw
f6263f86a4 Fix tests and issue with the getID methods 2025-02-13 15:57:02 +01:00
Andreas Awouters
3197ec911e Merge branch 'no-platform-specific-code-in-abstract-services-7.6' into no-platform-specific-code-in-abstract-services-main
# Conflicts:
#	src/app/core/auth/auth.service.ts
#	src/app/core/auth/server-auth.service.ts
#	src/app/core/services/cookie.service.ts
#	src/app/core/services/server-cookie.service.ts
2025-02-13 14:38:40 +01:00
Yannick Paulsen
41001f186b Translation additions, fixes and updates for German message catalogue
Made with results of the i18n-sync tool against en.json5
2025-02-13 14:38:17 +01:00
Andreas Awouters
ddd7c323ab Merge branch 'no-platform-specific-code-in-abstract-services-7.6' into no-platform-specific-code-in-abstract-services-7_x 2025-02-13 13:31:21 +01:00
Andreas Awouters
961bb11b59 125969: Fix auth service tests 2025-02-13 13:15:24 +01:00
Andreas Awouters
f82426b1dc 125969: Get rid of REQUEST and RESPONSE imports in AuthService 2025-02-13 13:15:24 +01:00
Andreas Awouters
8b90d999ac 125969: Move constructor to server-cookie.service
This makes it possible to remove the REQUEST import from
cookie.service.ts which solves a typescript issue.
2025-02-13 13:15:24 +01:00
Yannick Paulsen
51102e27a1 Translation additions, fixes and updates for German message catalogue
Made with results of the i18n-sync tool against en.json5

All non-conflicting diffs applied during rebase, and some translations
replaced (for review)
2025-02-12 15:33:36 +01:00
Tim Donohue
a01966ac44 Merge pull request #3976 from jeffmorin/main
Added missing line to enable access to Content Reports
2025-02-11 14:19:09 -06:00
Jean-François Morin
a33afbef2b Added missing line for Content Reports section 2025-02-11 14:03:00 -05:00
Andreas Awouters
80948d98f0 119602: Force minimum time out 2025-02-11 09:33:03 +01:00
Tim Donohue
6446a52e46 Merge pull request #3969 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-fd5fd03206
Bump sass from 1.83.4 to 1.84.0 in the sass group
2025-02-10 15:37:11 -06:00
Tim Donohue
446f681098 Merge pull request #3970 from DSpace/dependabot/npm_and_yarn/sass-fd5fd03206
Bump sass from 1.83.4 to 1.84.0 in the sass group
2025-02-10 15:36:13 -06:00
Tim Donohue
e58a66f849 Merge pull request #3904 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.26.7
Bump @babel/runtime from 7.26.0 to 7.26.7
2025-02-10 15:24:24 -06:00
Tim Donohue
d5ea6f563b Merge pull request #3906 from DSpace/dependabot/npm_and_yarn/babel/runtime-7.26.7
Bump @babel/runtime from 7.26.0 to 7.26.7
2025-02-10 15:23:47 -06:00
Tim Donohue
1167f8a414 Merge pull request #3903 from DSpace/dependabot/npm_and_yarn/dspace-7_x/eslint-82f73a5bca
Bump eslint-plugin-jsonc from 2.18.2 to 2.19.1 in the eslint group
2025-02-10 12:08:30 -06:00
Tim Donohue
bf20787a24 Merge pull request #3905 from DSpace/dependabot/npm_and_yarn/eslint-82f73a5bca
Bump eslint-plugin-jsonc from 2.18.2 to 2.19.1 in the eslint group
2025-02-10 12:08:07 -06:00
Tim Donohue
eee851f001 Merge pull request #3941 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/lodash-4.17.15
Bump @types/lodash from 4.17.14 to 4.17.15
2025-02-10 09:38:57 -06:00
Tim Donohue
da05c05bb8 Merge pull request #3938 from DSpace/dependabot/npm_and_yarn/types/lodash-4.17.15
Bump @types/lodash from 4.17.14 to 4.17.15
2025-02-10 09:38:20 -06:00
Tim Donohue
8933df4184 Merge pull request #3937 from DSpace/dependabot/npm_and_yarn/isbot-5.1.22
Bump isbot from 5.1.21 to 5.1.22
2025-02-10 09:36:56 -06:00
Tim Donohue
b18ff86894 Merge pull request #3942 from DSpace/dependabot/npm_and_yarn/dspace-7_x/isbot-5.1.22
Bump isbot from 5.1.21 to 5.1.22
2025-02-10 09:36:29 -06:00
Tim Donohue
e811083339 Merge pull request #3940 from DSpace/dependabot/npm_and_yarn/dspace-7_x/testing-206d00ed14
Bump cypress-axe from 1.5.0 to 1.6.0 in the testing group
2025-02-10 09:33:34 -06:00
Tim Donohue
d7c156fce9 Merge pull request #3936 from DSpace/dependabot/npm_and_yarn/testing-206d00ed14
Bump cypress-axe from 1.5.0 to 1.6.0 in the testing group
2025-02-10 09:33:10 -06:00
dependabot[bot]
7a4af88c0d Bump sass from 1.83.4 to 1.84.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.83.4 to 1.84.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.83.4...1.84.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 02:49:15 +00:00
dependabot[bot]
98d32bc7ad Bump cypress-axe from 1.5.0 to 1.6.0 in the testing group
Bumps the testing group with 1 update: [cypress-axe](https://github.com/component-driven/cypress-axe).


Updates `cypress-axe` from 1.5.0 to 1.6.0
- [Release notes](https://github.com/component-driven/cypress-axe/releases)
- [Commits](https://github.com/component-driven/cypress-axe/compare/v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: cypress-axe
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 02:48:29 +00:00
dependabot[bot]
5bf38231fa Bump eslint-plugin-jsonc from 2.18.2 to 2.19.1 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.18.2 to 2.19.1
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.18.2...v2.19.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 02:48:25 +00:00
dependabot[bot]
e0590109c1 Bump sass from 1.83.4 to 1.84.0 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.83.4 to 1.84.0
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.83.4...1.84.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 02:18:27 +00:00
dependabot[bot]
ed1aa37100 Bump cypress-axe from 1.5.0 to 1.6.0 in the testing group
Bumps the testing group with 1 update: [cypress-axe](https://github.com/component-driven/cypress-axe).


Updates `cypress-axe` from 1.5.0 to 1.6.0
- [Release notes](https://github.com/component-driven/cypress-axe/releases)
- [Commits](https://github.com/component-driven/cypress-axe/compare/v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: cypress-axe
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 02:18:04 +00:00
dependabot[bot]
601850cb6a Bump eslint-plugin-jsonc from 2.18.2 to 2.19.1 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.18.2 to 2.19.1
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.18.2...v2.19.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 02:18:00 +00:00
VictorDuranEscire
1e73fa626d Fix - Validate value on remove item for submission form only for qualdrop component 2025-02-07 21:12:03 -06:00
Tim Donohue
fc5a3843a8 Merge tag 'dspace-8.1' 2025-02-07 14:06:06 -06:00
Tim Donohue
4caa39bddb Merge tag 'dspace-7.6.3' 2025-02-07 14:05:18 -06:00
Tim Donohue
b9ff51d51c Update version tag for release 2025-02-07 12:18:51 -06:00
Yury Bondarenko
516dd99a26 Fix remaining lint issues 2025-02-07 18:31:01 +01:00
Tim Donohue
ebe26a7eb0 Update version tag for development of next release 2025-02-07 11:21:57 -06:00
Tim Donohue
6eb5eec050 Update version tag for release 2025-02-07 11:17:42 -06:00
Yury Bondarenko
3fecbc245b Fix tests pt. 1 2025-02-07 18:02:31 +01:00
Yury Bondarenko
fbffcca945 Resolve post-merge issues
- Menu providers weren't included because main configuration is no longer a module
- Route definitions didn't get merged because they're no longer modules
- Removed old resolver & service (they're providers now)
2025-02-07 18:02:31 +01:00
Tim Donohue
3ea3327448 Merge pull request #3967 from DSpace/backport-3966-to-dspace-8_x
[Port dspace-8_x] Move `enablePerformanceProfiler` option to last in list in `config.example.yml`
2025-02-07 09:37:06 -06:00
Tim Donohue
2108219711 Move performanceprofiler option to last in list
(cherry picked from commit a37bb6ade1)
2025-02-07 15:35:01 +00:00
Tim Donohue
f08823333f Merge pull request #3966 from tdonohue/fixup_example
Move `enablePerformanceProfiler` option to last in list in `config.example.yml`
2025-02-07 09:34:44 -06:00
Tim Donohue
1956e25a83 Merge pull request #3962 from 4Science/task/dspace-7_x/DURACOM-288
[Port dspace-7_x] Provide a setting to use a different REST url during SSR execution
2025-02-07 09:33:23 -06:00
Yury Bondarenko
87eee70b0a Merge remote-tracking branch 'contrib/refactor-menu-resolvers-7.6' into main_PR-menus 2025-02-07 16:15:57 +01:00
Andreas Awouters
59cb19ae80 119602: Restructure labels 2025-02-07 14:54:24 +01:00
Yury Bondarenko
3f7c42c51e Menu sections should be inactive by default
If an expandable section in the navbar is acive by default, it will expand whn the page loads
2025-02-07 13:46:24 +01:00
Giuseppe Digilio
2e28a51b02 [DURACOM-288] fix tests 2025-02-07 09:00:10 +01:00
Tim Donohue
7fab9633ea Merge pull request #3965 from tdonohue/port_2827_to_7x
[Port dspace-7_x] use translation service to determine placeholder values of date picker
2025-02-06 16:33:33 -06:00
Tim Donohue
96c2310b26 Merge pull request #3964 from tdonohue/port_2827_to_8x
[Port dspace-8_x] use translation service to determine placeholder values of date picker
2025-02-06 16:32:55 -06:00
Tim Donohue
a37bb6ade1 Move performanceprofiler option to last in list 2025-02-06 15:21:08 -06:00
Sascha Szott
7584b9e1c3 use translation service to determine placeholder values of date picker (#2827)
* use translation service to determine placeholder values

* added translation of date-picker placeholder values

* added German translations of date-picker placeholder values

* fix lint warning: added missing comma

* fix lint warning: removed trailing spaces

* fixed broken tests

* fixed lint warning

* try to mock TranslateService correctly

* remove TranslateService mock

* removed imports

* fixed lint warnings

* fixed lint warnings

* fixed lint warning

* fixed lint warning

* fixed lint error

* fixed lint errors

* removed TestComponent

* added imports

* removed declarations

* fixed lint error

* fix lint error (invalid sorting)

* finally fixing lint error

* use translation pipe directly in template

* move translation of placeholders into HTML template

* remove TranslateService dependency
2025-02-06 15:18:41 -06:00
Sascha Szott
c6deb2271d use translation service to determine placeholder values of date picker (#2827)
* use translation service to determine placeholder values

* added translation of date-picker placeholder values

* added German translations of date-picker placeholder values

* fix lint warning: added missing comma

* fix lint warning: removed trailing spaces

* fixed broken tests

* fixed lint warning

* try to mock TranslateService correctly

* remove TranslateService mock

* removed imports

* fixed lint warnings

* fixed lint warnings

* fixed lint warning

* fixed lint warning

* fixed lint error

* fixed lint errors

* removed TestComponent

* added imports

* removed declarations

* fixed lint error

* fix lint error (invalid sorting)

* finally fixing lint error

* use translation pipe directly in template

* move translation of placeholders into HTML template

* remove TranslateService dependency
2025-02-06 15:06:28 -06:00
Sascha Szott
be6de64fcd use translation service to determine placeholder values of date picker (#2827)
* use translation service to determine placeholder values

* added translation of date-picker placeholder values

* added German translations of date-picker placeholder values

* fix lint warning: added missing comma

* fix lint warning: removed trailing spaces

* fixed broken tests

* fixed lint warning

* try to mock TranslateService correctly

* remove TranslateService mock

* removed imports

* fixed lint warnings

* fixed lint warnings

* fixed lint warning

* fixed lint warning

* fixed lint error

* fixed lint errors

* removed TestComponent

* added imports

* removed declarations

* fixed lint error

* fix lint error (invalid sorting)

* finally fixing lint error

* use translation pipe directly in template

* move translation of placeholders into HTML template

* remove TranslateService dependency
2025-02-06 15:05:36 -06:00
Tim Donohue
8184acc480 Merge pull request #3797 from toniprieto/translate-ca-9x
Update catalan translation
2025-02-06 10:49:00 -06:00
Vincenzo Mecca
7660dd8d95 [DURACOM-288] Fixes undefined request in thumbnail 2025-02-06 17:27:54 +01:00
Giuseppe Digilio
6f4c3860a3 [DURACOM-288] Add convention SSR REST environment variable 2025-02-06 17:27:39 +01:00
Giuseppe Digilio
d73885137a [DURACOM-288] Change properties description 2025-02-06 17:27:27 +01:00
Giuseppe Digilio
290c24b448 [DURACOM-288] Enable URL replacement by default 2025-02-06 17:26:41 +01:00
Giuseppe Digilio
21dac408ee [DURACOM-288] Add unit test to test SSR url replace 2025-02-06 17:26:30 +01:00
Giuseppe Digilio
d118496075 [DURACOM-288] Add missing settings to config.example.yml 2025-02-06 17:26:16 +01:00
Giuseppe Digilio
cb5deb644e [DURACOM-288] Refactoring configuration to transfer state 2025-02-06 17:25:26 +01:00
Yury Bondarenko
f9d8e4e0b7 Add configuration to toggle replace/transfer 2025-02-06 17:19:44 +01:00
Giuseppe Digilio
a3ffda3bf8 [DURACOM-288] Additional test for thumbnail component 2025-02-06 17:18:28 +01:00
Giuseppe Digilio
8ca668159e [DURACOM-288] Provide a setting to use a different REST url during SSR execution
# Conflicts:
#	src/app/app.config.ts
#	src/app/core/services/server-hard-redirect.service.spec.ts
#	src/app/core/services/server-hard-redirect.service.ts
#	src/app/thumbnail/thumbnail.component.ts
#	src/modules/app/browser-init.service.ts
#	src/modules/app/server-init.service.ts
2025-02-06 17:15:42 +01:00
Tim Donohue
59e6c4abf5 Merge pull request #3953 from 4Science/task/dspace-8_x/DURACOM-288
[Port dspace-8_x] Provide a setting to use a different REST url during SSR execution
2025-02-06 10:12:07 -06:00
Tim Donohue
3d6af1f8c0 Merge pull request #3358 from 4Science/task/main/DURACOM-288
Provide a setting to use a different REST url during SSR execution
2025-02-06 10:07:17 -06:00
Tim Donohue
173f1d4335 Merge pull request #3959 from DSpace/backport-3955-to-dspace-8_x
[Port dspace-8_x] Synchronized standalone imports in custom theme
2025-02-05 15:54:48 -06:00
Pierre Lasou
f721028d81 Update fr.json5 2025-02-05 16:19:49 -05:00
Alexandre Vryghem
b504af6f19 126015: Sync standalone imports in custom theme
(cherry picked from commit fddc4936e8)
2025-02-05 21:00:49 +00:00
Tim Donohue
542e2db930 Merge pull request #3955 from alexandrevryghem/w2p-126015_synchronize-standalone-imports-main
Synchronized standalone imports in custom theme
2025-02-05 15:00:32 -06:00
Sascha Szott
4d85639f31 fixed deprecated import of TransferState 2025-02-05 17:38:57 +01:00
Andrea Barbasso
fd2120904c [CST-18964] add tests 2025-02-05 17:05:18 +01:00
Andrea Barbasso
2225c2e428 [CST-18964] add matomo integration 2025-02-05 12:13:47 +01:00
Alexandre Vryghem
fddc4936e8 126015: Sync standalone imports in custom theme 2025-02-05 10:44:33 +01:00
Tim Donohue
677c77e9ee Merge pull request #3954 from DSpace/backport-3948-to-dspace-8_x
[Port dspace-8_x] Avoid retrieving user suggestions if Researcher profiles are disabled
2025-02-04 14:55:26 -06:00
Toni Prieto
402cb7e031 Avoid retrieving user suggestions if Researcher profiles are disabled
(cherry picked from commit 72919cd867)
2025-02-04 20:09:43 +00:00
Tim Donohue
0649342658 Merge pull request #3948 from toniprieto/avoid-retrieve-suggestions-if-disabled
Avoid retrieving user suggestions if Researcher profiles are disabled
2025-02-04 14:09:26 -06:00
Vincenzo Mecca
4b61ba4d86 [DURACOM-288] Fixes undefined request in thumbnail 2025-02-04 17:58:16 +01:00
Giuseppe Digilio
e6dbfe4b1b [DURACOM-288] Add convention SSR REST environment variable 2025-02-04 17:54:22 +01:00
Giuseppe Digilio
f3534537ea [DURACOM-288] Change properties description 2025-02-04 17:54:18 +01:00
Giuseppe Digilio
d52a09406d [DURACOM-288] Enable URL replacement by default 2025-02-04 17:53:47 +01:00
Giuseppe Digilio
deb752c06e [DURACOM-288] Add unit test to test SSR url replace 2025-02-04 17:53:18 +01:00
Giuseppe Digilio
9bf1fbd219 [DURACOM-288] Add missing settings to config.example.yml 2025-02-04 17:53:12 +01:00
Giuseppe Digilio
1a3fe013bb [DURACOM-288] Refactoring configuration to transfer state 2025-02-04 17:53:05 +01:00
Yury Bondarenko
a78a910718 Add configuration to toggle replace/transfer 2025-02-04 17:51:56 +01:00
Giuseppe Digilio
31ed56936c [DURACOM-288] Additional test for thumbnail component 2025-02-04 17:51:52 +01:00
Giuseppe Digilio
8562ddb14b [DURACOM-288] Provide a setting to use a different REST url during SSR execution 2025-02-04 17:51:48 +01:00
Giuseppe Digilio
7acf79370b Merge branch 'main' into task/main/DURACOM-288
# Conflicts:
#	src/environments/environment.production.ts
#	src/environments/environment.test.ts
#	src/environments/environment.ts
2025-02-03 15:12:25 +01:00
kshepherd
051ee006f8 Merge pull request #3947 from DSpace/backport-3935-to-dspace-8_x
[Port dspace-8_x] Ensure `/reload/` (hard reload) path is included in SSR paths.
2025-02-03 12:45:35 +01:00
kshepherd
95064122d0 Merge pull request #3946 from DSpace/backport-3935-to-dspace-7_x
[Port dspace-7_x] Ensure `/reload/` (hard reload) path is included in SSR paths.
2025-02-03 12:44:36 +01:00
Tim Donohue
04695b2520 Ensure "/reload/" (hard reload) path is included in SSR paths.
(cherry picked from commit 83d24f8c21)
2025-02-03 11:11:09 +00:00
Tim Donohue
d92424e2f4 Ensure "/reload/" (hard reload) path is included in SSR paths.
(cherry picked from commit 83d24f8c21)
2025-02-03 11:11:04 +00:00
Toni Prieto
72919cd867 Avoid retrieving user suggestions if Researcher profiles are disabled 2025-02-03 12:10:51 +01:00
kshepherd
073cd079e8 Merge pull request #3935 from tdonohue/add_reload_to_ssr_paths
Ensure `/reload/` (hard reload) path is included in SSR paths.
2025-02-03 12:10:47 +01:00
Jens Vannerum
8eaff78737 119612: aria-label to also include warning message if applicable 2025-02-03 11:20:18 +01:00
Jens Vannerum
daf2dc40d9 Merge remote-tracking branch 'origin/main' into w2p-119612_export-item-limit
# Conflicts:
#	src/assets/i18n/en.json5
2025-02-03 11:13:23 +01:00
Jens Vannerum
e1b773c097 119612: Check if a warning should be shown on changes to the total elements of the search, default to 500 if no value for the configuration property was returned 2025-02-03 10:11:28 +01:00
dependabot[bot]
45cc177cab Bump isbot from 5.1.21 to 5.1.22
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.21 to 5.1.22.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.21...v5.1.22)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:04:40 +00:00
dependabot[bot]
59b39f12d6 Bump @types/lodash from 4.17.14 to 4.17.15
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.14 to 4.17.15.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 03:03:49 +00:00
dependabot[bot]
21f4dc5fd9 Bump @types/lodash from 4.17.14 to 4.17.15
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.14 to 4.17.15.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 02:34:13 +00:00
dependabot[bot]
65834fc86e Bump isbot from 5.1.21 to 5.1.22
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.21 to 5.1.22.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.21...v5.1.22)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 02:33:57 +00:00
Tim Donohue
83d24f8c21 Ensure "/reload/" (hard reload) path is included in SSR paths. 2025-01-31 14:34:35 -06:00
Giuseppe Digilio
ac3e87db05 [DURACOM-288] Add convention SSR REST environment variable 2025-01-31 19:59:33 +01:00
Tim Donohue
636fba40f7 Merge pull request #3932 from 4Science/task/dspace-7_x/CST-15595
[Port dspace-7_x] Make submission reorder buttons keyboard accessible
2025-01-31 10:38:45 -06:00
Andrea Barbasso
f8123fbbfd Merge branch 'dspace-7_x' into task/dspace-7_x/CST-15595
# Conflicts:
#	src/assets/i18n/en.json5
2025-01-31 15:09:03 +01:00
Andrea Barbasso
8313b9a929 [CST-15595] add keyboard drag and drop functionality 2025-01-31 15:05:36 +01:00
Tim Donohue
51aa5fb61c Merge pull request #3926 from Andrea-Guevara/AccessibilityInSearchFilterDspace7
[Port dspace-7_x] Accessibility when selecting a search filter
2025-01-31 06:54:15 -06:00
Tim Donohue
a5378e0cf5 Add missing UUIDService to test to fix "No provider for UUIDService" errors 2025-01-30 16:55:28 -06:00
Tim Donohue
0abbf80c1d Merge pull request #3929 from DSpace/backport-3912-to-dspace-7_x
[Port dspace-7_x] Fix auth in UI with LDAP if password authentication is disabled
2025-01-30 16:39:41 -06:00
Tim Donohue
04e34145aa Merge pull request #3930 from DSpace/backport-3912-to-dspace-8_x
[Port dspace-8_x] Fix auth in UI with LDAP if password authentication is disabled
2025-01-30 16:39:31 -06:00
Miika Nurminen
33d2a43838 Ensure that password authentication dialog is shown even if only ldap auth method is present
(cherry picked from commit 83d86d7b68)
2025-01-30 22:12:16 +00:00
Miika Nurminen
d4536ffbf4 Ensure that password authentication dialog is shown even if only ldap auth method is present
(cherry picked from commit 83d86d7b68)
2025-01-30 22:12:12 +00:00
Tim Donohue
7e69b448d6 Merge pull request #3912 from minurmin/authPasswordDialog
Fix auth in UI with LDAP if password authentication is disabled
2025-01-30 16:11:56 -06:00
Giuseppe Digilio
bf2d12a10b Merge branch 'main' into task/main/DURACOM-288
# Conflicts:
#	config/config.example.yml
2025-01-30 20:44:26 +01:00
Giuseppe Digilio
04e5f59cdf [DURACOM-288] Change properties description 2025-01-30 20:42:20 +01:00
Giuseppe Digilio
e1fad603f0 [DURACOM-288] Enable URL replacement by default 2025-01-30 20:41:32 +01:00
Tim Donohue
6b73c75205 Merge pull request #3925 from 4Science/task/dspace-7_X/DURACOM-304
[Port dspace-7_x] Prevent request with page size of 9999
2025-01-30 12:25:52 -06:00
Tim Donohue
f01e49f05f Merge pull request #3924 from alexandrevryghem/made-expandable-navbar-section-more-accessible-7_x
[Port dspace-7_x] Made expandable navbar section more keyboard accessible
2025-01-30 11:58:31 -06:00
Tim Donohue
64c6c19618 Merge pull request #3927 from tdonohue/port_3372_to_8x
[Port dspace-8_x] Make submission reorder buttons keyboard accessible
2025-01-30 11:50:57 -06:00
AndreaBarbasso
0878eafaf3 Make reorder buttons keyboard accessible (#3372)
* [CST-15595] add keyboard drag and drop functionality

* [CST-15595] add aria live messages

* [CST-15595] fix e2e tests

* [CST-15595] fix unit tests

* [CST-15595] improve drag and drop keyboard functionality

* [CST-15595] add keydown.enter for keyboard drag and drop

---------

Co-authored-by: Andrea Barbasso <´andrea.barbasso@4science.com´>
2025-01-30 11:12:41 -06:00
AndreaBarbasso
bdac58d7fc Make reorder buttons keyboard accessible (#3372)
* [CST-15595] add keyboard drag and drop functionality

* [CST-15595] add aria live messages

* [CST-15595] fix e2e tests

* [CST-15595] fix unit tests

* [CST-15595] improve drag and drop keyboard functionality

* [CST-15595] add keydown.enter for keyboard drag and drop

---------

Co-authored-by: Andrea Barbasso <´andrea.barbasso@4science.com´>
2025-01-30 11:11:42 -06:00
Vincenzo Mecca
c8aae069f8 [DURACOM-288] Fixes undefined request in thumbnail 2025-01-30 15:42:58 +01:00
root
073b2b0acd Accessibility when selecting a search filter v7 2025-01-30 09:27:55 -03:00
FrancescoMolinaro
d155d778ee [DURACOM-304] fix tests and lint 2025-01-30 12:32:58 +01:00
FrancescoMolinaro
50e440bcf5 [DURACOM-304] remove br 2025-01-30 12:15:54 +01:00
FrancescoMolinaro
af39526d77 [DURACOM-304] refactor, fix dynamic-list.component loading 2025-01-30 12:15:41 +01:00
FrancescoMolinaro
f77ce869f8 [DURACOM-304] remove control flow 2025-01-30 12:14:07 +01:00
FrancescoMolinaro
bc06839926 [DURACOM-304] improve loading logic for cc-licenses section and dynamic-list 2025-01-30 12:13:52 +01:00
FrancescoMolinaro
a3ebfc0f36 [DURACOM-304] fix missing import 2025-01-30 12:02:29 +01:00
FrancescoMolinaro
362364136d [DURACOM-304] add support for findAll method in dynamic-scrollable-dropdown.component.ts 2025-01-30 12:02:12 +01:00
FrancescoMolinaro
b892b13529 [DURACOM-304] adapt call to bitstream service 2025-01-30 11:53:31 +01:00
Alisa Ismailati
b220e20053 [DURACOM-304] other fix related to accessibility 2025-01-30 11:52:47 +01:00
Alisa Ismailati
eaff0b1397 [DURACOM-304] Refactor of bundle-data.service.ts by removing page size of 9999 2025-01-30 11:52:31 +01:00
Alisa Ismailati
0108f525ba [DURACOM-304] fix accessibility issue on scripts-select 2025-01-30 11:47:42 +01:00
Alisa Ismailati
3f5de295a7 [DURACOM-304] test fix 2025-01-30 11:47:27 +01:00
Alisa Ismailati
62924cc5e0 [DURACOM-304] Refactored submission-section-cc-licenses.component.ts by removing page size of 9999 2025-01-30 11:47:00 +01:00
Alisa Ismailati
8453b667cb [DURACOM-304] removed unneeded selectAll method (dynamic-lookup-relation-search-tab.component) 2025-01-30 11:41:12 +01:00
Alisa Ismailati
3922130434 [DURACOM-304] Refactored relationship-type-data.service.ts by removing page size of 9999 2025-01-30 11:39:15 +01:00
Alisa Ismailati
c3b265d213 [DURACOM-304] Refactored dynamic-list.component.ts by removing page size of 9999 2025-01-30 11:38:14 +01:00
Alisa Ismailati
2b58377830 [DURACOM-304] Refactored scripts-select.component by using infinite scroll instead of page size 9999 2025-01-30 11:37:03 +01:00
Alisa Ismailati
4536d9c74d [DURACOM-304] Refactored edit-bitstream-page.component by removing page size of 9999 2025-01-30 11:34:39 +01:00
Alisa Ismailati
a3b7125ef9 [DURACOM-304] Refactored item-bitstreams.component by removing page size of 9999 2025-01-30 11:30:45 +01:00
Alexandre Vryghem
6f9c55d250 116404: Prevent the opening from the modal using mouse interactions from automatically focussing on the first element
(cherry picked from commit 82ed3aadff)
2025-01-30 00:52:16 +01:00
Alexandre Vryghem
9c6fb1794f 116404: Replaced ViewChild logic with a CSS selector
This change avoids triggering an additional change detection cycle

(cherry picked from commit f7bb83013a)
2025-01-30 00:52:16 +01:00
Alexandre Vryghem
0f27ae1125 116404: Close modal on escape
(cherry picked from commit 84df67c00b)
2025-01-30 00:52:16 +01:00
Alexandre Vryghem
73285284ce 116404: Apply focus on first item
(cherry picked from commit 2152bab717)
2025-01-30 00:52:16 +01:00
Alexandre Vryghem
53186988f5 116404: Added navigation with arrow keys in navbar & collapsed the expandable menu when hovering outside of it
(cherry picked from commit 05232cdf2b)
2025-01-30 00:52:16 +01:00
Tim Donohue
4d41d5f834 Merge pull request #3923 from DSpace/backport-3920-to-dspace-8_x
[Port dspace-8_x] Fix YAML syntax in config.example.yml
2025-01-29 17:04:18 -06:00
Alexandre Vryghem
8f9236f06d 116404: Don't navigate in the expandable navbar section with tab
Had to move the @slide animation to prevent focus being lost when tabbing in the expandable section

(cherry picked from commit c08c2721ac)
2025-01-30 00:03:55 +01:00
Alexandre Vryghem
470ad80741 116404: Fixed expandable navbar section loosing focus on expand through keyboard
(cherry picked from commit 2547b1218f)
2025-01-30 00:03:10 +01:00
Tim Donohue
5eee80c308 Merge pull request #3919 from DSpace/backport-3581-to-dspace-8_x
[Port dspace-8_x] Made expandable navbar section more keyboard accessible
2025-01-29 16:40:22 -06:00
Tim Donohue
c3f17b9754 Merge pull request #3921 from tdonohue/config_syntax_7x
[Port dspace-7_x] Fix YAML syntax and revert section name to "universal"
2025-01-29 16:39:06 -06:00
Tim Donohue
ea38669710 Fix syntax in config.example.yml
(cherry picked from commit cafe88a3b8)
2025-01-29 22:38:50 +00:00
Tim Donohue
e867993bb8 Merge pull request #3920 from tdonohue/config_syntax
Fix YAML syntax in config.example.yml
2025-01-29 16:38:31 -06:00
Tim Donohue
e296295df5 Fix YAML syntax and revert section name to "universal" as that's the name in 7.x 2025-01-29 15:57:55 -06:00
Tim Donohue
cafe88a3b8 Fix syntax in config.example.yml 2025-01-29 15:52:39 -06:00
Alexandre Vryghem
7de6aa0e24 116404: Prevent the opening from the modal using mouse interactions from automatically focussing on the first element
(cherry picked from commit 82ed3aadff)
2025-01-29 19:56:53 +00:00
Alexandre Vryghem
a984957af9 116404: Replaced ViewChild logic with a CSS selector
This change avoids triggering an additional change detection cycle

(cherry picked from commit f7bb83013a)
2025-01-29 19:56:53 +00:00
Alexandre Vryghem
daf2f50b00 116404: Close modal on escape
(cherry picked from commit 84df67c00b)
2025-01-29 19:56:53 +00:00
Alexandre Vryghem
eb93041c5b 116404: Apply focus on first item
(cherry picked from commit 2152bab717)
2025-01-29 19:56:53 +00:00
Alexandre Vryghem
b9b1d3fd8d 116404: Added navigation with arrow keys in navbar & collapsed the expandable menu when hovering outside of it
(cherry picked from commit 05232cdf2b)
2025-01-29 19:56:53 +00:00
Alexandre Vryghem
17e03330d0 116404: Don't navigate in the expandable navbar section with tab
Had to move the @slide animation to prevent focus being lost when tabbing in the expandable section

(cherry picked from commit c08c2721ac)
2025-01-29 19:56:53 +00:00
Alexandre Vryghem
ed27231769 116404: Fixed expandable navbar section loosing focus on expand through keyboard
(cherry picked from commit 2547b1218f)
2025-01-29 19:56:53 +00:00
Tim Donohue
98832f2540 Merge pull request #3581 from alexandrevryghem/made-expandable-navbar-section-more-accessible
Made expandable navbar section more keyboard accessible
2025-01-29 13:56:31 -06:00
Giuseppe Digilio
6e7c0da68a [DURACOM-288] Add unit test to test SSR url replace 2025-01-29 20:06:02 +01:00
Giuseppe Digilio
45ee56fe8f [DURACOM-288] Add missing settings to config.example.yml 2025-01-29 20:05:51 +01:00
Giuseppe Digilio
cfba84ce31 [DURACOM-288] Refactoring configuration to transfer state 2025-01-29 20:05:29 +01:00
Yury Bondarenko
a7276b8a30 Add configuration to toggle replace/transfer 2025-01-29 20:04:09 +01:00
Giuseppe Digilio
587e1546dc [DURACOM-288] Additional test for thumbnail component 2025-01-29 19:58:52 +01:00
Giuseppe Digilio
ec9a1e22f7 [DURACOM-288] Provide a setting to use a different REST url during SSR execution 2025-01-29 19:54:34 +01:00
Tim Donohue
bb977dcd49 Merge pull request #3918 from tdonohue/port_3385_to_8x
[Port dspace-8_x] Accessibility when selecting a search filter
2025-01-29 12:07:09 -06:00
Alexandre Vryghem
82ed3aadff 116404: Prevent the opening from the modal using mouse interactions from automatically focussing on the first element 2025-01-29 18:17:13 +01:00
Andrea-Guevara
b27659d958 Accessibility when selecting a search filter (#3385)
* Creation of a new method so that when a filter is selected a page reload message is announced to the user

* Correcting import formatting errors

* New attempt - Correcting import formatting errors

* New import fix

* New import fix

* Returning to the order of imports more like the original

* Correcting import order errors

* Resolving conflicts

* lint fixes

* Code refactoring

---------

Co-authored-by: root <root@TI-03.OHB.LOCAL>
Co-authored-by: nwoodward <woodward.nicholas@gmail.com>
2025-01-29 11:01:23 -06:00
Andrea-Guevara
f262299382 Accessibility when selecting a search filter (#3385)
* Creation of a new method so that when a filter is selected a page reload message is announced to the user

* Correcting import formatting errors

* New attempt - Correcting import formatting errors

* New import fix

* New import fix

* Returning to the order of imports more like the original

* Correcting import order errors

* Resolving conflicts

* lint fixes

* Code refactoring

---------

Co-authored-by: root <root@TI-03.OHB.LOCAL>
Co-authored-by: nwoodward <woodward.nicholas@gmail.com>
2025-01-29 10:52:13 -06:00
Tim Donohue
795f300158 Merge pull request #3913 from alexandrevryghem/w2p-122357_browse-performance-fixes_contribute-7_x
[Port dspace-7_x] Browse performance fixes
2025-01-29 10:02:28 -06:00
Tim Donohue
df3e00f985 Merge pull request #3914 from alexandrevryghem/w2p-122357_browse-performance-fixes_contribute-8_x
[Port dspace-8_x] Browse performance fixes
2025-01-29 09:41:45 -06:00
Tim Donohue
69164837f0 Merge pull request #3915 from tdonohue/port_3818_to_main
[Port main] Changing metadata in a user profile without specifying a password brings up a success and an error panel
2025-01-29 06:49:13 -06:00
Tim Donohue
38d5f87d3e Merge pull request #3916 from tdonohue/port_3818_to_7x
[Port dspace-7_x] Changing metadata in a user profile without specifying a password brings up a success and an error panel
2025-01-29 06:48:54 -06:00
VictorDuranEscire
5a5c1f18e3 Changing metadata in a user profile without specifying a password brings up a success and an error panel (#3818)
* Agregar validador para mostrar mensaje de error solo si se escribe la contraseña actual

* Agregar validador para mostrar mensaje de error solo si se escribe la contraseña actual

* Set constant variable for valid current password in profile page
2025-01-28 17:26:43 -06:00
Alexandre Vryghem
da9d848fe2 Merge branch 'w2p-122357_prevent-request-urls-from-being-fired-multiple-times-7.4' into dspace-8_x 2025-01-29 00:23:05 +01:00
VictorDuranEscire
090dda28ad Changing metadata in a user profile without specifying a password brings up a success and an error panel (#3818)
* Agregar validador para mostrar mensaje de error solo si se escribe la contraseña actual

* Agregar validador para mostrar mensaje de error solo si se escribe la contraseña actual

* Set constant variable for valid current password in profile page
2025-01-28 17:22:31 -06:00
Alexandre Vryghem
d1c8d362bd Merge branch 'refactor-comcol-pages_contribute-7.6' into dspace-8_x
# Conflicts:
#	src/app/browse-by/browse-by-date/browse-by-date.component.ts
#	src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts
#	src/app/browse-by/browse-by-routing.module.ts
#	src/app/browse-by/browse-by-title/browse-by-title.component.ts
2025-01-29 00:14:58 +01:00
Miika Nurminen
83d86d7b68 Ensure that password authentication dialog is shown even if only ldap auth method is present 2025-01-29 01:07:37 +02:00
VictorDuranEscire
47159fe15b Changing metadata in a user profile without specifying a password brings up a success and an error panel (#3818)
* Agregar validador para mostrar mensaje de error solo si se escribe la contraseña actual

* Agregar validador para mostrar mensaje de error solo si se escribe la contraseña actual

* Set constant variable for valid current password in profile page
2025-01-28 17:07:00 -06:00
Alexandre Vryghem
bb3d2bb483 122357: Reduced the amount of times the browse observables are fired again
(cherry picked from commit 0570542b1e)
2025-01-28 23:48:07 +01:00
Alexandre Vryghem
8c92364d43 122357: Ensure the request href$ observable aren't triggered multiple times
(cherry picked from commit 3ecdfe422d)
2025-01-28 23:38:23 +01:00
Tim Donohue
1cc4756ee2 Merge pull request #3270 from atmire/w2p-117544_support-for-disabled-elements-for-screen-readers-7.x
[Port dspace-7_x] support for disabled buttons for screen readers
2025-01-28 16:36:24 -06:00
Tim Donohue
05239743ac Merge pull request #3269 from atmire/w2p-117544_support-for-disabled-elements-for-screen-readers-8.0
[Port dspace-8_x] support for disabled elements for screen readers
2025-01-28 16:19:21 -06:00
Tim Donohue
d70fa8f569 Merge pull request #3268 from atmire/w2p-117544_support-for-disabled-elements-for-screen-readers-9.0
support for disabled buttons for screen readers
2025-01-28 16:17:35 -06:00
Tim Donohue
df377804bb Merge pull request #3846 from alexandrevryghem/w2p-122357_browse-performance-fixes_contribute-main
Browse performance fixes
2025-01-28 16:08:01 -06:00
Tim Donohue
0efa4a6174 Merge pull request #3910 from DSpace/backport-3909-to-dspace-8_x
[Port dspace-8_x] removal of duplicate keys in en.json5 and de.json5
2025-01-28 09:45:34 -06:00
Sascha Szott
17a868a2c4 remove duplicate key
(cherry picked from commit baf3886115)
2025-01-28 15:10:47 +00:00
Sascha Szott
ac3fc1dc32 remove duplicate key
(cherry picked from commit 262723b0ca)
2025-01-28 15:10:47 +00:00
Tim Donohue
84feea9b30 Merge pull request #3909 from saschaszott/saschaszott-patch-8
removal of duplicate keys in en.json5 and de.json5
2025-01-28 09:10:25 -06:00
Sascha Szott
baf3886115 remove duplicate key 2025-01-28 11:31:33 +01:00
Sascha Szott
262723b0ca remove duplicate key 2025-01-28 11:27:36 +01:00
Alexandre Vryghem
196a8c21db Merge branch 'main' into w2p-108608_created-search-scope-selector_contribute-main 2025-01-28 01:35:05 +01:00
Tim Donohue
08bda53a2e Merge pull request #3907 from 4Science/task/dspace-7_x/DURACOM-303
[Port dspace-7_x] Exclude search and browse from Angular SSR
2025-01-27 10:25:50 -06:00
Jens Vannerum
cd2f8abd2d 117544: fix issues latest 7.x merge 2025-01-27 10:23:49 +01:00
Jens Vannerum
e9e3d86aab 117544: use directive after latest 8.x merge 2025-01-27 10:22:17 +01:00
Jens Vannerum
920edef155 117544: use directive after latest main merge 2025-01-27 10:20:42 +01:00
FrancescoMolinaro
8a4f24fc31 [DURACOM-303] adapt tests dependencies and template variable 2025-01-27 09:34:42 +01:00
dependabot[bot]
7142e66910 Bump @babel/runtime from 7.26.0 to 7.26.7
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.0 to 7.26.7.
- [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.26.7/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 02:47:50 +00:00
dependabot[bot]
868b021118 Bump @babel/runtime from 7.26.0 to 7.26.7
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.26.0 to 7.26.7.
- [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.26.7/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 02:35:56 +00:00
Alexandre Vryghem
6cf62a6c61 Merge branch 'main' into w2p-122357_browse-performance-fixes_contribute-main 2025-01-25 00:12:39 +01:00
Tim Donohue
daaa642bfe Merge pull request #3857 from DSpace/dependabot/npm_and_yarn/dspace-8_x/mirador-3.4.3
Bump mirador from 3.4.2 to 3.4.3
2025-01-24 16:19:53 -06:00
Tim Donohue
c7d8949c82 Merge pull request #3861 from DSpace/dependabot/npm_and_yarn/dspace-7_x/mirador-3.4.3
Bump mirador from 3.4.2 to 3.4.3
2025-01-24 16:19:29 -06:00
Tim Donohue
b49e6fda9a Merge pull request #3862 from DSpace/dependabot/npm_and_yarn/mirador-3.4.3
Bump mirador from 3.4.2 to 3.4.3
2025-01-24 16:18:45 -06:00
Tim Donohue
0c9c876e3d Merge pull request #3900 from DSpace/backport-3212-to-dspace-8_x
[Port dspace-8_x] Fix truncatable-part keyboard accessibility
2025-01-24 13:48:33 -06:00
Tim Donohue
7f1ae419af Merge pull request #3899 from DSpace/backport-3212-to-dspace-7_x
[Port dspace-7_x] Fix truncatable-part keyboard accessibility
2025-01-24 13:48:27 -06:00
Tim Donohue
1c786744ee Merge pull request #3897 from DSpace/backport-3413-to-dspace-8_x
[Port dspace-8_x] Improve descriptive labels for show/hide x more buttons for related items (Item/Entity Homepage)
2025-01-24 12:52:13 -06:00
Tim Donohue
30d57174e6 Merge pull request #3896 from DSpace/backport-3413-to-dspace-7_x
[Port dspace-7_x] Improve descriptive labels for show/hide x more buttons for related items (Item/Entity Homepage)
2025-01-24 12:52:04 -06:00
Tim Donohue
89b72b9dc1 Merge pull request #3898 from tdonohue/bump_cross-spawn
Bump cross-spawn from 7.0.3 to 7.0.6
2025-01-24 12:51:49 -06:00
Tim Donohue
42aa95344a Merge pull request #3894 from DSpace-Labs/dependabot/npm_and_yarn/cross-spawn-7.0.6
Bump cross-spawn from 7.0.3 to 7.0.6
2025-01-24 12:29:18 -06:00
Tim Donohue
c155a60a7e Merge pull request #3895 from DSpace-Labs/dependabot/npm_and_yarn/cross-spawn-7.0.6
Bump cross-spawn from 7.0.3 to 7.0.6
2025-01-24 12:29:05 -06:00
autavares-dev
b584d3fee0 Fix truncatable-part keyboard accessibility
(cherry picked from commit 6cb4faa8d3)
2025-01-24 18:26:46 +00:00
autavares-dev
5d6bf0bb33 Fix truncatable-part keyboard accessibility
(cherry picked from commit 6cb4faa8d3)
2025-01-24 18:26:41 +00:00
Tim Donohue
65e1b8ed60 Merge pull request #3212 from autavares-dev/fix-truncatable-part-keyboard-accessibility
Fix truncatable-part keyboard accessibility
2025-01-24 12:23:53 -06:00
Tim Donohue
2cebbd9b8f Bump cross-spawn from 7.0.3 to 7.0.6 2025-01-24 12:10:18 -06:00
Alisa Ismailati
7d59615b7e [CST-17153] improve descriptive labels for show/hide more buttons on related items lists
(cherry picked from commit 7cd82e542b)
2025-01-24 18:05:37 +00:00
Alisa Ismailati
147564b114 [CST-17153] improve descriptive labels for show/hide more buttons on related items lists
(cherry picked from commit 7cd82e542b)
2025-01-24 18:05:32 +00:00
Tim Donohue
c5603c7be2 Merge pull request #3413 from 4Science/task/main/CST-17153
Improve descriptive labels for show/hide x more buttons for related items (Item/Entity Homepage)
2025-01-24 12:05:16 -06:00
dependabot[bot]
22b0f4805a Bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 17:43:10 +00:00
dependabot[bot]
ecd2faea4a Bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 17:43:00 +00:00
FrancescoMolinaro
990f00b129 [DURACOM-303] adapt solution to older version of angular 2025-01-24 18:26:28 +01:00
FrancescoMolinaro
483b97d9c1 [DURACOM-303] refactor thumbnail's skeleton style 2025-01-24 17:41:56 +01:00
FrancescoMolinaro
171a971572 [DURACOM-303] resolve conflicts 2025-01-24 17:41:38 +01:00
FrancescoMolinaro
8a4e8f6045 [DURACOM-303] fix SSR check on template and on components missing the environment config. Add descriptive comment for skeleton component. Fix JS error on SSR. 2025-01-24 17:41:28 +01:00
FrancescoMolinaro
32364e4f68 [DURACOM-303] add override possibility with input 2025-01-24 17:38:26 +01:00
FrancescoMolinaro
311f648c3f [DURACOM-303] rename variable, minor code refactor 2025-01-24 17:35:36 +01:00
FrancescoMolinaro
2c28f75263 [DURACOM-303] refactor param, add example of configuration 2025-01-24 17:32:31 +01:00
FrancescoMolinaro
53335658e0 [DURACOM-303] adapt interface for ssr 2025-01-24 17:29:37 +01:00
FrancescoMolinaro
9467838066 [DURACOM-303] add grid layout, make SSR enabling configurable, minor restyle of skeletons 2025-01-24 17:29:19 +01:00
FrancescoMolinaro
99656f1357 [DURACOM-303] add loop for filters count 2025-01-24 17:16:20 +01:00
FrancescoMolinaro
8ee05f4352 [DURACOM-303] fix missing url link 2025-01-24 17:11:13 +01:00
FrancescoMolinaro
6756a78ba0 [DURACOM-303] restyle skeleton, add filter badge skeleton 2025-01-24 17:10:20 +01:00
FrancescoMolinaro
b482b58d53 [DURACOM-303] adapt tests 2025-01-24 17:08:39 +01:00
FrancescoMolinaro
312a2a7f58 [DURACOM-303] fix lint and tests 2025-01-24 17:07:27 +01:00
FrancescoMolinaro
d6f0f02c1a [DURACOM-303] minor restyle of skeleton for mobile 2025-01-24 17:05:26 +01:00
FrancescoMolinaro
61eb14783e [DURACOM-303] resolve conflicts 2025-01-24 17:03:47 +01:00
FrancescoMolinaro
126f3c71f4 [DURACOM-303] add skeleton loader for search results and filters 2025-01-24 17:03:29 +01:00
DSpace Bot
6cd092671f [Port dspace-7_x] Improving the color contrast of home news content (#3890)
* Improving the color contrast of home news content

(cherry picked from commit 2290b871f7)

* Improved color contrast

(cherry picked from commit 62b6677e04)

* Adjusting font color changes

(cherry picked from commit be335415fd)

---------

Co-authored-by: root <root@TI-03.OHB.LOCAL>
2025-01-24 09:58:41 -06:00
DSpace Bot
31411e9afa [Port dspace-8_x] Improving the color contrast of home news content (#3891)
* Improving the color contrast of home news content

(cherry picked from commit 2290b871f7)

* Improved color contrast

(cherry picked from commit 62b6677e04)

* Adjusting font color changes

(cherry picked from commit be335415fd)

---------

Co-authored-by: root <root@TI-03.OHB.LOCAL>
2025-01-24 09:58:29 -06:00
FrancescoMolinaro
39c5de6e18 [DURACOM-303] implement skeleton component for search results 2025-01-24 16:54:23 +01:00
FrancescoMolinaro
5868a3198f [DURACOM-303] fix missing imports 2025-01-24 16:49:25 +01:00
FrancescoMolinaro
c5fd4426cd [DURACOM-303] prevent possibly long-lasting search and browse calls in SSR 2025-01-24 16:44:39 +01:00
Andrea-Guevara
8cfc61c7f3 Improving the color contrast of home news content (#3880)
* Improving the color contrast of home news content

* Improved color contrast

* Adjusting font color changes

---------

Co-authored-by: root <root@TI-03.OHB.LOCAL>
2025-01-24 09:12:45 -06:00
Jens Vannerum
2a39bd831b Merge branch 'main' into w2p-119612_export-item-limit 2025-01-24 15:59:05 +01:00
Jens Vannerum
b69b21af6c 119612: UI warning that only first part of configured items will be exported 2025-01-24 15:58:25 +01:00
Jens Vannerum
ea715ba9f5 Merge remote-tracking branch 'origin/dspace-7_x' into w2p-117544_support-for-disabled-elements-for-screen-readers-7.x 2025-01-24 10:17:33 +01:00
Jens Vannerum
6182e222d3 Merge remote-tracking branch 'origin/dspace-8_x' into w2p-117544_support-for-disabled-elements-for-screen-readers-8.0 2025-01-24 10:14:41 +01:00
Jens Vannerum
7a948f1e2a Merge remote-tracking branch 'origin/main' into w2p-117544_support-for-disabled-elements-for-screen-readers-9.0 2025-01-24 10:05:09 +01:00
Tim Donohue
d653c011fe Merge pull request #3859 from DSpace/dependabot/npm_and_yarn/jsonschema-1.5.0
Bump jsonschema from 1.4.1 to 1.5.0
2025-01-23 16:50:46 -06:00
Tim Donohue
f097652594 Merge pull request #3865 from DSpace/dependabot/npm_and_yarn/dspace-7_x/jsonschema-1.5.0
Bump jsonschema from 1.4.1 to 1.5.0
2025-01-23 16:50:21 -06:00
Tim Donohue
905502d988 Merge pull request #3855 from DSpace/dependabot/npm_and_yarn/dspace-8_x/isbot-5.1.21
Bump isbot from 5.1.17 to 5.1.21
2025-01-23 16:04:35 -06:00
Tim Donohue
8dec8e4315 Merge pull request #3854 from DSpace/dependabot/npm_and_yarn/express-4.21.2
Bump express from 4.21.1 to 4.21.2
2025-01-23 16:03:34 -06:00
Tim Donohue
4a9ece0f82 Merge pull request #3837 from DSpace/dependabot/npm_and_yarn/dspace-8_x/core-js-3.40.0
Bump core-js from 3.39.0 to 3.40.0
2025-01-23 16:02:29 -06:00
Tim Donohue
cecf87364e Merge pull request #3864 from DSpace/dependabot/npm_and_yarn/dspace-7_x/core-js-3.40.0
Bump core-js from 3.39.0 to 3.40.0
2025-01-23 16:02:02 -06:00
Tim Donohue
f4bc87d327 Merge pull request #3863 from DSpace/dependabot/npm_and_yarn/core-js-3.40.0
Bump core-js from 3.39.0 to 3.40.0
2025-01-23 16:01:16 -06:00
Tim Donohue
a950b9c9a2 Merge pull request #3852 from DSpace/dependabot/npm_and_yarn/dspace-8_x/sass-d300448e1c
Bump sass from 1.83.1 to 1.83.4 in the sass group
2025-01-23 15:12:17 -06:00
Tim Donohue
afa0a9017f Merge pull request #3858 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-d300448e1c
Bump sass from 1.83.1 to 1.83.4 in the sass group
2025-01-23 15:12:00 -06:00
Tim Donohue
03b4ce3e60 Merge pull request #3853 from DSpace/dependabot/npm_and_yarn/sass-d300448e1c
Bump sass from 1.83.1 to 1.83.4 in the sass group
2025-01-23 15:11:12 -06:00
Tim Donohue
7638511762 Merge pull request #3856 from DSpace/dependabot/npm_and_yarn/dspace-7_x/postcss-3a92966d17
Bump postcss from 8.4.49 to 8.5.1 in the postcss group
2025-01-23 14:49:30 -06:00
Tim Donohue
5b9b468079 Merge pull request #3851 from DSpace/dependabot/npm_and_yarn/dspace-8_x/postcss-3a92966d17
Bump postcss from 8.4.49 to 8.5.1 in the postcss group
2025-01-23 14:49:08 -06:00
Tim Donohue
87f05f428f Merge pull request #3850 from DSpace/dependabot/npm_and_yarn/postcss-3a92966d17
Bump postcss from 8.4.49 to 8.5.1 in the postcss group
2025-01-23 14:48:13 -06:00
Tim Donohue
2d7c0cc3dd Merge pull request #3887 from tdonohue/port_3694_to_8x
[Port dspace-8_x] Prevent request with page size of 9999 (#3694)
2025-01-23 14:30:59 -06:00
Alexandre Vryghem
1b83f18960 Merge branch 'w2p-119276_fixed-searchservice-returning-stale-requests_contribute-7.6' 2025-01-23 20:54:05 +01:00
Alexandre Vryghem
58ff240c05 119276: Added tests to prove that cached stale requests are not emitted
Also cleaned up test class
2025-01-23 20:48:19 +01:00
FrancescoMolinaro
ff304f3314 Prevent request with page size of 9999 (#3694)
* [DURACOM-304] Refactored item-bitstreams.component by removing page size of 9999

* [DURACOM-304] Refactored edit-bitstream-page.component by removing page size of 9999

* [DURACOM-304] Refactored scripts-select.component by using infinite scroll instead of page size 9999

* [DURACOM-304] Refactored dynamic-list.component.ts by removing page size of 9999

* [DURACOM-304] Refactored relationship-type-data.service.ts by removing page size of 9999

* [DURACOM-304] removed unneeded selectAll method (dynamic-lookup-relation-search-tab.component)

* [DURACOM-304] Refactored submission-section-cc-licenses.component.ts by removing page size of 9999

* [DURACOM-304] lint fix

* [DURACOM-304] test fix

* [DURACOM-304] fix accessibility issue on scripts-select

* [DURACOM-304] Refactor of bundle-data.service.ts by removing page size of 9999

* [DURACOM-304] other fix related to accessibility

* [DURACOM-304] lint fix

* [DURACOM-304] resolve conflicts

* [DURACOM-304] fix lint

* [DURACOM-304] add support for findAll method in dynamic-scrollable-dropdown.component.ts

* [DURACOM-304] refactor to use lazy data provider

* [DURACOM-304] improve loading logic for cc-licenses section and dynamic-list

* [DURACOM-304] refactor, fix dynamic-list.component loading

* [DURACOM-304] remove br

---------

Co-authored-by: Alisa Ismailati <alisa.ismailati@4science.com>
2025-01-23 13:44:53 -06:00
FrancescoMolinaro
33a091d630 Prevent request with page size of 9999 (#3694)
* [DURACOM-304] Refactored item-bitstreams.component by removing page size of 9999

* [DURACOM-304] Refactored edit-bitstream-page.component by removing page size of 9999

* [DURACOM-304] Refactored scripts-select.component by using infinite scroll instead of page size 9999

* [DURACOM-304] Refactored dynamic-list.component.ts by removing page size of 9999

* [DURACOM-304] Refactored relationship-type-data.service.ts by removing page size of 9999

* [DURACOM-304] removed unneeded selectAll method (dynamic-lookup-relation-search-tab.component)

* [DURACOM-304] Refactored submission-section-cc-licenses.component.ts by removing page size of 9999

* [DURACOM-304] lint fix

* [DURACOM-304] test fix

* [DURACOM-304] fix accessibility issue on scripts-select

* [DURACOM-304] Refactor of bundle-data.service.ts by removing page size of 9999

* [DURACOM-304] other fix related to accessibility

* [DURACOM-304] lint fix

* [DURACOM-304] resolve conflicts

* [DURACOM-304] fix lint

* [DURACOM-304] add support for findAll method in dynamic-scrollable-dropdown.component.ts

* [DURACOM-304] refactor to use lazy data provider

* [DURACOM-304] improve loading logic for cc-licenses section and dynamic-list

* [DURACOM-304] refactor, fix dynamic-list.component loading

* [DURACOM-304] remove br

---------

Co-authored-by: Alisa Ismailati <alisa.ismailati@4science.com>
2025-01-23 12:26:36 -06:00
Tim Donohue
63c98740ba Merge pull request #3886 from tdonohue/port_3709_to_main
[Port main] Exclude search and browse from Angular SSR (#3709)
2025-01-23 11:46:02 -06:00
dependabot[bot]
2e685b9e05 Bump postcss from 8.4.49 to 8.5.1 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.49 to 8.5.1
- [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.49...8.5.1)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 17:19:37 +00:00
Tim Donohue
31336efad2 Merge pull request #3860 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/lodash-4.17.14
Bump @types/lodash from 4.17.13 to 4.17.14
2025-01-23 11:11:53 -06:00
Tim Donohue
204062c779 Merge pull request #3836 from DSpace/dependabot/npm_and_yarn/dspace-8_x/testing-905b8585bc
Bump ng-mocks from 14.13.1 to 14.13.2 in the testing group
2025-01-23 11:11:03 -06:00
FrancescoMolinaro
17ecc592f3 Exclude search and browse from Angular SSR (#3709)
* [DURACOM-303] prevent possibly long-lasting search and browse calls in SSR

* [DURACOM-303] implement skeleton component for search results

* [DURACOM-303] add skeleton loader for search results and filters

* [DURACOM-303] minor restyle of skeleton for mobile

* [DURACOM-303] fix lint and tests

* [DURACOM-303] adapt tests

* [DURACOM-303] restyle skeleton, add filter badge skeleton

* [DURACOM-303] add loop for filters count

* [DURACOM-303] add grid layout, make SSR enabling configurable, minor restyle of skeletons

* [DURACOM-303] refactor param, add example of configuration

* [DURACOM-303] rename variable, minor code refactor

* [DURACOM-303] add override possibility with input

* [DURACOM-303] fix SSR check on template and on components missing the environment config. Add descriptive comment for skeleton component. Fix JS error on SSR.

* [DURACOM-303] refactor thumbnail's skeleton style
2025-01-23 10:16:12 -06:00
FrancescoMolinaro
6a1e1bfa8b Exclude search and browse from Angular SSR (#3709)
* [DURACOM-303] prevent possibly long-lasting search and browse calls in SSR

* [DURACOM-303] implement skeleton component for search results

* [DURACOM-303] add skeleton loader for search results and filters

* [DURACOM-303] minor restyle of skeleton for mobile

* [DURACOM-303] fix lint and tests

* [DURACOM-303] adapt tests

* [DURACOM-303] restyle skeleton, add filter badge skeleton

* [DURACOM-303] add loop for filters count

* [DURACOM-303] add grid layout, make SSR enabling configurable, minor restyle of skeletons

* [DURACOM-303] refactor param, add example of configuration

* [DURACOM-303] rename variable, minor code refactor

* [DURACOM-303] add override possibility with input

* [DURACOM-303] fix SSR check on template and on components missing the environment config. Add descriptive comment for skeleton component. Fix JS error on SSR.

* [DURACOM-303] refactor thumbnail's skeleton style
2025-01-23 10:07:15 -06:00
dependabot[bot]
e24e72c3bb Bump mirador from 3.4.2 to 3.4.3
Bumps [mirador](https://github.com/ProjectMirador/mirador) from 3.4.2 to 3.4.3.
- [Release notes](https://github.com/ProjectMirador/mirador/releases)
- [Commits](https://github.com/ProjectMirador/mirador/compare/v3.4.2...v3.4.3)

---
updated-dependencies:
- dependency-name: mirador
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 14:45:40 +00:00
dependabot[bot]
bef9ff1ee0 Bump isbot from 5.1.17 to 5.1.21
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.17 to 5.1.21.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.17...v5.1.21)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-23 14:45:23 +00:00
Tim Donohue
d23483d26c Merge pull request #3885 from tdonohue/port_3876_to_8x
[Port dspace-8_x] Fix redirect URLs of bitstreams with spaces in filename (new test ONLY)
2025-01-23 08:41:47 -06:00
Tim Donohue
cb8a7cd402 Merge pull request #3884 from tdonohue/port_3876_to_main
[Port main] Fix redirect URLs of bitstreams with spaces in filename (new test ONLY)
2025-01-23 06:57:30 -06:00
Andreas Awouters
888459cb56 Merge remote-tracking branch 'dspace/main' into accessibility-settings-main
# Conflicts:
#	src/app/profile-page/profile-page.component.html
#	src/app/profile-page/profile-page.component.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.ts
#	src/themes/custom/app/profile-page/profile-page.component.ts
2025-01-23 09:53:46 +01:00
Andreas Awouters
f0ff625b4b Merge branch 'accessibility-settings-7.6' into accessibility-settings-main
# Conflicts:
#	src/app/accessibility/accessibility-settings.service.spec.ts
2025-01-23 09:42:23 +01:00
dependabot[bot]
d9269c7d28 Bump sass from 1.83.1 to 1.83.4 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.83.1 to 1.83.4
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.83.1...1.83.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 23:47:29 +00:00
dependabot[bot]
fc2d3f0a23 Bump sass from 1.83.1 to 1.83.4 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.83.1 to 1.83.4
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.83.1...1.83.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 23:47:29 +00:00
dependabot[bot]
6cb3e8bbfb Bump postcss from 8.4.49 to 8.5.1 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.49 to 8.5.1
- [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.49...8.5.1)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 23:47:21 +00:00
dependabot[bot]
09d7a7f257 Bump sass from 1.83.1 to 1.83.4 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.83.1 to 1.83.4
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.83.1...1.83.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 23:45:08 +00:00
Tim Donohue
c7ae1d63b5 Merge pull request #3833 from DSpace/dependabot/npm_and_yarn/webpack-2095da29ad
Bump webpack from 5.96.1 to 5.97.1 in the webpack group
2025-01-22 17:04:37 -06:00
Mohana Sarmiento
19db3faf65 Add unit test 2025-01-22 16:38:58 -06:00
dependabot[bot]
2d0d9bb9db Bump ng-mocks from 14.13.1 to 14.13.2 in the testing group
Bumps the testing group with 1 update: [ng-mocks](https://github.com/help-me-mom/ng-mocks).


Updates `ng-mocks` from 14.13.1 to 14.13.2
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.13.1...v14.13.2)

---
updated-dependencies:
- dependency-name: ng-mocks
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 22:38:19 +00:00
dependabot[bot]
2904ca28a1 Bump core-js from 3.39.0 to 3.40.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.39.0 to 3.40.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.40.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-22 22:38:17 +00:00
Mohana Sarmiento
0475c0b2d9 Add unit test 2025-01-22 16:34:24 -06:00
Tim Donohue
00ff0cc7e4 Merge pull request #3876 from scholarsportal/fix-bitsream-filename-encoding-url-dspace-7_x
Fix redirect URLs of bitstreams with spaces in filename
2025-01-22 16:04:49 -06:00
Tim Donohue
81fa0ba446 Merge pull request #3346 from 4Science/task/dspace-7_x/CST-14904
[Port dspace-7_x] Add orcid icon with tooltip
2025-01-22 12:39:51 -06:00
Tim Donohue
2a5d779598 Merge pull request #3345 from 4Science/task/dspace-8_x/CST-15077
[Port dspace-8_x] Add orcid icon with tooltip
2025-01-22 12:39:13 -06:00
Tim Donohue
a5fb2e6417 Merge pull request #3344 from 4Science/task/main/CST-15078
Add orcid icon with tooltip
2025-01-22 12:38:11 -06:00
Tim Donohue
f6269a95ee Merge pull request #3883 from tdonohue/port_3875_to_main
[Port main] Stabilize e2e tests that use admin sidebar menu
2025-01-22 10:21:33 -06:00
Tim Donohue
5342653b99 Merge pull request #3879 from alanorth/angular-ssr-sitemap-dspace7
[Post dspace-7_x] Restrict Angular SSR to paths in the sitemap
2025-01-22 10:21:10 -06:00
Tim Donohue
7f1a21b4ae Merge pull request #3877 from DSpace/backport-3682-to-dspace-8_x
[Port dspace-8_x] Restrict Angular SSR to paths in the sitemap
2025-01-22 10:20:39 -06:00
Tim Donohue
5c50faa319 Ensure admin menu e2e tests hover over admin menu before clicking on it. Attempt to stabilize tests which open this menu. 2025-01-22 09:38:38 -06:00
Andreas Awouters
d4b0cf21d3 Merge remote-tracking branch 'dspace/dspace-7_x' into accessibility-settings-7_x
# Conflicts:
#	src/app/profile-page/profile-page.component.html
#	src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.ts
2025-01-22 15:56:10 +01:00
Tim Donohue
88fb275017 Merge pull request #3878 from DSpace/backport-3875-to-dspace-7_x
[Port dspace-7_x] Stabilize e2e tests that use admin sidebar menu
2025-01-22 08:55:54 -06:00
Andreas Awouters
d9614b9a1b Merge branch 'accessibility-settings-7.6' into accessibility-settings-7_x 2025-01-22 15:50:41 +01:00
Andreas Awouters
b55a318676 119602: Reset notificationTimeOut when left on 0 2025-01-22 15:47:13 +01:00
Alan Orth
b839252ed7 Restrict SSR to paths in the sitemap
Because Angular SSR is not very efficient, after discussion with
the Google Scholar team we realized a compromise would be to only
use SSR for pages in the DSpace sitemap (and the home page).
2025-01-22 11:02:35 +03:00
Tim Donohue
e3f13f8c54 Ensure admin menu e2e tests hover over admin menu before clicking on it. Attempt to stabilize tests which open this menu.
(cherry picked from commit e9cd0f4c64)
2025-01-21 23:12:01 +00:00
Tim Donohue
a6171bba41 Merge pull request #3875 from tdonohue/fix_admin_e2e_tests
Stabilize e2e tests that use admin sidebar menu
2025-01-21 16:58:50 -06:00
Alan Orth
026703d170 Restrict SSR to paths in the sitemap
Because Angular SSR is not very efficient, after discussion with
the Google Scholar team we realized a compromise would be to only
use SSR for pages in the DSpace sitemap (and the home page).

(cherry picked from commit 5b3b3bfb9c)
2025-01-21 22:38:01 +00:00
Tim Donohue
b08edf1ea4 Merge pull request #3682 from alanorth/angular-ssr-sitemap-3110
Restrict Angular SSR to paths in the sitemap
2025-01-21 16:09:31 -06:00
Mohana Sarmiento
2bd53d822a Add unit test 2025-01-21 16:26:01 -05:00
Tim Donohue
ad74ce6049 Merge pull request #3874 from DSpace/backport-3872-to-dspace-8_x
[Port dspace-8_x] SCSS cleanup: remove duplicated line
2025-01-21 15:12:34 -06:00
Tim Donohue
b11543c3a5 Merge pull request #3873 from DSpace/backport-3872-to-dspace-7_x
[Port dspace-7_x] SCSS cleanup: remove duplicated line
2025-01-21 14:46:03 -06:00
Tim Donohue
e9cd0f4c64 Ensure admin menu e2e tests hover over admin menu before clicking on it. Attempt to stabilize tests which open this menu. 2025-01-21 14:25:12 -06:00
Sascha Szott
351c4decef remove duplicated line
(cherry picked from commit 5d04e44ff3)
2025-01-21 19:37:23 +00:00
Sascha Szott
6035d9e925 remove duplicated line
(cherry picked from commit 5d04e44ff3)
2025-01-21 19:37:19 +00:00
Tim Donohue
0a5d20e236 Merge pull request #3872 from saschaszott/saschaszott-patch-6
SCSS cleanup: remove duplicated line
2025-01-21 13:20:51 -06:00
Sascha Szott
5d04e44ff3 remove duplicated line 2025-01-21 18:29:10 +01:00
Mohana Sarmiento
74d6dbb454 Fix double encoding of bitstream filenames in URL 2025-01-20 18:13:35 -05:00
Andrea Barbasso
d0b6571954 [CST-14904] improve orcid logo image alt 2025-01-20 15:31:31 +01:00
Andrea Barbasso
0a7307a515 [CST-15078] improve orcid logo image alt 2025-01-20 15:28:59 +01:00
Andrea Barbasso
44b900f5db [CST-15077] improve orcid logo image alt 2025-01-20 15:27:32 +01:00
Yana De Pauw
4f1013a20d Fix small issues 2025-01-20 13:27:36 +01:00
dependabot[bot]
39ddc5cbcd Bump jsonschema from 1.4.1 to 1.5.0
Bumps [jsonschema](https://github.com/tdegrunt/jsonschema) from 1.4.1 to 1.5.0.
- [Commits](https://github.com/tdegrunt/jsonschema/commits)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:58:28 +00:00
dependabot[bot]
9bc65b99a6 Bump core-js from 3.39.0 to 3.40.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.39.0 to 3.40.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.40.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:58:20 +00:00
dependabot[bot]
b65f1ee5e3 Bump core-js from 3.39.0 to 3.40.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.39.0 to 3.40.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.40.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:58:18 +00:00
dependabot[bot]
6eabe425c4 Bump mirador from 3.4.2 to 3.4.3
Bumps [mirador](https://github.com/ProjectMirador/mirador) from 3.4.2 to 3.4.3.
- [Release notes](https://github.com/ProjectMirador/mirador/releases)
- [Commits](https://github.com/ProjectMirador/mirador/compare/v3.4.2...v3.4.3)

---
updated-dependencies:
- dependency-name: mirador
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:57:55 +00:00
dependabot[bot]
9741ce3e69 Bump mirador from 3.4.2 to 3.4.3
Bumps [mirador](https://github.com/ProjectMirador/mirador) from 3.4.2 to 3.4.3.
- [Release notes](https://github.com/ProjectMirador/mirador/releases)
- [Commits](https://github.com/ProjectMirador/mirador/compare/v3.4.2...v3.4.3)

---
updated-dependencies:
- dependency-name: mirador
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:57:54 +00:00
dependabot[bot]
7472be0098 Bump @types/lodash from 4.17.13 to 4.17.14
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.13 to 4.17.14.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:57:43 +00:00
dependabot[bot]
98fd9e7182 Bump jsonschema from 1.4.1 to 1.5.0
Bumps [jsonschema](https://github.com/tdegrunt/jsonschema) from 1.4.1 to 1.5.0.
- [Commits](https://github.com/tdegrunt/jsonschema/commits)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:57:40 +00:00
dependabot[bot]
9708c06372 Bump express from 4.21.1 to 4.21.2
Bumps [express](https://github.com/expressjs/express) from 4.21.1 to 4.21.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.1...4.21.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:56:46 +00:00
dependabot[bot]
f02f8bab88 Bump postcss from 8.4.49 to 8.5.1 in the postcss group
Bumps the postcss group with 1 update: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.49 to 8.5.1
- [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.49...8.5.1)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:56:06 +00:00
dependabot[bot]
bb412469c7 Bump webpack from 5.96.1 to 5.97.1 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.96.1 to 5.97.1
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.96.1...v5.97.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-17 22:54:02 +00:00
Tim Donohue
9e2699cadd Merge pull request #3839 from DSpace/dependabot/npm_and_yarn/dspace-8_x/jsonschema-1.5.0
Bump jsonschema from 1.4.1 to 1.5.0
2025-01-17 16:49:38 -06:00
Tim Donohue
f3df3cc96c Merge pull request #3830 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sanitize-html-2.14.0
Bump sanitize-html from 2.13.1 to 2.14.0
2025-01-17 16:29:44 -06:00
Tim Donohue
8ef53178db Merge pull request #3831 from DSpace/dependabot/npm_and_yarn/dspace-7_x/isbot-5.1.21
Bump isbot from 5.1.17 to 5.1.21
2025-01-17 12:04:19 -06:00
Tim Donohue
c0ed0da8f3 Merge pull request #3838 from DSpace/dependabot/npm_and_yarn/dspace-8_x/types/lodash-4.17.14
Bump @types/lodash from 4.17.13 to 4.17.14
2025-01-17 12:03:17 -06:00
Tim Donohue
7009cf32cc Merge pull request #3834 from DSpace/dependabot/npm_and_yarn/types/lodash-4.17.14
Bump @types/lodash from 4.17.13 to 4.17.14
2025-01-17 12:02:49 -06:00
Tim Donohue
cd2959603b Merge pull request #3835 from DSpace/dependabot/npm_and_yarn/isbot-5.1.21
Bump isbot from 5.1.17 to 5.1.21
2025-01-17 11:21:50 -06:00
Tim Donohue
6ca8ac51b2 Merge pull request #3848 from DSpace/backport-3845-to-dspace-8_x
[Port dspace-8_x] Fix issue where scoped browse by would not inititialze correct component
2025-01-17 11:13:46 -06:00
Tim Donohue
3c47acf9f1 Merge pull request #3752 from DSpace/dependabot/npm_and_yarn/nanoid-3.3.8
Bump nanoid from 3.3.7 to 3.3.8
2025-01-17 10:42:21 -06:00
Tim Donohue
570d711e01 Merge pull request #3832 from DSpace/dependabot/npm_and_yarn/testing-905b8585bc
Bump ng-mocks from 14.13.1 to 14.13.2 in the testing group
2025-01-17 10:40:50 -06:00
Tim Donohue
395a5b2cb1 Merge pull request #3828 from DSpace/dependabot/npm_and_yarn/dspace-7_x/testing-752a8f7b41
Bump the testing group across 1 directory with 2 updates
2025-01-17 10:40:14 -06:00
Jens Vannerum
f0ea13288a 124382: fix issue where scoped browse by would not init correct components
(cherry picked from commit 32fae27c7a)
2025-01-17 15:12:08 +00:00
Tim Donohue
b2a10e4ace Merge pull request #3845 from atmire/issue-3840-scoped-browse-bys
Fix issue where scoped browse by would not inititialze correct component
2025-01-17 09:11:51 -06:00
Alan Orth
5b3b3bfb9c Restrict SSR to paths in the sitemap
Because Angular SSR is not very efficient, after discussion with
the Google Scholar team we realized a compromise would be to only
use SSR for pages in the DSpace sitemap (and the home page).
2025-01-17 15:30:43 +03:00
Alexandre Vryghem
89281d7c99 Merge branch 'w2p-122357_prevent-request-urls-from-being-fired-multiple-times-7.4' into w2p-122357_browse-performance-fixes_contribute-main 2025-01-17 00:52:43 +01:00
Alexandre Vryghem
c3e635bff1 Merge branch 'refactor-comcol-pages_contribute-7.6' into w2p-122357_browse-performance-fixes_contribute-main 2025-01-17 00:47:41 +01:00
Alexandre Vryghem
0570542b1e 122357: Reduced the amount of times the browse observables are fired again 2025-01-17 00:38:37 +01:00
Jens Vannerum
32fae27c7a 124382: fix issue where scoped browse by would not init correct components 2025-01-16 12:28:48 +01:00
dependabot[bot]
ce5ab70fd4 Bump isbot from 5.1.17 to 5.1.21
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.17 to 5.1.21.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.17...v5.1.21)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 23:48:52 +00:00
dependabot[bot]
2abdf122b4 Bump sanitize-html from 2.13.1 to 2.14.0
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) from 2.13.1 to 2.14.0.
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.13.1...2.14.0)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 23:46:54 +00:00
dependabot[bot]
9f9ca860e0 Bump @types/lodash from 4.17.13 to 4.17.14
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.13 to 4.17.14.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 23:44:13 +00:00
dependabot[bot]
31c9b854c6 Bump the testing group across 1 directory with 2 updates
Bumps the testing group with 2 updates in the / directory: [cypress](https://github.com/cypress-io/cypress) and [ng-mocks](https://github.com/help-me-mom/ng-mocks).


Updates `cypress` from 13.15.1 to 13.17.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.15.1...v13.17.0)

Updates `ng-mocks` from 14.13.1 to 14.13.2
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.13.1...v14.13.2)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
- dependency-name: ng-mocks
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 22:54:06 +00:00
Tim Donohue
75e45d4c15 Merge pull request #3774 from DSpace/dependabot/npm_and_yarn/dspace-7_x/mirador-3.4.2
Bump mirador from 3.3.0 to 3.4.2
2025-01-15 16:47:00 -06:00
Tim Donohue
64baa6ed7e Merge pull request #3780 from DSpace/dependabot/npm_and_yarn/dspace-8_x/mirador-3.4.2
Bump mirador from 3.3.0 to 3.4.2
2025-01-15 16:46:22 -06:00
Tim Donohue
76ae286f2a Merge pull request #3783 from DSpace/dependabot/npm_and_yarn/mirador-3.4.2
Bump mirador from 3.3.0 to 3.4.2
2025-01-15 16:45:48 -06:00
Tim Donohue
d88c8ef986 Merge pull request #3669 from DSpace/dependabot/npm_and_yarn/dspace-7_x/eslint-6ac3f070f3
Bump eslint-plugin-jsonc from 2.16.0 to 2.18.2 in the eslint group across 1 directory
2025-01-15 15:56:34 -06:00
Tim Donohue
fab441aacb Merge pull request #3666 from DSpace/dependabot/npm_and_yarn/dspace-8_x/eslint-6ac3f070f3
Bump eslint-plugin-jsonc from 2.16.0 to 2.18.2 in the eslint group across 1 directory
2025-01-15 15:56:07 -06:00
Tim Donohue
0e29c09b7a Merge pull request #3663 from DSpace/dependabot/npm_and_yarn/eslint-6ac3f070f3
Bump eslint-plugin-jsonc from 2.16.0 to 2.18.2 in the eslint group across 1 directory
2025-01-15 15:55:42 -06:00
Tim Donohue
f07a62b8b6 Merge pull request #3799 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-fc80c07a3c
Bump sass from 1.80.6 to 1.83.1 in the sass group across 1 directory
2025-01-15 15:53:30 -06:00
Tim Donohue
a6a44fd0b7 Merge pull request #3800 from DSpace/dependabot/npm_and_yarn/dspace-8_x/sass-fc80c07a3c
Bump sass from 1.80.6 to 1.83.1 in the sass group across 1 directory
2025-01-15 15:52:57 -06:00
Tim Donohue
6cf05c1403 Merge pull request #3798 from DSpace/dependabot/npm_and_yarn/sass-fc80c07a3c
Bump sass from 1.80.6 to 1.83.1 in the sass group across 1 directory
2025-01-15 15:52:17 -06:00
Tim Donohue
2b96983f9d Merge pull request #3775 from DSpace/dependabot/npm_and_yarn/dspace-7_x/fortawesome/fontawesome-free-6.7.2
Bump @fortawesome/fontawesome-free from 6.6.0 to 6.7.2
2025-01-15 15:12:53 -06:00
Tim Donohue
7eabaa79b4 Merge pull request #3778 from DSpace/dependabot/npm_and_yarn/dspace-8_x/fortawesome/fontawesome-free-6.7.2
Bump @fortawesome/fontawesome-free from 6.6.0 to 6.7.2
2025-01-15 15:12:25 -06:00
Tim Donohue
09c11f8dbc Merge pull request #3782 from DSpace/dependabot/npm_and_yarn/fortawesome/fontawesome-free-6.7.2
Bump @fortawesome/fontawesome-free from 6.6.0 to 6.7.2
2025-01-15 15:11:29 -06:00
Tim Donohue
c8b2642f57 Merge pull request #3829 from DSpace/dependabot/npm_and_yarn/dspace-7_x/express-4.21.2
Bump express from 4.21.1 to 4.21.2
2025-01-15 15:00:29 -06:00
Tim Donohue
de89bb20af Merge pull request #3732 from DSpace/dependabot/npm_and_yarn/dspace-8_x/express-4.21.2
Bump express from 4.21.1 to 4.21.2
2025-01-15 15:00:00 -06:00
dependabot[bot]
fd166fe79a Bump eslint-plugin-jsonc in the eslint group across 1 directory
Bumps the eslint group with 1 update in the / directory: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.16.0 to 2.18.2
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.16.0...v2.18.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 19:51:07 +00:00
dependabot[bot]
e4bb42bb30 Bump eslint-plugin-jsonc in the eslint group across 1 directory
Bumps the eslint group with 1 update in the / directory: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.16.0 to 2.18.2
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.16.0...v2.18.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-15 19:49:39 +00:00
Tim Donohue
6446911441 Merge pull request #3844 from tdonohue/port_3842_to_7x
[Port dspace-7_x] Attempt to stabilize a few randomly failing e2e tests
2025-01-15 13:45:19 -06:00
Tim Donohue
8a6fc090b8 Merge pull request #3843 from tdonohue/port_3842_to_8x
[Port dspace-8_x] Attempt to stabilize a few randomly failing e2e tests
2025-01-15 13:45:09 -06:00
Tim Donohue
dde029df7f Ensure Item Edit page tab is visible before & after clicking it. 2025-01-15 13:04:32 -06:00
Tim Donohue
b0924b5d98 Ensure Admin sidebar link is visible before clicking links 2025-01-15 13:04:32 -06:00
Tim Donohue
9e1ce916f6 Ensure Item Edit page tab is visible before & after clicking it. 2025-01-15 13:01:58 -06:00
Tim Donohue
ecceaf9ee1 Ensure Admin sidebar link is visible before clicking links 2025-01-15 13:01:58 -06:00
Tim Donohue
c20bf58b4b Merge pull request #3842 from tdonohue/test_stabilization
Attempt to stabilize a few randomly failing e2e tests
2025-01-15 12:04:40 -06:00
Tim Donohue
7feb9fc617 Ensure Item Edit page tab is visible before & after clicking it. 2025-01-15 10:37:30 -06:00
Tim Donohue
5623cc9221 Ensure Admin sidebar link is visible before clicking links 2025-01-15 10:30:46 -06:00
Tim Donohue
fcf3370d66 Merge pull request #3727 from DSpace/dependabot/npm_and_yarn/dspace-7_x/axios-1.7.9
Bump axios from 1.7.7 to 1.7.9
2025-01-14 17:02:24 -06:00
Tim Donohue
a01ca48c87 Merge pull request #3733 from DSpace/dependabot/npm_and_yarn/dspace-8_x/axios-1.7.9
Bump axios from 1.7.7 to 1.7.9
2025-01-14 17:01:47 -06:00
Tim Donohue
6dd61ca25e Merge pull request #3734 from DSpace/dependabot/npm_and_yarn/axios-1.7.9
Bump axios from 1.7.7 to 1.7.9
2025-01-14 17:01:24 -06:00
Tim Donohue
813e965938 Merge pull request #3702 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sortablejs-1.15.6
Bump sortablejs from 1.15.3 to 1.15.6
2025-01-14 16:53:20 -06:00
DanGastardelli
fa723c17a9 Adjust thumb text for smaller resolutions 2025-01-14 12:51:07 -03:00
dependabot[bot]
ed660cb8f7 Bump jsonschema from 1.4.1 to 1.5.0
Bumps [jsonschema](https://github.com/tdegrunt/jsonschema) from 1.4.1 to 1.5.0.
- [Commits](https://github.com/tdegrunt/jsonschema/commits)

---
updated-dependencies:
- dependency-name: jsonschema
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:49:07 +00:00
dependabot[bot]
fb3a10250d Bump sass from 1.80.6 to 1.83.1 in the sass group across 1 directory
Bumps the sass group with 1 update in the / directory: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.6 to 1.83.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.6...1.83.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:47:21 +00:00
dependabot[bot]
f067eb9aae Bump eslint-plugin-jsonc in the eslint group across 1 directory
Bumps the eslint group with 1 update in the / directory: [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc).


Updates `eslint-plugin-jsonc` from 2.16.0 to 2.18.2
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.16.0...v2.18.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsonc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:08:41 +00:00
dependabot[bot]
d8a73c362c Bump isbot from 5.1.17 to 5.1.21
Bumps [isbot](https://github.com/omrilotan/isbot) from 5.1.17 to 5.1.21.
- [Changelog](https://github.com/omrilotan/isbot/blob/main/CHANGELOG.md)
- [Commits](https://github.com/omrilotan/isbot/compare/v5.1.17...v5.1.21)

---
updated-dependencies:
- dependency-name: isbot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:08:38 +00:00
dependabot[bot]
e02326510f Bump @types/lodash from 4.17.13 to 4.17.14
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.13 to 4.17.14.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:08:15 +00:00
dependabot[bot]
096c5bdedd Bump ng-mocks from 14.13.1 to 14.13.2 in the testing group
Bumps the testing group with 1 update: [ng-mocks](https://github.com/help-me-mom/ng-mocks).


Updates `ng-mocks` from 14.13.1 to 14.13.2
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.13.1...v14.13.2)

---
updated-dependencies:
- dependency-name: ng-mocks
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:07:30 +00:00
dependabot[bot]
ccdf5498d8 Bump sass from 1.80.6 to 1.83.1 in the sass group across 1 directory
Bumps the sass group with 1 update in the / directory: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.6 to 1.83.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.6...1.83.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 03:07:14 +00:00
dependabot[bot]
3c16537fe4 Bump express from 4.21.1 to 4.21.2
Bumps [express](https://github.com/expressjs/express) from 4.21.1 to 4.21.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.1...4.21.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 02:39:41 +00:00
dependabot[bot]
a57fd1a069 Bump sass from 1.80.6 to 1.83.1 in the sass group across 1 directory
Bumps the sass group with 1 update in the / directory: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.6 to 1.83.1
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.6...1.83.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 02:39:03 +00:00
Tim Donohue
1c4ffe58fd Merge pull request #3825 from tdonohue/port_3105_to_8x
[Port dspace-8_x] Fix for User profile (/profile): only 20 group memberships shown instead of all
2025-01-10 17:07:37 -06:00
Tim Donohue
6f5864d106 Merge pull request #3826 from tdonohue/port_3105_to_7x
[Port dspace-7_x] Fix for User profile (/profile): only 20 group memberships shown instead of all
2025-01-10 17:07:33 -06:00
Tim Donohue
99f2ecd86b Merge pull request #3823 from tdonohue/port_3096_to_8x
[Port dspace-8_x] Change - Metadata field selector, add infinite scroll for data paginated
2025-01-10 16:23:37 -06:00
Tim Donohue
fbe4ce5829 Merge pull request #3824 from tdonohue/port_3096_to_7x
[Port dspace-7_x] Change - Metadata field selector, add infinite scroll for data paginated
2025-01-10 16:23:13 -06:00
VictorHugoDuranS
112bed787a Fix for User profile (/profile): only 20 group memberships shown instead of all (#3105)
* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Fix UPDATE - Add pagination message error and loader

* Update BRANCH

* Fix - LINT ERRORS

* Fix: Error declaring variable for group pagination

* Fix: Remove unnecessary translations for paging groups

* Fix: Lint erros

* Fix: Remove unnecessary translations

---------

Co-authored-by: VictorDuranEscire <victor@escire.lat>
2025-01-10 15:53:09 -06:00
VictorHugoDuranS
8712504376 Fix for User profile (/profile): only 20 group memberships shown instead of all (#3105)
* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Fix UPDATE - Add pagination message error and loader

* Update BRANCH

* Fix - LINT ERRORS

* Fix: Error declaring variable for group pagination

* Fix: Remove unnecessary translations for paging groups

* Fix: Lint erros

* Fix: Remove unnecessary translations

---------

Co-authored-by: VictorDuranEscire <victor@escire.lat>
2025-01-10 15:43:49 -06:00
VictorHugoDuranS
05d5a0816d Change - Metadata field selector, add infinite scroll for data paginated (#3096)
* Change - Metadata field selector add infinite scroll for data paginated

* Update change on new BRANCH

* Fix - LINT ERRORS

* Fix - LINT ERRORS
2025-01-10 15:42:33 -06:00
VictorHugoDuranS
c5f07daab7 Fix for User profile (/profile): only 20 group memberships shown instead of all (#3105)
* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Add - groups paginated on profile page

* Fix UPDATE - Add pagination message error and loader

* Update BRANCH

* Fix - LINT ERRORS

* Fix: Error declaring variable for group pagination

* Fix: Remove unnecessary translations for paging groups

* Fix: Lint erros

* Fix: Remove unnecessary translations

---------

Co-authored-by: VictorDuranEscire <victor@escire.lat>
2025-01-10 15:35:41 -06:00
VictorHugoDuranS
eaa239c764 Change - Metadata field selector, add infinite scroll for data paginated (#3096)
* Change - Metadata field selector add infinite scroll for data paginated

* Update change on new BRANCH

* Fix - LINT ERRORS

* Fix - LINT ERRORS
2025-01-10 15:18:51 -06:00
VictorHugoDuranS
f52aac879a Change - Metadata field selector, add infinite scroll for data paginated (#3096)
* Change - Metadata field selector add infinite scroll for data paginated

* Update change on new BRANCH

* Fix - LINT ERRORS

* Fix - LINT ERRORS
2025-01-10 15:17:08 -06:00
Tim Donohue
fcc148f546 Merge pull request #3822 from DSpace/backport-3608-to-dspace-8_x
[Port dspace-8_x] Add button to allow free-text editing in the dropdown field of Edit Item
2025-01-10 14:40:38 -06:00
Toni Prieto
08257cb9f2 Allow free-text editing for hierarchical vocabulary fields as well
(cherry picked from commit 67f9623cf4)
2025-01-10 19:21:27 +00:00
Toni Prieto
496ce64505 Add button to enable free-text editing in dropdown fields during item edition and fix error when clicking "Clear selection" option
(cherry picked from commit 28c8550ef5)
2025-01-10 19:21:27 +00:00
Tim Donohue
08800f4469 Merge pull request #3608 from toniprieto/allow-free-text-edition
Add button to allow free-text editing in the dropdown field of Edit Item
2025-01-10 13:21:09 -06:00
Tim Donohue
80f6cd5b4e Merge pull request #3816 from toniprieto/translate-ca-8x
[Port dspace-8_x] Update catalan translation
2025-01-09 16:57:55 -06:00
Tim Donohue
76ca7717ac Merge pull request #3815 from toniprieto/translate-es-8x
[Port dspace-8_x] Update spanish translation
2025-01-09 16:57:01 -06:00
Tim Donohue
952611a3d3 Merge pull request #3814 from toniprieto/translate-es-9x
Update spanish translation
2025-01-09 16:27:42 -06:00
Toni Prieto
eb51b7986d Update ca.json5 2025-01-09 20:14:00 +01:00
Toni Prieto
1c48188200 Update es.json5 2025-01-09 20:02:39 +01:00
Alexandre Vryghem
3ecdfe422d 122357: Ensure the request href$ observable aren't triggered multiple times 2025-01-09 18:47:14 +01:00
Toni Prieto
050cde3735 Update es.json5 2025-01-08 22:54:11 +01:00
Tim Donohue
bfe927e65a Merge pull request #3811 from tdonohue/port_3701_to_8x
[Port dspace-8_x] Reduce browse definition requests on simple item page (#3701)
2025-01-08 07:43:29 -06:00
Alan Orth
58e9a60812 Merge pull request #3812 from tdonohue/port_3701_to_7x 2025-01-08 10:20:58 +03:00
Tim Donohue
272cb656cd Merge pull request #3631 from DSpace/dependabot/npm_and_yarn/orejime-2.3.1
Bump orejime from 2.3.0 to 2.3.1
2025-01-07 17:06:18 -06:00
Koen Pauwels
76539dd8a1 Reduce browse definition requests on simple item page (#3701)
* 121561 Reduce the number of browse definition requests on Item pages by reusing the navbar request for all browse indexes

* Fix test issues.

---------

Co-authored-by: Koen Pauwels <koen.pauwels@atmire.com>
2025-01-07 17:00:53 -06:00
Tim Donohue
d0a8448de6 Merge pull request #3668 from DSpace/dependabot/npm_and_yarn/dspace-7_x/postcss-65f8102df2
Bump postcss from 8.4.47 to 8.4.49 in the postcss group across 1 directory
2025-01-07 16:18:38 -06:00
Tim Donohue
e8f0c20beb Merge pull request #3665 from DSpace/dependabot/npm_and_yarn/dspace-8_x/postcss-65f8102df2
Bump postcss from 8.4.47 to 8.4.49 in the postcss group across 1 directory
2025-01-07 16:18:18 -06:00
Tim Donohue
cf87b905b6 Merge pull request #3662 from DSpace/dependabot/npm_and_yarn/postcss-65f8102df2
Bump postcss from 8.4.47 to 8.4.49 in the postcss group across 1 directory
2025-01-07 16:16:57 -06:00
Tim Donohue
b8509d8f74 Merge pull request #3779 from DSpace/dependabot/npm_and_yarn/dspace-8_x/testing-4e904f02fc
Bump cypress from 13.16.0 to 13.17.0 in the testing group across 1 directory
2025-01-07 16:03:36 -06:00
Tim Donohue
c1fb26fe26 Merge pull request #3781 from DSpace/dependabot/npm_and_yarn/testing-4e904f02fc
Bump cypress from 13.16.0 to 13.17.0 in the testing group across 1 directory
2025-01-07 16:03:09 -06:00
Tim Donohue
e07c2514fe Merge pull request #3777 from DSpace/dependabot/npm_and_yarn/dspace-8_x/webpack-2095da29ad
Bump webpack from 5.96.1 to 5.97.1 in the webpack group
2025-01-07 16:01:53 -06:00
Koen Pauwels
0120896135 Reduce browse definition requests on simple item page (#3701)
* 121561 Reduce the number of browse definition requests on Item pages by reusing the navbar request for all browse indexes

* Fix test issues.

---------

Co-authored-by: Koen Pauwels <koen.pauwels@atmire.com>
2025-01-07 15:36:20 -06:00
Koen Pauwels
8a62deb90b Reduce browse definition requests on simple item page (#3701)
* 121561 Reduce the number of browse definition requests on Item pages by reusing the navbar request for all browse indexes

* Fix test issues.

---------

Co-authored-by: Koen Pauwels <koen.pauwels@atmire.com>
2025-01-07 15:23:48 -06:00
Tim Donohue
9fce33f514 Merge pull request #3805 from DSpace/backport-3719-to-dspace-7_x
[Port dspace-7_x] Remove nested span elements with duplicate content of parent elements
2025-01-07 10:46:04 -06:00
Tim Donohue
9284763fe2 Merge pull request #3806 from DSpace/backport-3719-to-dspace-8_x
[Port dspace-8_x] Remove nested span elements with duplicate content of parent elements
2025-01-07 10:45:54 -06:00
Sascha Szott
25de1e48f3 fix indentation
(cherry picked from commit dbd67f056e)
2025-01-07 15:09:01 +00:00
Sascha Szott
05dce42f87 remove nested span element
(cherry picked from commit acb7c9bd33)
2025-01-07 15:09:01 +00:00
Sascha Szott
2029156e49 fix nested span element
(cherry picked from commit 97b5e0cc92)
2025-01-07 15:09:01 +00:00
Sascha Szott
00a514b969 fix nested span element
(cherry picked from commit e9a28c6d3d)
2025-01-07 15:09:01 +00:00
Sascha Szott
1322d0ad69 fix nested span element
(cherry picked from commit 2e174cd9e6)
2025-01-07 15:09:01 +00:00
Sascha Szott
483214d8e2 fix nested span element
(cherry picked from commit 15d3f257b3)
2025-01-07 15:09:01 +00:00
Sascha Szott
e41e8b2847 fix nested span element
(cherry picked from commit 8509096c32)
2025-01-07 15:09:01 +00:00
Sascha Szott
43d4e97695 fix nested span element
(cherry picked from commit 84878ede67)
2025-01-07 15:09:01 +00:00
Sascha Szott
5f32b643b3 fix nested span element in templates
(cherry picked from commit 394ecea118)
2025-01-07 15:09:01 +00:00
Sascha Szott
04123f92aa fix indentation
(cherry picked from commit dbd67f056e)
2025-01-07 15:08:57 +00:00
Sascha Szott
7538f49a36 remove nested span element
(cherry picked from commit acb7c9bd33)
2025-01-07 15:08:57 +00:00
Sascha Szott
60586f6c33 fix nested span element
(cherry picked from commit 97b5e0cc92)
2025-01-07 15:08:57 +00:00
Sascha Szott
86a6897861 fix nested span element
(cherry picked from commit e9a28c6d3d)
2025-01-07 15:08:57 +00:00
Sascha Szott
68372b2cb8 fix nested span element
(cherry picked from commit 2e174cd9e6)
2025-01-07 15:08:57 +00:00
Sascha Szott
cefeb6a1d6 fix nested span element
(cherry picked from commit 15d3f257b3)
2025-01-07 15:08:57 +00:00
Sascha Szott
9c859b1fdc fix nested span element
(cherry picked from commit 8509096c32)
2025-01-07 15:08:57 +00:00
Sascha Szott
fbaa5068af fix nested span element
(cherry picked from commit 84878ede67)
2025-01-07 15:08:56 +00:00
Sascha Szott
8515de3d10 fix nested span element in templates
(cherry picked from commit 394ecea118)
2025-01-07 15:08:56 +00:00
Tim Donohue
f24e53f1ea Merge pull request #3719 from saschaszott/saschaszott-patch-5
Remove nested span elements with duplicate content of parent elements
2025-01-07 09:08:35 -06:00
dependabot[bot]
da3af31ac2 Bump express from 4.21.1 to 4.21.2
Bumps [express](https://github.com/expressjs/express) from 4.21.1 to 4.21.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.1...4.21.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 23:20:49 +00:00
Tim Donohue
34ee111133 Merge pull request #3636 from DSpace/dependabot/npm_and_yarn/dspace-8_x/express-static-gzip-2.2.0
Bump express-static-gzip from 2.1.8 to 2.2.0
2025-01-06 17:00:48 -06:00
Tim Donohue
96cdab8d6a Merge pull request #3640 from DSpace/dependabot/npm_and_yarn/dspace-7_x/express-static-gzip-2.2.0
Bump express-static-gzip from 2.1.8 to 2.2.0
2025-01-06 17:00:32 -06:00
Tim Donohue
b1c507807a Merge pull request #3632 from DSpace/dependabot/npm_and_yarn/express-static-gzip-2.2.0
Bump express-static-gzip from 2.1.8 to 2.2.0
2025-01-06 16:59:43 -06:00
Tim Donohue
ebc7799404 Merge pull request #3795 from alexandrevryghem/w2p-122005_fixed-dropdown-values-resetting-on-enter_contribute-7_x
[Port dspace-7_x] Fixed dropdown/lookup & lookup-name fields being reset when hitting enter
2025-01-06 16:24:11 -06:00
Tim Donohue
6fe351aa2c Merge pull request #3796 from alexandrevryghem/w2p-122005_fixed-dropdown-values-resetting-on-enter_contribute-8_x
[Port dspace-8_x] Fixed dropdown/lookup & lookup-name fields being reset when hitting enter
2025-01-06 16:24:02 -06:00
Alexandre Vryghem
d3d86f4f2d 119799: Prevent the lookup/lookup-name fields from resetting when hitting the enter key in another input field
(cherry picked from commit c8694e1a87)
2025-01-06 22:38:58 +01:00
Alexandre Vryghem
c925424ced 119799: Prevent the lookup/lookup-name fields from resetting when hitting the enter key in another input field
(cherry picked from commit c8694e1a87)
2025-01-06 22:31:54 +01:00
Tim Donohue
202cfe427b Merge pull request #3802 from DSpace/backport-3772-to-dspace-8_x
[Port dspace-8_x] add German translation of process view related keys
2025-01-06 14:04:01 -06:00
Tim Donohue
aa93989f4b Merge pull request #3803 from DSpace/backport-3142-to-dspace-8_x
[Port dspace-8_x] Add support for non repeatable relationships
2025-01-06 14:03:28 -06:00
Yana De Pauw
48f7e51695 115284: Add tests for isRepeatable
(cherry picked from commit 161daffcc0)
2025-01-06 18:04:33 +00:00
Yana De Pauw
e4a464d44f 115284: Add repeatable based on relationship max cardinality
(cherry picked from commit 105547598f)
2025-01-06 18:04:33 +00:00
Tim Donohue
a078932857 Merge pull request #3143 from atmire/w2p-115284_add-support-for-non-repeatable-relationships_dspace-7-x
[Port dspace-7_x] Add support for non repeatable relationships
2025-01-06 11:59:13 -06:00
Tim Donohue
5bd8795262 Merge pull request #3142 from atmire/w2p-115284_add-support-for-non-repeatable-relationships_dspace-8
Add support for non repeatable relationships
2025-01-06 11:58:04 -06:00
Sascha Szott
dda5ee1123 add German translation of process view related keys
(cherry picked from commit 85a120da62)
2025-01-06 16:49:36 +00:00
Tim Donohue
53f46040d3 Merge pull request #3772 from saschaszott/saschaszott-patch-7
add German translation of process view related keys
2025-01-06 10:48:46 -06:00
Tim Donohue
2d58de86bd Merge pull request #3801 from tdonohue/port_3192_to_8x
[Port dspace-8_x] Spanish translation keys
2025-01-06 10:28:43 -06:00
Tim Donohue
da6447aefd Port of 3192 by @Andrea-Guevara 2025-01-06 09:45:39 -06:00
Tim Donohue
2c22517090 Merge pull request #3192 from Neki-IT/SpanishTranslationKeys
Spanish translation keys
2025-01-06 09:29:30 -06:00
Tim Donohue
7140e6e716 Merge pull request #3793 from alanorth/node-version-readme-8x
[Port dspace-8_x] README.md: update Node.js and NPM versions
2025-01-06 09:16:32 -06:00
Tim Donohue
d8246f4550 Merge pull request #3792 from alanorth/node-version-readme
README.md: update Node.js and NPM versions
2025-01-06 09:16:07 -06:00
Tim Donohue
0b6effe4aa Merge pull request #3791 from DSpace/backport-3737-to-dspace-8_x
[Port dspace-8_x] Fixes typo for 'descrption'
2025-01-06 09:13:23 -06:00
Tim Donohue
15e0fd4636 Merge pull request #3790 from DSpace/backport-3718-to-dspace-8_x
[Port dspace-8_x] fix selector in OrgUnitSearchResultListSubmissionElementComponent compontent
2025-01-06 09:01:41 -06:00
Tim Donohue
a1b7c8d9c5 Merge pull request #3789 from DSpace/backport-3718-to-dspace-7_x
[Port dspace-7_x] fix selector in OrgUnitSearchResultListSubmissionElementComponent compontent
2025-01-06 09:00:57 -06:00
Yana De Pauw
cb4a7b31f0 Add missing provider tests 2025-01-06 14:38:19 +01:00
root
fda9330221 Advanced search translation keys 2025-01-06 08:21:04 -03:00
dependabot[bot]
894448e3dc Bump postcss in the postcss group across 1 directory
Bumps the postcss group with 1 update in the / directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.47 to 8.4.49
- [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.47...8.4.49)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 03:04:09 +00:00
dependabot[bot]
9d4542c2a4 Bump cypress in the testing group across 1 directory
Bumps the testing group with 1 update in the / directory: [cypress](https://github.com/cypress-io/cypress).


Updates `cypress` from 13.16.0 to 13.17.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.16.0...v13.17.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 02:38:49 +00:00
dependabot[bot]
c1a1fe7443 Bump postcss in the postcss group across 1 directory
Bumps the postcss group with 1 update in the / directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.47 to 8.4.49
- [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.47...8.4.49)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-06 02:38:29 +00:00
Toni Prieto
e04cdef429 Update ca.json5 2025-01-03 18:02:49 +01:00
Alexandre Vryghem
636c85ae59 Merge branch 'w2p-122005_fixed-dropdown-values-resetting-on-enter_contribute-7.6' into dspace-8_x 2025-01-03 17:30:53 +01:00
Alexandre Vryghem
b25294c872 Merge branch 'w2p-122005_fixed-dropdown-values-resetting-on-enter_contribute-7.6' into dspace-7_x
# Conflicts:
#	src/app/shared/form/builder/ds-dynamic-form-ui/models/scrollable-dropdown/dynamic-scrollable-dropdown.component.html
2025-01-03 17:08:46 +01:00
root
01cb2c7429 Fixing space error and adding new translation keys 2025-01-03 10:14:47 -03:00
Alan Orth
f993ced1b7 README.md: update Node.js and NPM versions
Angular 17.x needs Node.js 18.x or 20.x, which come with NPM v10.

See: https://angular.dev/reference/versions
See: https://nodejs.org/en/about/previous-releases#looking-for-latest-release-of-a-version-branch
2025-01-03 10:30:30 +03:00
Alan Orth
d1d9f2f7f9 README.md: update Node.js and NPM versions
Angular 17.x needs Node.js 18.x or 20.x, which come with NPM v10.

See: https://angular.dev/reference/versions
See: https://nodejs.org/en/about/previous-releases#looking-for-latest-release-of-a-version-branch
2025-01-03 10:25:37 +03:00
Alexandre Vryghem
2cde0d3f21 Fixed dropdown/lookup & lookup-name fields being reset when hitting enter (#3724) 2025-01-03 09:09:44 +03:00
nwoodward
323370ee04 fixed typo in descrption
(cherry picked from commit c67dc4d8e4)
2025-01-03 06:07:00 +00:00
Alan Orth
08f48d8204 Merge pull request #3737 from TexasDigitalLibrary/fix-typo-browse-metadata 2025-01-03 09:06:46 +03:00
Sascha Szott
d61d223d56 fix value of selector in component annotation
(cherry picked from commit 71de4b600b)
2025-01-03 06:01:08 +00:00
Sascha Szott
ecf3298345 fix value of selector in component annotation
(cherry picked from commit 71de4b600b)
2025-01-03 06:01:04 +00:00
Alan Orth
af7c095af0 Merge pull request #3718 from saschaszott/saschaszott-patch-4 2025-01-03 09:00:48 +03:00
Yana De Pauw
b8bb3ff815 Merge branch 'w2p-121550_refactor-menu-resolvers-7.6_option-1' into refactor-menu-resolvers-7.6_sketch-branch 2025-01-02 17:42:51 +01:00
Andreas Awouters
18819b76a8 Merge branch 'w2p-122839_vocabulary-preloadlevel-fix' into vocabulary-preloadlevel-fix-7_x
# Conflicts:
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.ts
2025-01-02 15:12:50 +01:00
Andrea-Guevara
fea109117f Merge branch 'main' into SpanishTranslationKeys 2025-01-02 11:02:58 -03:00
Andreas Awouters
4ffde928d4 122839: Fix vocabulary-treeview component tests 2025-01-02 14:42:17 +01:00
Yana De Pauw
4729ae950d Fix merge issues 2025-01-02 14:17:06 +01:00
Andreas Awouters
9406f7b085 122839: Retrieve preloadLevel from vocabulary before creating tree 2025-01-02 12:04:40 +01:00
Yana De Pauw
1c1bcc704a Merge branch 'refactor-menu-resolvers-7.6_basic-providers-tests' into refactor-menu-resolvers-7.6_sketch-branch 2025-01-02 11:14:56 +01:00
Alexandre Vryghem
d85d5fbd71 121550: Use IDs on the routes in order to assign AbstractRouteContextMenuProviders 2025-01-02 10:29:30 +01:00
jensvannerum
33fdee554e [Port dspace-7_x] Get rid of unnecessary and failing REST requests when navigating between different browse indexes (#3788)
Co-authored-by: Koen Pauwels <koen.pauwels@atmire.com>
Co-authored-by: Jens Vannerum <jens.vannerum@atmire.com>
2025-01-01 12:50:30 +03:00
Gantner, Florian Klaus
4dcc7c282d translation keys for datacite project import
https://github.com/DSpace/DSpace/issues/9636
2024-12-28 12:58:18 +01:00
Gantner, Florian Klaus
d61cb33f9a change search filter isOpenByDefault autoserialization
https://github.com/DSpace/DSpace/issues/9404
2024-12-27 13:14:30 +01:00
Andreas Awouters
cee9d0422b 122839: Load nodes up to defined preloadLevel 2024-12-24 15:17:27 +01:00
dependabot[bot]
741cf66518 Bump mirador from 3.3.0 to 3.4.2
Bumps [mirador](https://github.com/ProjectMirador/mirador) from 3.3.0 to 3.4.2.
- [Release notes](https://github.com/ProjectMirador/mirador/releases)
- [Commits](https://github.com/ProjectMirador/mirador/compare/v3.3.0...v3.4.2)

---
updated-dependencies:
- dependency-name: mirador
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:04:05 +00:00
dependabot[bot]
b583e17880 Bump @fortawesome/fontawesome-free from 6.6.0 to 6.7.2
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.6.0 to 6.7.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:03:54 +00:00
dependabot[bot]
3f8ef9be9d Bump mirador from 3.3.0 to 3.4.2
Bumps [mirador](https://github.com/ProjectMirador/mirador) from 3.3.0 to 3.4.2.
- [Release notes](https://github.com/ProjectMirador/mirador/releases)
- [Commits](https://github.com/ProjectMirador/mirador/compare/v3.3.0...v3.4.2)

---
updated-dependencies:
- dependency-name: mirador
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:01:29 +00:00
dependabot[bot]
d4d36f0105 Bump postcss in the postcss group across 1 directory
Bumps the postcss group with 1 update in the / directory: [postcss](https://github.com/postcss/postcss).


Updates `postcss` from 8.4.47 to 8.4.49
- [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.47...8.4.49)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: postcss
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:00:49 +00:00
dependabot[bot]
c67861692a Bump cypress in the testing group across 1 directory
Bumps the testing group with 1 update in the / directory: [cypress](https://github.com/cypress-io/cypress).


Updates `cypress` from 13.16.0 to 13.17.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.16.0...v13.17.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:00:28 +00:00
dependabot[bot]
4223abd601 Bump @fortawesome/fontawesome-free from 6.6.0 to 6.7.2
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.6.0 to 6.7.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:00:27 +00:00
dependabot[bot]
36701bcf20 Bump webpack from 5.96.1 to 5.97.1 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.96.1 to 5.97.1
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.96.1...v5.97.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 03:00:12 +00:00
dependabot[bot]
5c8eabddab Bump @fortawesome/fontawesome-free from 6.6.0 to 6.7.2
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.6.0 to 6.7.2.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.6.0...6.7.2)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 02:28:53 +00:00
dependabot[bot]
a18225aa4d Bump mirador from 3.3.0 to 3.4.2
Bumps [mirador](https://github.com/ProjectMirador/mirador) from 3.3.0 to 3.4.2.
- [Release notes](https://github.com/ProjectMirador/mirador/releases)
- [Commits](https://github.com/ProjectMirador/mirador/compare/v3.3.0...v3.4.2)

---
updated-dependencies:
- dependency-name: mirador
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-23 02:28:39 +00:00
DanGastardelli
829d406808 Key spacing adjustment 2024-12-20 15:51:21 -03:00
DanGastardelli
e06db4cbab Adding treatment for the use of the thumb-font-2 class 2024-12-20 15:50:27 -03:00
Sascha Szott
85a120da62 add German translation of process view related keys 2024-12-20 14:28:22 +01:00
Tim Donohue
587df79f3a Merge pull request #3771 from DSpace/backport-3679-to-dspace-8_x
[Port dspace-8_x] #3678, #3217 - Fix ordering and changing values of repeatable inputs in submission form
2024-12-19 17:03:11 -06:00
Tim Donohue
d578222f8f Merge pull request #3770 from DSpace/backport-3679-to-dspace-7_x
[Port dspace-7_x] #3678, #3217 - Fix ordering and changing values of repeatable inputs in submission form
2024-12-19 16:58:03 -06:00
Tim Donohue
6ce17e06c4 Merge pull request #3714 from qultoltd/dspace-8_x
Updating Hungarian translations for DSpace 8.0
2024-12-19 16:56:01 -06:00
Andrea Barbasso
bb608d919f [DURACOM-297] fix changing values in submission form after ordering
(cherry picked from commit 1c9272107c)
2024-12-19 22:25:54 +00:00
Andrea Barbasso
abc3c41c63 [DURACOM-297] fix changing values in submission form after ordering
(cherry picked from commit 1c9272107c)
2024-12-19 22:25:50 +00:00
Tim Donohue
6ac922971d Merge pull request #3679 from 4Science/task/main/DURACOM-297
#3678, #3217 - Fix ordering and changing values of repeatable inputs in submission form
2024-12-19 16:25:35 -06:00
Tim Donohue
6bcac36c14 Merge pull request #3654 from 4Science/task/dspace-8_x/DURACOM-302_2
#3624 - Fix Multi-Row Drag-and-Drop Issue for Chips in Item Submission Form
2024-12-19 16:24:43 -06:00
Tim Donohue
a8e658a399 Merge pull request #3768 from tdonohue/port_3367_to_7x
[Port dspace-7_x] Accessibility in vocabulary treeview
2024-12-19 14:31:25 -06:00
Tim Donohue
76a02b296f Merge pull request #3765 from DSpace/backport-3322-to-dspace-8_x
[Port dspace-8_x] fix #3241: Configuring the URI link target
2024-12-19 14:31:11 -06:00
Tim Donohue
fa1ce5b7af Merge pull request #3767 from DSpace/backport-3367-to-dspace-8_x
[Port dspace-8_x] Accessibility in vocabulary treeview
2024-12-19 14:30:24 -06:00
Tim Donohue
81522586dd Merge pull request #3766 from tdonohue/port_3322_to_7x
[Port dspace-7_x] fix #3241: Configuring the URI link target
2024-12-19 12:26:22 -06:00
andreaNeki
a8ff6a41e0 Trying to correct an error in the focus implementation 2024-12-19 12:18:08 -06:00
andreaNeki
75260b00d9 Ensuring that the message “There were no items to show” is announced to the screen reader when necessary 2024-12-19 12:17:53 -06:00
andreaNeki
14680b013e Adding focus to the input after the reset button is clicked 2024-12-19 12:15:47 -06:00
andreaNeki
b601405e56 Adding the aria-label attribute to buttons 2024-12-19 12:14:10 -06:00
andreaNeki
5d410b7c53 Trying to correct an error in the focus implementation
(cherry picked from commit 73d39abfe5)
2024-12-19 18:09:22 +00:00
andreaNeki
8e25c178eb Ensuring that the message “There were no items to show” is announced to the screen reader when necessary
(cherry picked from commit 3658ad1ec0)
2024-12-19 18:09:22 +00:00
andreaNeki
e173153e7d Adding focus to the input after the reset button is clicked
(cherry picked from commit e54b1ce274)
2024-12-19 18:09:22 +00:00
andreaNeki
6425ec7d5e Adding the aria-label attribute to buttons
(cherry picked from commit 9565f9b9ee)
2024-12-19 18:09:21 +00:00
root
c6ef2f1bd0 Addition of unit tests for the getLinkAttributes() method 2024-12-19 11:50:28 -06:00
igorbaptist4
2a1ef02d75 fix identation 2024-12-19 11:50:21 -06:00
igorbaptist4
25ab69ff21 Configuring the URI link target 2024-12-19 11:50:07 -06:00
root
8a778f6c3d Addition of unit tests for the getLinkAttributes() method
(cherry picked from commit 8572bfb1b1)
2024-12-19 17:44:43 +00:00
igorbaptist4
f8431dbdd7 fix identation
(cherry picked from commit d7869f408e)
2024-12-19 17:44:42 +00:00
igorbaptist4
5173b28b5a Configuring the URI link target
(cherry picked from commit 0ef2db146b)
2024-12-19 17:44:42 +00:00
Tim Donohue
60ff9a9c79 Merge pull request #3764 from DSpace/backport-3753-to-dspace-8_x
[Port dspace-8_x] Get rid of unnecessary and failing REST requests when navigating between different browse indexes
2024-12-19 10:34:49 -06:00
Koen Pauwels
a938a4f44c 121787: Get rid of multiple unnecessary requests on browse by pages
(cherry picked from commit a105bcd6f4)
2024-12-19 12:57:41 +00:00
Tim Donohue
5188e5d7fe Merge pull request #3602 from DSpace/dependabot/npm_and_yarn/dspace-8_x/core-js-3.39.0
Bump core-js from 3.38.1 to 3.39.0
2024-12-18 16:52:51 -06:00
Tim Donohue
eb3db9ceb6 Merge pull request #3597 from DSpace/dependabot/npm_and_yarn/dspace-7_x/core-js-3.39.0
Bump core-js from 3.38.1 to 3.39.0
2024-12-18 16:52:22 -06:00
DSpace Bot
819e693cfc [Port dspace-8_x] Fix issue with submission sections visibility (#3761)
* Removing position-fixed bootstrap class so that navbar links are available again

(cherry picked from commit 351abaa5c2)
(cherry picked from commit 5c4df8765e)

* A new approach so that the elements of the ds-file-dropzone-no-uploader component don't overlap the navbar and make it inaccessible

(cherry picked from commit 2c259f5ae9)
(cherry picked from commit ee5af8f7d1)

* [DURACOM-291] fix submission section visibility in order to rely on the configured section scope

(cherry picked from commit 8e8979a27a)

* Removing position-fixed bootstrap class so that navbar links are available again

(cherry picked from commit 351abaa5c2)
(cherry picked from commit 3ecec3af51)

* A new approach so that the elements of the ds-file-dropzone-no-uploader component don't overlap the navbar and make it inaccessible

(cherry picked from commit 2c259f5ae9)
(cherry picked from commit 25e2c763be)

---------

Co-authored-by: root <root@TI-03.OHB.LOCAL>
Co-authored-by: Giuseppe Digilio <giuseppe.digilio@4science.com>
2024-12-18 15:57:30 -06:00
Tim Donohue
84c0371aab Merge pull request #3763 from tdonohue/port_3264_to_7x
[Port dspace-7_x] More accessible file download link for users who use a screen reader
2024-12-18 15:55:48 -06:00
Tim Donohue
6380f132af Merge pull request #3762 from tdonohue/port_3264_to_8x
[Port dspace-8_x] More accessible file download link for users who use a screen reader
2024-12-18 15:55:34 -06:00
Andrea-Guevara
4bf4e18389 More accessible file download link for users who use a screen reader (#3264)
* More accessible file download link for users who use a screen reader

* Refactoring implementation - More accessible file download link for users who use a screen reader

* Fixing import error

* Solving the spaces error

* Solving the spaces error

* Solving the spaces error in file pt-BR.json5

---------

Co-authored-by: andreaNeki <root@TI-03.OHB.LOCAL>
2024-12-18 14:48:08 -06:00
Andrea-Guevara
beef2aca17 More accessible file download link for users who use a screen reader (#3264)
* More accessible file download link for users who use a screen reader

* Refactoring implementation - More accessible file download link for users who use a screen reader

* Fixing import error

* Solving the spaces error

* Solving the spaces error

* Solving the spaces error in file pt-BR.json5

---------

Co-authored-by: andreaNeki <root@TI-03.OHB.LOCAL>
2024-12-18 14:30:34 -06:00
DSpace Bot
3bd84a66f2 [CST-15590] Close user profile menu after menu entry is selected (#3760)
(cherry picked from commit fa0ec0bf0c)

Co-authored-by: Alisa Ismailati <alisa.ismailati@4science.com>
2024-12-18 14:17:07 -06:00
Tim Donohue
e842c06f94 Merge pull request #3465 from atmire/item-edit-bitstreams-table-8_x
[Port dspace-8_x] Edit Item, Bitstreams tab: Accessibility improvements
2024-12-18 11:36:44 -06:00
Tim Donohue
2ff5350302 Merge pull request #3716 from alexandrevryghem/w2p-120109_fix-findByHref-and-findListByHref-skipping-their-response_contribute-7_x
[Port dspace-7_x] Fix infinite loading on item pages and optimize menu resolver usage
2024-12-18 11:17:35 -06:00
Tim Donohue
36dd4762ed Merge pull request #3466 from atmire/item-edit-bitstreams-table-7_x
[Port dspace-7_x] Edit Item, Bitstreams tab: Accessibility improvements
2024-12-18 10:49:01 -06:00
Tim Donohue
655558538c Merge pull request #3721 from alexandrevryghem/w2p-117573_remove-observable-function-calls-from-template_contribute-7_x
[Port dspace-7_x] Removed observable function calls from template (part 1)
2024-12-18 10:38:54 -06:00
Tim Donohue
df79a99b99 Merge pull request #3738 from alexandrevryghem/w2p-117573_remove-observable-function-calls-from-template_contribute-8_x
[Port dspace-8_x] Removed observable function calls from template (part 1)
2024-12-18 08:59:34 -06:00
Tim Donohue
12fc5aff71 Merge pull request #3756 from tdonohue/port_3754_to_7x
[Port dspace-7_x][GitHub Actions][Docker] Update Docker scripts & GitHub Actions to use ghcr.io instead of docker.io
2024-12-16 17:26:51 -06:00
Tim Donohue
57b96a378a Merge pull request #3755 from tdonohue/port_3754_to_8x
[Port dspace-8_x][GitHub Actions][Docker] Update Docker scripts & GitHub Actions to use ghcr.io instead of docker.io
2024-12-16 17:00:24 -06:00
Tim Donohue
cd500007b6 Login to GHCR in order to have access to private Docker images for e2e tests. 2024-12-16 16:31:17 -06:00
Tim Donohue
686b61915a Update GitHub Actions for Docker & normal build to use GitHub Container Registry 2024-12-16 16:31:11 -06:00
Tim Donohue
996c877412 Allow for other Docker registries to be used with all Docker compose scripts 2024-12-16 16:30:53 -06:00
Tim Donohue
c9d6c95563 Use fully qualified image names in Dockerfiles. Minor syntax fixes to ENV variables 2024-12-16 16:24:14 -06:00
Tim Donohue
c9800e7bff Login to GHCR in order to have access to private Docker images for e2e tests. 2024-12-16 16:20:02 -06:00
Tim Donohue
ffda455d4f Update GitHub Actions for Docker & normal build to use GitHub Container Registry 2024-12-16 16:19:53 -06:00
Tim Donohue
a027bb2d5d Allow for other Docker registries to be used with all Docker compose scripts 2024-12-16 16:19:42 -06:00
Tim Donohue
969eef9150 Use fully qualified image names in Dockerfiles. Minor syntax fixes to ENV variables 2024-12-16 16:15:10 -06:00
dependabot[bot]
494771c0da Bump nanoid from 3.3.7 to 3.3.8
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 13:34:09 +00:00
Alexandre Vryghem
44d2450543 121550: Fixed dso edit menu crashing when dso isn't resolved yet 2024-12-13 11:03:36 +01:00
Andreas Awouters
d5221fbf2f Merge branch 'item-edit-bitstreams-table-7.6' into item-edit-bitstreams-table-8_x 2024-12-11 11:49:08 +01:00
Andreas Awouters
bee8bde87f Merge branch 'item-edit-bitstreams-table-7.6' into item-edit-bitstreams-table-7_x 2024-12-11 11:22:56 +01:00
Andreas Awouters
ff7c9ba955 Merge branch 'accessibility-settings-7.6' into accessibility-settings-main
# Conflicts:
#	src/app/accessibility/accessibility-settings.service.spec.ts
#	src/app/accessibility/accessibility-settings.service.ts
#	src/app/info/accessibility-settings/accessibility-settings.component.spec.ts
#	src/app/info/accessibility-settings/accessibility-settings.component.ts
#	src/app/info/info.module.ts
#	src/app/shared/live-region/live-region.service.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.ts
2024-12-11 11:05:18 +01:00
Andreas Awouters
442b4ea284 Merge branch 'accessibility-settings-7.6' into accessibility-settings-7_x 2024-12-11 10:12:14 +01:00
Andreas Awouters
c71c6667e0 119602: Improve notification hiding toggle useability 2024-12-11 10:10:16 +01:00
Andreas Awouters
010b2f9693 119602: Improve types & docs 2024-12-11 09:35:01 +01:00
Alexandre Vryghem
edfaee6aab 119276: Fixed search service first emitting cached stale values instead of waiting for non-stale response
This was problematic for the places that used getFist operators. This is because they only emit data once, and the first value could be the old cached value
2024-12-10 13:54:57 +01:00
Alexandre Vryghem
5ff475046f 119915: Restored functionality to hide the research profile section on the profile page
(cherry picked from commit ded0079f24)
2024-12-09 23:57:32 +01:00
Alexandre Vryghem
d740b5df6b 117287: Prevent /api/eperson/epersons/undefined from being fired on the create ePerson page
(cherry picked from commit 0cb5b76159)
2024-12-09 23:57:23 +01:00
Alexandre Vryghem
5dcc90c1cd 117287: Fixed UI freezing on withdrawn item pages
(cherry picked from commit 976ac7604b)
2024-12-09 23:57:16 +01:00
Alexandre Vryghem
f0e9948992 Merge branch 'w2p-117573_remove-observable-function-calls-from-template-7.6' into dspace-8_x 2024-12-09 22:58:25 +01:00
nwoodward
c67dc4d8e4 fixed typo in descrption 2024-12-09 11:27:00 -06:00
Agustina Martinez
f2d6f774d3 #10053: Add support for PCI Endorsement workflow 2024-12-09 16:28:17 +00:00
dependabot[bot]
1a48a6c853 Bump axios from 1.7.7 to 1.7.9
Bumps [axios](https://github.com/axios/axios) from 1.7.7 to 1.7.9.
- [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/v1.7.7...v1.7.9)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 02:56:11 +00:00
dependabot[bot]
838ffc5b6d Bump axios from 1.7.7 to 1.7.9
Bumps [axios](https://github.com/axios/axios) from 1.7.7 to 1.7.9.
- [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/v1.7.7...v1.7.9)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 02:55:53 +00:00
dependabot[bot]
297fc01892 Bump axios from 1.7.7 to 1.7.9
Bumps [axios](https://github.com/axios/axios) from 1.7.7 to 1.7.9.
- [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/v1.7.7...v1.7.9)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 02:29:01 +00:00
Sascha Szott
dbd67f056e fix indentation 2024-12-06 18:12:44 +01:00
Alexandre Vryghem
f9e67dc513 Merge branch 'w2p-117573_remove-observable-function-calls-from-template-7.6' into w2p-117573_remove-observable-function-calls-from-template_contribute-7_x 2024-12-06 18:09:13 +01:00
Sascha Szott
acb7c9bd33 remove nested span element 2024-12-06 18:09:02 +01:00
Sascha Szott
97b5e0cc92 fix nested span element 2024-12-06 18:05:07 +01:00
Sascha Szott
e9a28c6d3d fix nested span element 2024-12-06 18:02:43 +01:00
Sascha Szott
2e174cd9e6 fix nested span element 2024-12-06 18:01:37 +01:00
Sascha Szott
15d3f257b3 fix nested span element 2024-12-06 18:00:47 +01:00
Sascha Szott
8509096c32 fix nested span element 2024-12-06 17:59:56 +01:00
Sascha Szott
84878ede67 fix nested span element 2024-12-06 17:56:50 +01:00
Sascha Szott
394ecea118 fix nested span element in templates 2024-12-06 17:47:14 +01:00
Sascha Szott
71de4b600b fix value of selector in component annotation 2024-12-06 17:34:37 +01:00
Alexandre Vryghem
830ada37f5 119915: Restored functionality to hide the research profile section on the profile page
(cherry picked from commit ded0079f24)
2024-12-06 17:18:29 +01:00
Alexandre Vryghem
b5a8b56473 117287: Prevent /api/eperson/epersons/undefined from being fired on the create ePerson page
(cherry picked from commit 0cb5b76159)
2024-12-06 17:18:13 +01:00
Alexandre Vryghem
2a72fac646 Merge branch 'w2p-117573_remove-observable-function-calls-from-template-7.6' into dspace-7_x
# 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/admin/admin-registries/bitstream-formats/bitstream-formats.component.html
#	src/app/admin/admin-registries/bitstream-formats/bitstream-formats.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-schema.component.html
#	src/app/admin/admin-registries/metadata-schema/metadata-schema.component.ts
#	src/app/shared/pagination/pagination.component.ts
2024-12-06 17:14:51 +01:00
Alexandre Vryghem
6988df519e Merge branch 'w2p-120109_fix-findByHref-and-findListByHref-skipping-their-response_contribute-7.6' into dspace-7_x
# Conflicts:
#	src/app/core/data/base/base-data.service.spec.ts
#	src/app/core/data/base/base-data.service.ts
#	src/app/item-page/edit-item-page/abstract-item-update/abstract-item-update.component.ts
2024-12-05 23:49:13 +01:00
Tim Donohue
50885676d8 Merge pull request #3715 from DSpace/backport-3677-to-dspace-8_x
[Port dspace-8_x] Fix infinite loading on item pages and optimize menu resolver usage
2024-12-05 16:48:52 -06:00
Alexandre Vryghem
ce17d23c08 120109: Updated the route configuration to only resolve the dsoEditMenuResolver on pages who use the DsoEditMenuComponent
(cherry picked from commit 5c9f494f76)
2024-12-05 23:27:55 +01:00
Alexandre Vryghem
91acc957b1 120109: Fixed "no elements in sequence" sometimes being thrown on the item bitstream & relationship tabs
(cherry picked from commit decacec404)
2024-12-05 23:27:54 +01:00
Alexandre Vryghem
987ea5104a 120109: Fixed BaseDataService not emitting when the request is too fast and the ResponsePending are not emitted
(cherry picked from commit 0f4d71eb58)
2024-12-05 23:27:54 +01:00
Alexandre Vryghem
970544c130 120109: Updated the route configuration to only resolve the dsoEditMenuResolver on pages who use the DsoEditMenuComponent
(cherry picked from commit 5c9f494f76)
2024-12-05 20:49:21 +00:00
Alexandre Vryghem
c9ba47b9af 120109: Fixed "no elements in sequence" sometimes being thrown on the item bitstream & relationship tabs
(cherry picked from commit decacec404)
2024-12-05 20:49:21 +00:00
Alexandre Vryghem
9c843b62d4 120109: Fixed BaseDataService not emitting when the request is too fast and the ResponsePending are not emitted
(cherry picked from commit 0f4d71eb58)
2024-12-05 20:49:21 +00:00
Kanász-Nagy Zoltán
b86d0a083a QREPO-0 withdraw & reinstate related translations 2024-12-05 03:33:18 +01:00
Kanász-Nagy Zoltán
964c085ee2 QREPO-0 adding translations for mapping item to other collections 2024-12-05 02:53:15 +01:00
Kanász-Nagy Zoltán
907a16ca09 QREPO-0 updating registration and forgot password related translations 2024-12-05 00:03:45 +01:00
Kanász-Nagy Zoltán
97cda8f752 QREPO-0 updating Hungarian translations for DSpace 8.0 2024-12-04 23:46:15 +01:00
Tim Donohue
135c085024 Merge pull request #3710 from DSpace/backport-3693-to-dspace-7_x
[Port dspace-7_x] Removed unauthorized metadata-export-search request on search page
2024-12-04 11:10:21 -06:00
Tim Donohue
f47bf4665e Merge pull request #3711 from tdonohue/port_3693_to_8x
[Port dspace-8_x] Removed unauthorized metadata-export-search request on search page
2024-12-04 10:35:14 -06:00
Alexandre Vryghem
ed4e794d46 119799: Prevent submission from updating the dropdown values when hitting enter in another input form (onsubmit) 2024-12-04 17:16:14 +01:00
Alexandre Vryghem
0c81a79d0c 121534: Removed unauthorized metadata-export-search request on search page for non-admins 2024-12-03 12:26:09 -06:00
Alexandre Vryghem
4fcae182b1 120256: Ensure searchOptions$ is a SearchOptions and not a plain object 2024-12-03 12:19:24 -06:00
Alexandre Vryghem
80e938b1f2 121534: Removed unauthorized metadata-export-search request on search page for non-admins
(cherry picked from commit 70b855e785)
2024-12-03 18:16:02 +00:00
Alexandre Vryghem
c9df52cba2 120256: Ensure searchOptions$ is a SearchOptions and not a plain object
(cherry picked from commit e4daf2b825)
2024-12-03 18:16:02 +00:00
Tim Donohue
e975585350 Merge pull request #3182 from 4Science/task/dspace-7_x/CST-14903
[Port dspace-7_x] Orcid Authorization / Synchronization Page Fixes
2024-12-02 09:38:55 -06:00
Tim Donohue
30718cb810 Merge pull request #3216 from 4Science/task/dspace-8_x/CST-14903
[Port dspace-8_x] Orcid Authorization / Synchronization Page Fixes
2024-12-02 09:37:32 -06:00
Tim Donohue
686f2848e9 Merge pull request #3691 from DSpace/dependabot/npm_and_yarn/dspace-8_x/testing-8ac0a25ce2
Bump cypress from 13.15.1 to 13.16.0 in the testing group across 1 directory
2024-12-02 08:57:40 -06:00
dependabot[bot]
e4b25585b8 Bump cypress in the testing group across 1 directory
Bumps the testing group with 1 update in the / directory: [cypress](https://github.com/cypress-io/cypress).


Updates `cypress` from 13.15.1 to 13.16.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.15.1...v13.16.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 03:07:28 +00:00
dependabot[bot]
7eeeab4c26 Bump sortablejs from 1.15.3 to 1.15.6
Bumps [sortablejs](https://github.com/SortableJS/Sortable) from 1.15.3 to 1.15.6.
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.15.3...1.15.6)

---
updated-dependencies:
- dependency-name: sortablejs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 02:38:03 +00:00
Alan Orth
a53df4fed4 Merge pull request #3696 from 4Science/backport-3308-to-dspace-7_x 2024-11-29 13:58:04 +03:00
Andreas Awouters
cdec4880d2 119602: Compare notifications by id to correctly update store 2024-11-29 10:44:44 +01:00
Alan Orth
4228362ff3 Merge pull request #3695 from DSpace/backport-3308-to-dspace-8_x 2024-11-28 22:31:25 +03:00
Simone Ramundi
c743387a26 [DURACOM-296] Enabled 'admin-div' only for Site Administrator 2024-11-28 12:36:55 +01:00
Simone Ramundi
683109758b [DURACOM-296] Enabled 'admin-div' only for Site Administrator
(cherry picked from commit 4d5910981a)
2024-11-28 07:57:07 +00:00
Yury Bondarenko
b2715501b0 Update tests to match 2024-11-25 16:49:16 +01:00
Yury Bondarenko
7cd13f692e Merge remote-tracking branch 'contrib/refactor-menu-resolvers-7.6_basic-providers-tests' into refactor-menu-resolvers-7.6_sketch-branch 2024-11-25 16:38:46 +01:00
Andreas Awouters
c38352ed22 119602: Update doc comments 2024-11-25 10:29:16 +01:00
Andreas Awouters
deb4a63c88 119602: Add additional accessibilitySettingsComponent tests 2024-11-25 10:12:39 +01:00
Andreas Awouters
ec016e80fb 119602: Update AccessibilitySettingsService stub 2024-11-25 10:00:04 +01:00
Andreas Awouters
ced163a25f 119602: Remove obsolete tests 2024-11-25 09:58:50 +01:00
Andreas Awouters
5a28e66b2f 119602: Move hints to contextHelp 2024-11-25 09:44:27 +01:00
Tim Donohue
35a25b372d Merge pull request #3685 from tdonohue/port_3683_to_7x
[Port dspace-7_x] Fix incorrect example in `config.example.yml`
2024-11-22 11:51:30 -06:00
Tim Donohue
10a4a2eec6 Merge pull request #3684 from DSpace/backport-3683-to-dspace-8_x
[Port dspace-8_x] Fix incorrect example in `config.example.yml`
2024-11-22 11:51:21 -06:00
Tim Donohue
62b31ea8c5 Fix incorrect example. The setting category is called "ssr" and not "universal" 2024-11-22 11:19:08 -06:00
Tim Donohue
7b9f1dcc69 Fix incorrect example. The setting category is called "ssr" and not "universal"
(cherry picked from commit 138c007f28)
2024-11-22 17:17:08 +00:00
Andreas Awouters
9ac92e0196 119602: Add unit after input fields 2024-11-22 16:09:12 +01:00
Andreas Awouters
287d028331 119602: Make input boxes smaller 2024-11-22 16:03:52 +01:00
Andreas Awouters
cae13942e2 119602: Allow resetting accessibility settings 2024-11-22 15:54:21 +01:00
Andreas Awouters
b16cec631d 119602: Add automatic notification hiding toggle 2024-11-22 13:56:39 +01:00
Andreas Awouters
dc8a699e94 119602: Rework convertion & form format 2024-11-22 11:55:05 +01:00
Tim Donohue
3a18805e93 Merge pull request #3681 from dheles/8_x-dc-fix
Update docker files for 8_x
2024-11-21 14:28:15 -06:00
Drew Heles
fbef294fb4 Update docker files for 8_x 2024-11-21 14:03:50 -05:00
Andrea Barbasso
1c9272107c [DURACOM-297] fix changing values in submission form after ordering 2024-11-21 11:11:53 +01:00
Tim Donohue
12804f800b Merge pull request #3672 from DSpace/backport-3671-to-dspace-8_x
[Port dspace-8_x] Fixes the display of the System Wide Alert
2024-11-18 11:46:34 -06:00
Alisa Ismailati
21fa85c31d [DURACOM-305] Fixes the deserialization of the SystemWideAlert
(cherry picked from commit 628ec2b6ba)
2024-11-18 17:01:24 +00:00
Tim Donohue
b54e54da30 Merge pull request #3660 from alexandrevryghem/w2p-107155_Performance-re-request-embeds_contribute-7_x
[Port dspace-7_x] Added support for caching embedded objects without a self link & null responses
2024-11-18 10:26:38 -06:00
Tim Donohue
0c13fc883c Merge pull request #3661 from alexandrevryghem/w2p-107155_Performance-re-request-embeds_contribute-8_x
[Port dspace-8_x] Added support for caching embedded objects without a self link & null responses
2024-11-18 10:07:13 -06:00
Andreas Awouters
fdfa6e2c06 119602: Update values after converters implementation 2024-11-18 14:26:48 +01:00
Andreas Awouters
ecb00a95a0 119602: Implement converting of accessibility settings values 2024-11-18 13:50:46 +01:00
Andreas Awouters
fe90d39943 119602: Add placeholder in form 2024-11-18 11:36:10 +01:00
Alexandre Vryghem
e2615a798e Fixed flaky item-edit tests
This simply restores the accidental changes made during this cherry-pick: 3df66e0257
2024-11-17 02:33:53 +01:00
Alexandre Vryghem
ec6aff411a 118944: Fix hasDraftVersion$ not working for embedded payloads with no content
(cherry picked from commit 704cc06f16)
2024-11-17 01:06:36 +01:00
Alexandre Vryghem
01fcbd7063 Merge remote-tracking branch 'contributions/w2p-107155_Performance-re-request-embeds-7.6' into w2p-107155_Performance-re-request-embeds_contribute-8_x 2024-11-17 01:02:49 +01:00
Alexandre Vryghem
ff42b65fc9 118944: Fix hasDraftVersion$ not working for embedded payloads with no content
(cherry picked from commit 704cc06f16)
2024-11-16 22:24:02 +01:00
Alexandre Vryghem
1e5eff918d Merge remote-tracking branch 'contributions/w2p-107155_Performance-re-request-embeds-7.6' into w2p-107155_Performance-re-request-embeds_contribute-7_x
# Conflicts:
#	src/app/core/browse/browse.service.ts
#	src/app/item-page/edit-item-page/item-relationships/edit-relationship-list/edit-relationship-list.component.spec.ts
2024-11-16 22:16:52 +01:00
Tim Donohue
e55b78ba2d Merge pull request #3659 from DSpace/backport-3656-to-dspace-8_x
[Port dspace-8_x] #3655 - Fixes Spacing Issue Between Email Label and Email Address on Profile Setup Form
2024-11-15 17:12:35 -06:00
Tim Donohue
e59674b5ac Merge pull request #3658 from DSpace/backport-3656-to-dspace-7_x
[Port dspace-7_x] #3655 - Fixes Spacing Issue Between Email Label and Email Address on Profile Setup Form
2024-11-15 17:12:29 -06:00
Simone Ramundi
f6e30b0b63 [DURACOM-300] Fixed space in registration form
(cherry picked from commit 2b104183f7)
2024-11-15 22:34:43 +00:00
Simone Ramundi
5a1522deac [DURACOM-300] Fixed space in registration form
(cherry picked from commit 2b104183f7)
2024-11-15 22:34:39 +00:00
Yana De Pauw
a105131b2b Finalise menu refactor, add typedocs and tests 2024-11-15 18:25:37 +01:00
Simone Ramundi
23d8730d5b [DURACOM-302_2] Manual porting of 'DSC-2002' 2024-11-14 17:44:56 +01:00
Tim Donohue
a5dff6df87 Merge pull request #3651 from tdonohue/port_3225_to_7x
[Port dspace-7_x] Fixed headings by their rank
2024-11-13 15:04:03 -06:00
Tim Donohue
9e28099351 Merge pull request #3653 from DSpace/backport-3649-to-dspace-8_x
[Port dspace-8_x] French translations for subscriptions feature
2024-11-13 14:30:15 -06:00
Tim Donohue
790fa26953 Merge pull request #3652 from DSpace/backport-3649-to-dspace-7_x
[Port dspace-7_x] French translations for subscriptions feature
2024-11-13 14:29:58 -06:00
Tim Donohue
1c80697d29 Merge pull request #3650 from tdonohue/port_3225_to_8x
[Port dspace-8_x] Fixed headings by their rank
2024-11-13 13:54:45 -06:00
Pierre Lasou
e345dfd637 French translations for subscriptions feature
Includes all french labels for subcriptions, plus 2 or 3 other missing things.

(cherry picked from commit 2c16162948)
2024-11-13 19:51:43 +00:00
Pierre Lasou
b2f9743f9f French translations for subscriptions feature
Includes all french labels for subcriptions, plus 2 or 3 other missing things.

(cherry picked from commit 2c16162948)
2024-11-13 19:51:37 +00:00
Alisa Ismailati
66dedc5b2e [CST-15591] Fixed headings by their rank 2024-11-13 11:40:48 -06:00
Alisa Ismailati
844a605b5e [CST-15591] Fixed headings by their rank 2024-11-13 11:30:42 -06:00
Tim Donohue
07bbb003bb Merge pull request #3647 from DSpace/backport-3646-to-dspace-8_x
[Port dspace-8_x] Fixed authorization tab not loading in dev mode
2024-11-12 10:34:49 -06:00
Alexandre Vryghem
aae373ef22 120150: Fixed authorization tab not loading in dev mode
(cherry picked from commit c062d95354)
2024-11-12 15:58:22 +00:00
Tim Donohue
bba9f9c980 Merge pull request #3645 from DSpace/backport-3644-to-dspace-8_x
[Port dspace-8_x] French translations for COAR Notify  LDN Service
2024-11-11 15:15:42 -06:00
Pierre Lasou
9e19e8d859 Fixes lint error Trailing spaces
(cherry picked from commit 60dfe056dd)
2024-11-11 20:24:00 +00:00
Pierre Lasou
898b5fa634 French translations for COAR Notify LDN Service
Contains all translations in french for new DSpace 8 COAR Notify module.

(cherry picked from commit 20263073c6)
2024-11-11 20:24:00 +00:00
Tim Donohue
a6c2b2c026 Merge pull request #3643 from DSpace/backport-3222-to-dspace-8_x
[Port dspace-8_x] Updated `cs` messages following the lindat v5 and clarin-dspace v7 instance
2024-11-11 10:40:28 -06:00
Tim Donohue
6330516630 Merge pull request #3642 from DSpace/backport-3222-to-dspace-7_x
[Port dspace-7_x] Updated `cs` messages following the lindat v5 and clarin-dspace v7 instance
2024-11-11 10:40:20 -06:00
milanmajchrak
e7da6e42f7 Updated supervised by messages following NTK suggestions
(cherry picked from commit d819cf4396)
2024-11-11 15:31:35 +00:00
milanmajchrak
15afbc2dc9 Updated messages for the 'supervised' and 'claim' sentenses
(cherry picked from commit 1aef6ce1d6)
2024-11-11 15:31:35 +00:00
milanmajchrak
71627d8abf Fixed small cs localization mistakes
(cherry picked from commit 680d6c9416)
2024-11-11 15:31:35 +00:00
milanmajchrak
5049b13d22 Updated cs localization for subcommunities and subcollections
(cherry picked from commit 9badd4a4b6)
2024-11-11 15:31:35 +00:00
milanmajchrak
301eb9017c Fixed messages following the PR from the UFAL - f18d45ce23
(cherry picked from commit 5e5c627b8b)
2024-11-11 15:31:35 +00:00
milanmajchrak
ca8981611a Updated cs messages following review requirements
(cherry picked from commit 813d644b32)
2024-11-11 15:31:34 +00:00
milanmajchrak
c357ac93f3 Fixed linting error.
(cherry picked from commit 7e864d27b4)
2024-11-11 15:31:34 +00:00
milanmajchrak
757574080c Updated some messages following the lindat v5 and clarin-dspace v7 instance.
(cherry picked from commit b10563ea53)
2024-11-11 15:31:34 +00:00
milanmajchrak
bd638f0356 Updated supervised by messages following NTK suggestions
(cherry picked from commit d819cf4396)
2024-11-11 15:31:30 +00:00
milanmajchrak
b11efbbf0c Updated messages for the 'supervised' and 'claim' sentenses
(cherry picked from commit 1aef6ce1d6)
2024-11-11 15:31:30 +00:00
milanmajchrak
68b6cc9bd4 Fixed small cs localization mistakes
(cherry picked from commit 680d6c9416)
2024-11-11 15:31:30 +00:00
milanmajchrak
d586a8450d Updated cs localization for subcommunities and subcollections
(cherry picked from commit 9badd4a4b6)
2024-11-11 15:31:30 +00:00
milanmajchrak
33bc8ba1a3 Fixed messages following the PR from the UFAL - f18d45ce23
(cherry picked from commit 5e5c627b8b)
2024-11-11 15:31:30 +00:00
milanmajchrak
865268e820 Updated cs messages following review requirements
(cherry picked from commit 813d644b32)
2024-11-11 15:31:30 +00:00
milanmajchrak
e5ea435cbe Fixed linting error.
(cherry picked from commit 7e864d27b4)
2024-11-11 15:31:30 +00:00
milanmajchrak
6b32d04aec Updated some messages following the lindat v5 and clarin-dspace v7 instance.
(cherry picked from commit b10563ea53)
2024-11-11 15:31:30 +00:00
dependabot[bot]
06783364c4 Bump express-static-gzip from 2.1.8 to 2.2.0
Bumps [express-static-gzip](https://github.com/tkoenig89/express-static-gzip) from 2.1.8 to 2.2.0.
- [Release notes](https://github.com/tkoenig89/express-static-gzip/releases)
- [Commits](https://github.com/tkoenig89/express-static-gzip/compare/v2.1.8...v2.2.0)

---
updated-dependencies:
- dependency-name: express-static-gzip
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 03:15:03 +00:00
dependabot[bot]
d50af8afb6 Bump express-static-gzip from 2.1.8 to 2.2.0
Bumps [express-static-gzip](https://github.com/tkoenig89/express-static-gzip) from 2.1.8 to 2.2.0.
- [Release notes](https://github.com/tkoenig89/express-static-gzip/releases)
- [Commits](https://github.com/tkoenig89/express-static-gzip/compare/v2.1.8...v2.2.0)

---
updated-dependencies:
- dependency-name: express-static-gzip
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 02:34:27 +00:00
dependabot[bot]
19da7bf453 Bump express-static-gzip from 2.1.8 to 2.2.0
Bumps [express-static-gzip](https://github.com/tkoenig89/express-static-gzip) from 2.1.8 to 2.2.0.
- [Release notes](https://github.com/tkoenig89/express-static-gzip/releases)
- [Commits](https://github.com/tkoenig89/express-static-gzip/compare/v2.1.8...v2.2.0)

---
updated-dependencies:
- dependency-name: express-static-gzip
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 02:18:52 +00:00
dependabot[bot]
fb55a04f70 Bump orejime from 2.3.0 to 2.3.1
Bumps [orejime](https://github.com/empreinte-digitale/orejime) from 2.3.0 to 2.3.1.
- [Changelog](https://github.com/empreinte-digitale/orejime/blob/master/CHANGELOG.md)
- [Commits](https://github.com/empreinte-digitale/orejime/commits)

---
updated-dependencies:
- dependency-name: orejime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 02:18:07 +00:00
Tim Donohue
a812e6ae27 Merge pull request #3594 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-8323b2791b
Bump sass from 1.80.4 to 1.80.6 in the sass group
2024-11-08 16:05:14 -06:00
Tim Donohue
100dd467b9 Merge pull request #3598 from DSpace/dependabot/npm_and_yarn/dspace-8_x/sass-8323b2791b
Bump sass from 1.80.4 to 1.80.6 in the sass group
2024-11-08 16:03:46 -06:00
Tim Donohue
841caec3e6 Merge pull request #3627 from tdonohue/port_3328_to_7x
[Port dspace-7_x] Klaro Accessibility cookie settings
2024-11-08 16:01:49 -06:00
Tim Donohue
9715eaba36 Merge pull request #3626 from DSpace/backport-3625-to-dspace-7_x
[Port dspace-7_x] Fix Klaro translations by forcing Klaro to use a zy language code that DSpace will translate
2024-11-08 16:01:40 -06:00
dependabot[bot]
bc50efec5e Bump core-js from 3.38.1 to 3.39.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.38.1 to 3.39.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.39.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-08 20:35:42 +00:00
dependabot[bot]
59ab2aa356 Bump core-js from 3.38.1 to 3.39.0
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.38.1 to 3.39.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.39.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-08 20:34:18 +00:00
Tim Donohue
25fd1a9d76 Merge pull request #3595 from DSpace/dependabot/npm_and_yarn/dspace-7_x/compression-1.7.5
Bump compression from 1.7.4 to 1.7.5
2024-11-08 14:33:17 -06:00
Tim Donohue
783ff99163 Merge pull request #3600 from DSpace/dependabot/npm_and_yarn/dspace-8_x/compression-1.7.5
Bump compression from 1.7.4 to 1.7.5
2024-11-08 14:32:34 -06:00
dependabot[bot]
cdeb0473da Bump sass from 1.80.4 to 1.80.6 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.4 to 1.80.6
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.4...1.80.6)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-08 20:30:30 +00:00
Tim Donohue
3e478a44b7 Merge pull request #3599 from DSpace/dependabot/npm_and_yarn/dspace-8_x/webpack-835be9230a
Bump webpack from 5.95.0 to 5.96.1 in the webpack group
2024-11-08 14:28:38 -06:00
andreaNeki
64628f7e0d DSpace#2668 - Adding and changing classes in global scss to make cookie settings more accessible 2024-11-08 14:21:54 -06:00
Tim Donohue
65a4099ac1 Merge pull request #3328 from Andrea-Guevara/AccessibilityCookieSettings
[8.x] Accessibility cookie settings
2024-11-08 14:18:10 -06:00
Tim Donohue
4353c57cd0 Fix Klaro translations by forcing Klaro to use a 'zy' language key which DSpace will translate
(cherry picked from commit 6076423907)
2024-11-08 20:13:18 +00:00
Tim Donohue
9add368161 Merge pull request #3625 from tdonohue/fix_klaro_translations_8x
Fix Klaro translations by forcing Klaro to use a zy language code that DSpace will translate
2024-11-08 14:12:58 -06:00
Tim Donohue
6076423907 Fix Klaro translations by forcing Klaro to use a 'zy' language key which DSpace will translate 2024-11-08 13:29:18 -06:00
Tim Donohue
ce010725ac Merge pull request #3596 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/lodash-4.17.13
Bump @types/lodash from 4.17.12 to 4.17.13
2024-11-08 10:56:45 -06:00
Tim Donohue
7b4d5f9aad Merge pull request #3621 from DSpace/backport-3619-to-dspace-7_x
[Port dspace-7_x] BitstreamAuthorizationsComponent: update selector and comment to correctly describe component's purpose
2024-11-07 14:53:05 -06:00
Tim Donohue
8a6db0dff0 Merge pull request #3622 from DSpace/backport-3619-to-dspace-8_x
[Port dspace-8_x] BitstreamAuthorizationsComponent: update selector and comment to correctly describe component's purpose
2024-11-07 14:52:54 -06:00
Sascha Szott
fb57b72eca fix invalid selector
(cherry picked from commit 752951ce3b)
2024-11-07 20:12:33 +00:00
Sascha Szott
62a1443b75 update comment to correctly describe component's purpose
(cherry picked from commit 33dddc697f)
2024-11-07 20:12:32 +00:00
Sascha Szott
9f879d3850 fix invalid selector
(cherry picked from commit 752951ce3b)
2024-11-07 20:12:29 +00:00
Sascha Szott
87f5b50201 update comment to correctly describe component's purpose
(cherry picked from commit 33dddc697f)
2024-11-07 20:12:29 +00:00
Andreas Awouters
bb7f0cd3a5 119602: Improve profile page link accessibility 2024-11-07 10:18:11 +01:00
Andreas Awouters
ed0fcd982c Merge branch 'accessibility-settings-7.6' into accessibility-settings-main
# Conflicts:
#	src/app/core/auth/auth.service.ts
#	src/app/info/info-routing-paths.ts
#	src/app/info/info-routing.module.ts
#	src/app/info/info.module.ts
#	src/app/shared/live-region/live-region.service.spec.ts
#	src/app/shared/live-region/live-region.service.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.spec.ts
#	src/app/shared/notifications/notifications-board/notifications-board.component.ts
#	src/config/app-config.interface.ts
#	src/config/default-app-config.ts
2024-11-06 14:06:26 +01:00
Andreas Awouters
3c92acb770 Merge branch 'accessibility-settings-7.6' into accessibility-settings-7_x 2024-11-06 10:59:32 +01:00
Andreas Awouters
04515591e2 119602: Add link to AccessibilitySettings on profile page 2024-11-06 10:53:41 +01:00
Andreas Awouters
37455a8b6c 119602: Make AccessibilitySettings cookie expiration configurable 2024-11-06 10:53:41 +01:00
Andreas Awouters
82fd9539b7 119602: Add AccessibilitySettingsComponent tests 2024-11-06 10:53:41 +01:00
Andreas Awouters
52eabec70d 119602: Add AccessibilitySettingsService tests 2024-11-06 10:53:41 +01:00
Andreas Awouters
cad086c945 119602: Add AccessibilitySettingsService stub & fix live-region test 2024-11-06 10:53:41 +01:00
Andreas Awouters
6a49df59af 119602: Integrate accessibility settings into notifications-board 2024-11-06 10:53:41 +01:00
Andreas Awouters
d224a2c47d 119602: Integrate accessibility settings into live-region 2024-11-06 09:58:19 +01:00
Andreas Awouters
b72ce73931 119602: Add Accessibility Settings page 2024-11-06 09:58:19 +01:00
Andreas Awouters
8f708d0e28 119602: Add AccessibilitySettingsService 2024-11-06 09:58:19 +01:00
Toni Prieto
67f9623cf4 Allow free-text editing for hierarchical vocabulary fields as well 2024-11-05 22:01:05 +01:00
Tim Donohue
642816be04 Merge pull request #3610 from DSpace/backport-3590-to-dspace-8_x
[Port dspace-8_x] Complete tag translations in french for ORCID and Researcher Profile
2024-11-04 15:15:51 -06:00
Tim Donohue
38c7988274 Merge pull request #3609 from DSpace/backport-3590-to-dspace-7_x
[Port dspace-7_x] Complete tag translations in french for ORCID and Researcher Profile
2024-11-04 15:15:41 -06:00
Pierre Lasou
fe8f79b750 Correction of 2 lint errors due to spacing.
(cherry picked from commit 23dd7903ba)
2024-11-04 20:22:52 +00:00
Pierre Lasou
07e4e0cabb Correct small alignment errors
(cherry picked from commit fde2db85e7)
2024-11-04 20:22:52 +00:00
Pierre Lasou
73e0c1ffcf Complete tag translation in french for ORCID
Contains all french translations for ORCID and Researcher Profile.

(cherry picked from commit ac720033dc)
2024-11-04 20:22:52 +00:00
Pierre Lasou
9c3363d465 Correction of 2 lint errors due to spacing.
(cherry picked from commit 23dd7903ba)
2024-11-04 20:22:48 +00:00
Pierre Lasou
33262795ba Correct small alignment errors
(cherry picked from commit fde2db85e7)
2024-11-04 20:22:48 +00:00
Pierre Lasou
2aaa32ae5f Complete tag translation in french for ORCID
Contains all french translations for ORCID and Researcher Profile.

(cherry picked from commit ac720033dc)
2024-11-04 20:22:48 +00:00
Tim Donohue
9ba00d6f20 Merge pull request #3601 from DSpace/dependabot/npm_and_yarn/dspace-8_x/types/lodash-4.17.13
Bump @types/lodash from 4.17.12 to 4.17.13
2024-11-04 09:05:00 -06:00
dependabot[bot]
76b7340589 Bump @types/lodash from 4.17.12 to 4.17.13
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.12 to 4.17.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 02:57:55 +00:00
dependabot[bot]
1484464232 Bump compression from 1.7.4 to 1.7.5
Bumps [compression](https://github.com/expressjs/compression) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/compression/compare/1.7.4...1.7.5)

---
updated-dependencies:
- dependency-name: compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 02:57:37 +00:00
dependabot[bot]
64e65a6e8c Bump webpack from 5.95.0 to 5.96.1 in the webpack group
Bumps the webpack group with 1 update: [webpack](https://github.com/webpack/webpack).


Updates `webpack` from 5.95.0 to 5.96.1
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.95.0...v5.96.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: webpack
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 02:56:51 +00:00
dependabot[bot]
1b77530a31 Bump @types/lodash from 4.17.12 to 4.17.13
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.12 to 4.17.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 02:47:05 +00:00
dependabot[bot]
2eb120909b Bump compression from 1.7.4 to 1.7.5
Bumps [compression](https://github.com/expressjs/compression) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/expressjs/compression/releases)
- [Changelog](https://github.com/expressjs/compression/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/compression/compare/1.7.4...1.7.5)

---
updated-dependencies:
- dependency-name: compression
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 02:46:50 +00:00
dependabot[bot]
26f4d1d329 Bump sass from 1.80.4 to 1.80.6 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.4 to 1.80.6
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.4...1.80.6)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 02:46:18 +00:00
Ray Lee
449c092bf9 Add support for SAML authentication. 2024-11-01 14:41:34 -04:00
Tim Donohue
51c13b6fc8 Merge pull request #3593 from DSpace/backport-3272-to-dspace-8_x
[Port dspace-8_x] Improving accessibility on the new user registration page
2024-11-01 12:17:18 -05:00
Tim Donohue
9d4eeb9c9f Merge pull request #3592 from DSpace/backport-3272-to-dspace-7_x
[Port dspace-7_x] Improving accessibility on the new user registration page
2024-11-01 12:17:11 -05:00
andreaNeki
ebc7a7548e Adjusting spaces in ts
(cherry picked from commit 009da08177)
2024-11-01 14:37:54 +00:00
andreaNeki
45b6f251f3 Simplifying the implementation of dynamic aria-describedby
(cherry picked from commit fa6e85d6db)
2024-11-01 14:37:54 +00:00
andreaNeki
67cd8a989b Resolving a wrongly declared variable error
(cherry picked from commit 7b72a5f0c2)
2024-11-01 14:37:54 +00:00
andreaNeki
c71e7139ca Dynamic aria-describedby attribute
(cherry picked from commit e629d9edf0)
2024-11-01 14:37:54 +00:00
andreaNeki
58612ce227 Code refactoring - Accessibility on the new user registration and forgotten password forms
(cherry picked from commit f00eae6760)
2024-11-01 14:37:54 +00:00
andreaNeki
b041601006 Improving accessibility on the new user registration page
(cherry picked from commit 0eb2d5ce58)
2024-11-01 14:37:53 +00:00
andreaNeki
1011468273 Adjusting spaces in ts
(cherry picked from commit 009da08177)
2024-11-01 14:37:49 +00:00
andreaNeki
1fad3cffc7 Simplifying the implementation of dynamic aria-describedby
(cherry picked from commit fa6e85d6db)
2024-11-01 14:37:49 +00:00
andreaNeki
c330e83095 Resolving a wrongly declared variable error
(cherry picked from commit 7b72a5f0c2)
2024-11-01 14:37:49 +00:00
andreaNeki
3b3fa4f643 Dynamic aria-describedby attribute
(cherry picked from commit e629d9edf0)
2024-11-01 14:37:49 +00:00
andreaNeki
a6b45f777c Code refactoring - Accessibility on the new user registration and forgotten password forms
(cherry picked from commit f00eae6760)
2024-11-01 14:37:49 +00:00
andreaNeki
585bbec5d5 Improving accessibility on the new user registration page
(cherry picked from commit 0eb2d5ce58)
2024-11-01 14:37:49 +00:00
Alexandre Vryghem
33bdb69dca 119915: Extracted the authority/controlled vocabulary logic out of DsoEditMetadataValueComponent
Also:
- Converted the code to the standalone structure
- Made DsoEditMetadataValueFieldLoaderComponent extend AbstractComponentLoaderComponent
2024-10-31 22:15:55 +01:00
Toni Prieto
28c8550ef5 Add button to enable free-text editing in dropdown fields during item edition and fix error when clicking "Clear selection" option 2024-10-31 21:31:27 +01:00
Alexandre Vryghem
017e49aca0 Merge branch 'w2p-119915_made-edit-metadata-tab-fields-dynamic_contribute-7.6' into w2p-119915_made-edit-metadata-tab-fields-dynamic_contribute-main
# Conflicts:
#	src/app/core/shared/context.model.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-value/dso-edit-metadata-value.component.html
#	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/shared/testing/entity-type-data.service.stub.ts
2024-10-30 22:52:56 +01:00
Alexandre Vryghem
77b66a57b8 119915: Changed the dspace.entity.type textarea with a select to prevent incorrect values 2024-10-30 22:43:23 +01:00
Alexandre Vryghem
2ba3f0b15e 119915: Retrieve the edit metadata field dynamically 2024-10-30 22:43:23 +01:00
Tim Donohue
303d59e699 Merge pull request #3589 from DSpace/backport-3587-to-dspace-8_x
[Port dspace-8_x] Update fr.json5
2024-10-30 15:01:52 -05:00
Nima Behforouz
3b8a075049 Update fr.json5
Translation updates to fr.json5 file regarding the Access Control sections.

(cherry picked from commit 8d00d435c4)
2024-10-30 20:01:22 +00:00
Tim Donohue
b52528d449 Merge pull request #3588 from DSpace/backport-3378-to-dspace-8_x
[Port dspace-8_x] Changing the bitstream title in the submission form to use the view c…
2024-10-30 11:43:57 -05:00
DanGastardelli
7e827165e9 Import order adjustment
(cherry picked from commit 2643a459b6)
2024-10-30 15:52:00 +00:00
DanGastardelli
fccfc93a10 Import order adjustment
(cherry picked from commit eeaac8965b)
2024-10-30 15:52:00 +00:00
DanGastardelli
784f5c1808 Fix last commit
(cherry picked from commit 62006c00ca)
2024-10-30 15:52:00 +00:00
DanGastardelli
10f11a55ff Adjusting spacing
(cherry picked from commit 762bc8ce8c)
2024-10-30 15:52:00 +00:00
DanGastardelli
3104264cd4 Adjusting spacing and good rules
(cherry picked from commit df24a63a46)
2024-10-30 15:52:00 +00:00
DanGastardelli
8dd132d7a7 Changing the bitstream title in the submission form to use the view component title, avoiding disappearance with changes to the form
(cherry picked from commit fec4aa6df1)
2024-10-30 15:52:00 +00:00
Tim Donohue
1cafe15d0d Merge pull request #3582 from DSpace/dependabot/npm_and_yarn/dspace-8_x/zone.js-0.15.0
Bump zone.js from 0.14.10 to 0.15.0
2024-10-28 16:27:36 -05:00
dependabot[bot]
6763df88bc Bump zone.js from 0.14.10 to 0.15.0
Bumps [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) from 0.14.10 to 0.15.0.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/packages/zone.js/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/zone.js-0.15.0/packages/zone.js)

---
updated-dependencies:
- dependency-name: zone.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 03:16:28 +00:00
Alexandre Vryghem
f7bb83013a 116404: Replaced ViewChild logic with a CSS selector
This change avoids triggering an additional change detection cycle
2024-10-28 00:02:25 +01:00
Alexandre Vryghem
84df67c00b 116404: Close modal on escape 2024-10-27 18:13:23 +01:00
Alexandre Vryghem
2152bab717 116404: Apply focus on first item 2024-10-27 18:13:23 +01:00
Alexandre Vryghem
05232cdf2b 116404: Added navigation with arrow keys in navbar & collapsed the expandable menu when hovering outside of it 2024-10-27 18:12:55 +01:00
Alexandre Vryghem
c08c2721ac 116404: Don't navigate in the expandable navbar section with tab
Had to move the @slide animation to prevent focus being lost when tabbing in the expandable section
2024-10-27 18:12:31 +01:00
Alexandre Vryghem
2547b1218f 116404: Fixed expandable navbar section loosing focus on expand through keyboard 2024-10-27 18:12:30 +01:00
Tim Donohue
0a005c2d95 Merge pull request #3579 from DSpace-Labs/dependabot/npm_and_yarn/dompurify-2.5.7
Bump dompurify from 2.4.5 to 2.5.7
2024-10-25 17:06:40 -05:00
Tim Donohue
dda9c6ec09 Merge pull request #3580 from DSpace-Labs/dependabot/npm_and_yarn/tough-cookie-4.1.4
Bump tough-cookie from 4.1.2 to 4.1.4
2024-10-25 17:06:04 -05:00
Tim Donohue
5b8cc3c9da Merge pull request #3577 from DSpace/dependabot/npm_and_yarn/dspace-7_x/testing-bd64cd6aac
Bump the testing group across 1 directory with 2 updates
2024-10-25 16:26:47 -05:00
Tim Donohue
d9cd649aea Merge pull request #3558 from DSpace/dependabot/npm_and_yarn/dspace-8_x/angular-843071ab45
Bump the angular group with 3 updates
2024-10-25 16:26:13 -05:00
dependabot[bot]
45fb5aa611 Bump dompurify from 2.4.5 to 2.5.7
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.4.5 to 2.5.7.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.4.5...2.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 21:00:31 +00:00
dependabot[bot]
161fcb8e83 Bump the angular group with 3 updates
Bumps the angular group with 3 updates: [@angular/ssr](https://github.com/angular/angular-cli), [@angular-devkit/build-angular](https://github.com/angular/angular-cli) and [@angular/cli](https://github.com/angular/angular-cli).


Updates `@angular/ssr` from 17.3.10 to 17.3.11
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/17.3.10...17.3.11)

Updates `@angular-devkit/build-angular` from 17.3.10 to 17.3.11
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/17.3.10...17.3.11)

Updates `@angular/cli` from 17.3.10 to 17.3.11
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/17.3.10...17.3.11)

---
updated-dependencies:
- dependency-name: "@angular/ssr"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 20:21:44 +00:00
Tim Donohue
fada1281a6 Merge pull request #3563 from DSpace/dependabot/npm_and_yarn/dspace-8_x/sass-bcfd08c0da
Bump sass from 1.80.3 to 1.80.4 in the sass group
2024-10-25 15:15:19 -05:00
Tim Donohue
6c7371e97f Merge pull request #3568 from DSpace/dependabot/npm_and_yarn/dspace-8_x/babel/runtime-7.26.0
Bump @babel/runtime from 7.25.9 to 7.26.0
2024-10-25 15:14:44 -05:00
Tim Donohue
96b60064db Merge pull request #3576 from DSpace/dependabot/npm_and_yarn/dspace-8_x/testing-bd64cd6aac
Bump the testing group across 1 directory with 2 updates
2024-10-25 15:12:52 -05:00
dependabot[bot]
6f360a6a2d Bump the testing group across 1 directory with 2 updates
Bumps the testing group with 2 updates in the / directory: [axe-core](https://github.com/dequelabs/axe-core) and [cypress](https://github.com/cypress-io/cypress).


Updates `axe-core` from 4.7.2 to 4.10.2
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/v4.10.2/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.7.2...v4.10.2)

Updates `cypress` from 13.15.0 to 13.15.1
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.15.0...v13.15.1)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 20:05:40 +00:00
dependabot[bot]
4a394a2a38 Bump tough-cookie from 4.1.2 to 4.1.4
Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.4.
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](https://github.com/salesforce/tough-cookie/compare/v4.1.2...v4.1.4)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 20:04:27 +00:00
Tim Donohue
da9e856369 Merge pull request #3574 from tdonohue/remove_unused_deps_7x
[Port dspace-7_x] Remove unused dependencies (& additional Mirador dependency cleanup)
2024-10-25 15:02:00 -05:00
dependabot[bot]
ed410d7e95 Bump the testing group across 1 directory with 2 updates
Bumps the testing group with 2 updates in the / directory: [axe-core](https://github.com/dequelabs/axe-core) and [cypress](https://github.com/cypress-io/cypress).


Updates `axe-core` from 4.10.0 to 4.10.2
- [Release notes](https://github.com/dequelabs/axe-core/releases)
- [Changelog](https://github.com/dequelabs/axe-core/blob/v4.10.2/CHANGELOG.md)
- [Commits](https://github.com/dequelabs/axe-core/compare/v4.10.0...v4.10.2)

Updates `cypress` from 13.15.0 to 13.15.1
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v13.15.0...v13.15.1)

---
updated-dependencies:
- dependency-name: axe-core
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 19:14:02 +00:00
dependabot[bot]
40ee2af8ef Bump sass from 1.80.3 to 1.80.4 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.3 to 1.80.4
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.3...1.80.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 19:13:40 +00:00
dependabot[bot]
d3e9f87432 Bump @babel/runtime from 7.25.9 to 7.26.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.9 to 7.26.0.
- [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.26.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 19:13:35 +00:00
Tim Donohue
18736d847f Merge pull request #3573 from tdonohue/remove_unused_deps_8x
[Port dspace-8_x] Remove unused dependencies (& additional Mirador dependency cleanup)
2024-10-25 14:11:55 -05:00
Tim Donohue
eedaa2c120 Move ng-mocks to dev dependencies 2024-10-25 14:07:34 -05:00
Tim Donohue
d4e6aa8660 Move @material-ui depedencies & other mirador dependencies to dev dependencies. Only needed to avoid yarn install warnings 2024-10-25 14:07:34 -05:00
Tim Donohue
4d365936f2 Remove unused dependencies listed in "resolutions" 2024-10-25 14:07:34 -05:00
Tim Donohue
6655dec1ec Remove "analyze" command and webpack-bundle-analyzer dev dependency 2024-10-25 14:07:34 -05:00
Tim Donohue
99d421caec Remove unused rxjs-spy dev dependency 2024-10-25 14:07:34 -05:00
Tim Donohue
8d33d52174 Move @types/grecaptcha to dev dependencies 2024-10-25 14:01:27 -05:00
Tim Donohue
6a7c19ae4b Merge pull request #3565 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.26.0
Bump @babel/runtime from 7.25.9 to 7.26.0
2024-10-25 13:59:38 -05:00
Tim Donohue
fc9eb1157b Merge pull request #3561 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-bcfd08c0da
Bump sass from 1.80.3 to 1.80.4 in the sass group
2024-10-25 13:50:19 -05:00
Tim Donohue
913c2cb44b Move ng-mocks to dev dependencies 2024-10-25 12:43:43 -05:00
Tim Donohue
44889b1c6f Move @material-ui depedencies & other mirador dependencies to dev dependencies. Only needed to avoid yarn install warnings 2024-10-25 10:20:19 -05:00
dependabot[bot]
c83b6ff036 Bump @babel/runtime from 7.25.9 to 7.26.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.9 to 7.26.0.
- [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.26.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 13:34:55 +00:00
dependabot[bot]
e93e66d3e4 Bump sass from 1.80.3 to 1.80.4 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.3 to 1.80.4
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.3...1.80.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 13:34:03 +00:00
Tim Donohue
19dcc1d47e Remove unused dependencies listed in "resolutions" 2024-10-24 17:06:32 -05:00
Tim Donohue
148cbce5d1 Remove "analyze" command and webpack-bundle-analyzer dev dependency 2024-10-24 17:06:32 -05:00
Tim Donohue
a23c0ee237 Remove unused rxjs-spy dev dependency 2024-10-24 17:06:31 -05:00
Tim Donohue
234aae4d77 Remove unused browser-sync 2024-10-24 15:04:27 -05:00
Tim Donohue
453dee618b Remove unused angular-idle-preload 2024-10-24 15:03:32 -05:00
Tim Donohue
7a1432a0a2 Move @types/grecaptcha to dev dependencies 2024-10-24 15:02:49 -05:00
Tim Donohue
22e911cab2 Merge pull request #3551 from tdonohue/update_http-proxy-middleware_8x
[Port dspace-8_x] Bump http-proxy-middleware from 1.0.5 to 2.0.7
2024-10-24 11:21:26 -05:00
kshepherd
882d09ad8e Merge pull request #3548 from tdonohue/remove_unused_postcss_deps_8x
[Port dspace-8_x] Remove unused PostCSS plugins
2024-10-24 16:06:02 +02:00
kshepherd
9905693d73 Merge pull request #3555 from DSpace/backport-3524-to-dspace-8_x
[Port dspace-8_x] Aligning the browse button
2024-10-24 15:28:43 +02:00
kshepherd
ef11340280 Merge pull request #3554 from DSpace/backport-3524-to-dspace-7_x
[Port dspace-7_x] Aligning the browse button
2024-10-24 15:28:14 +02:00
andreaNeki
1c8c5de570 Issue 3426 - Aligning the browse button
(cherry picked from commit ddafda33b8)
2024-10-24 11:46:00 +00:00
andreaNeki
d4bb79ca18 Issue 3426 - Aligning the browse button
(cherry picked from commit ddafda33b8)
2024-10-24 11:45:55 +00:00
Alan Orth
40e805f90f Merge pull request #3552 from tdonohue/update_http-proxy-middleware_7x 2024-10-24 08:44:25 +03:00
Alan Orth
a719a2337a Merge pull request #3549 from tdonohue/remove_unused_postcss_deps_7x 2024-10-24 08:41:56 +03:00
Tim Donohue
26f6dc562b Bump http-proxy-middleware from 1.0.5 to 2.0.7 2024-10-23 15:09:27 -05:00
Tim Donohue
0ed8c05e1c Bump http-proxy-middleware from 1.0.5 to 2.0.7 2024-10-23 15:05:01 -05:00
Tim Donohue
3deef34f5b Merge pull request #3545 from DSpace/backport-3481-to-dspace-7_x
[Port dspace-7_x] Fix code scanning alert no. 6: Incomplete string escaping or encoding
2024-10-23 14:33:08 -05:00
Tim Donohue
425078dc4e Remove unused postcss-responsive-type 2024-10-23 14:13:33 -05:00
Tim Donohue
5c877f56e9 Remove unused/unmaintained postcss-apply 2024-10-23 14:11:53 -05:00
Tim Donohue
e7ff564608 Remove unused postcss-responsive-type 2024-10-23 13:56:46 -05:00
Tim Donohue
04410485a5 Remove unused/unmaintained postcss-apply 2024-10-23 13:55:36 -05:00
Tim Donohue
930d8ef8e0 Merge pull request #3546 from DSpace/backport-3481-to-dspace-8_x
[Port dspace-8_x] Fix code scanning alert no. 6: Incomplete string escaping or encoding
2024-10-23 13:15:39 -05:00
Tim Donohue
bb84d86cf5 Fix code scanning alert no. 6: Incomplete string escaping or encoding
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 372444c50a)
2024-10-23 17:25:18 +00:00
Tim Donohue
9486ab5fa1 Fix code scanning alert no. 6: Incomplete string escaping or encoding
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 372444c50a)
2024-10-23 17:25:14 +00:00
Tim Donohue
7c6ecf8e9e Merge pull request #3530 from DSpace/dependabot/npm_and_yarn/dspace-7_x/reflect-metadata-0.2.2
Bump reflect-metadata from 0.1.13 to 0.2.2
2024-10-23 11:37:24 -05:00
Tim Donohue
6198314a37 Merge pull request #3535 from DSpace/dependabot/npm_and_yarn/dspace-8_x/babel/runtime-7.25.9
Bump @babel/runtime from 7.25.7 to 7.25.9
2024-10-23 10:59:19 -05:00
Tim Donohue
ee36bab60b Merge pull request #3531 from DSpace/dependabot/npm_and_yarn/dspace-7_x/babel/runtime-7.25.9
Bump @babel/runtime from 7.21.0 to 7.25.9
2024-10-23 10:12:06 -05:00
Tim Donohue
89569d7989 Merge pull request #3533 from DSpace/dependabot/npm_and_yarn/dspace-8_x/typescript-5.4.5
Bump typescript from 5.3.3 to 5.4.5
2024-10-23 09:59:08 -05:00
dependabot[bot]
207e2ac9ae Bump typescript from 5.3.3 to 5.4.5
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.3.3 to 5.4.5.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.3.3...v5.4.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 14:08:36 +00:00
Tim Donohue
09201b0d51 Merge pull request #3537 from DSpace/dependabot/npm_and_yarn/dspace-8_x/types/lodash-4.17.12
Bump @types/lodash from 4.17.10 to 4.17.12
2024-10-23 09:06:44 -05:00
Alan Orth
ccf6f36ade Merge pull request #3526 from DSpace/dependabot/npm_and_yarn/dspace-7_x/angulartics2-12.2.1 2024-10-23 09:39:21 +03:00
dependabot[bot]
5cb22bb1d0 Bump reflect-metadata from 0.1.13 to 0.2.2
Bumps [reflect-metadata](https://github.com/rbuckton/reflect-metadata) from 0.1.13 to 0.2.2.
- [Release notes](https://github.com/rbuckton/reflect-metadata/releases)
- [Changelog](https://github.com/rbuckton/reflect-metadata/blob/main/tsconfig-release.json)
- [Commits](https://github.com/rbuckton/reflect-metadata/commits)

---
updated-dependencies:
- dependency-name: reflect-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 21:58:01 +00:00
Tim Donohue
b237c7f5cb Merge pull request #3525 from DSpace/dependabot/npm_and_yarn/dspace-7_x/multi-c55d84953a
Bump sanitize-html and @types/sanitize-html
2024-10-22 16:56:11 -05:00
Tim Donohue
30c3e3db0c Merge pull request #3532 from DSpace/dependabot/npm_and_yarn/dspace-7_x/zone.js-0.13.3
Bump zone.js from 0.11.8 to 0.13.3
2024-10-22 16:55:24 -05:00
Tim Donohue
39cdd1692a Merge pull request #3528 from DSpace/dependabot/npm_and_yarn/dspace-7_x/webpack-dev-server-4.15.2
Bump webpack-dev-server from 4.13.3 to 4.15.2
2024-10-22 16:51:38 -05:00
dependabot[bot]
a9febec691 Bump @types/lodash from 4.17.10 to 4.17.12
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.10 to 4.17.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 21:33:31 +00:00
dependabot[bot]
cddee3e1db Bump @babel/runtime from 7.25.7 to 7.25.9
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.25.7 to 7.25.9.
- [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.25.9/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 21:33:14 +00:00
dependabot[bot]
603e46283f Bump angulartics2 from 12.2.0 to 12.2.1
Bumps [angulartics2](https://github.com/angulartics/angulartics2) from 12.2.0 to 12.2.1.
- [Release notes](https://github.com/angulartics/angulartics2/releases)
- [Commits](https://github.com/angulartics/angulartics2/compare/v12.2.0...v12.2.1)

---
updated-dependencies:
- dependency-name: angulartics2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 19:31:16 +00:00
Tim Donohue
c17adef242 Merge pull request #3523 from DSpace/dependabot/npm_and_yarn/dspace-7_x/axios-1.7.7
Bump axios from 1.7.5 to 1.7.7
2024-10-22 14:29:41 -05:00
Tim Donohue
bacd484832 Merge pull request #3515 from DSpace/dependabot/npm_and_yarn/dspace-7_x/ng-mocks-14.13.1
Bump ng-mocks from 14.10.0 to 14.13.1
2024-10-22 14:21:04 -05:00
dependabot[bot]
7eb0a47fca Bump zone.js from 0.11.8 to 0.13.3
Bumps [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) from 0.11.8 to 0.13.3.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/packages/zone.js/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/zone.js-0.13.3/packages/zone.js)

---
updated-dependencies:
- dependency-name: zone.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 19:20:58 +00:00
dependabot[bot]
cfa6d50583 Bump @babel/runtime from 7.21.0 to 7.25.9
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.21.0 to 7.25.9.
- [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.25.9/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 19:20:30 +00:00
dependabot[bot]
47db669191 Bump webpack-dev-server from 4.13.3 to 4.15.2
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.13.3 to 4.15.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v4.15.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.13.3...v4.15.2)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 19:19:40 +00:00
dependabot[bot]
ab60ad2072 Bump sanitize-html and @types/sanitize-html
Bumps [sanitize-html](https://github.com/apostrophecms/sanitize-html) and [@types/sanitize-html](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sanitize-html). These dependencies needed to be updated together.

Updates `sanitize-html` from 2.12.1 to 2.13.1
- [Changelog](https://github.com/apostrophecms/sanitize-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/sanitize-html/compare/2.12.1...2.13.1)

Updates `@types/sanitize-html` from 2.9.0 to 2.13.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sanitize-html)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/sanitize-html"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 19:18:46 +00:00
Tim Donohue
081c573653 Merge pull request #3521 from DSpace/dependabot/npm_and_yarn/dspace-7_x/date-fns-2.30.0
Bump date-fns from 2.29.3 to 2.30.0
2024-10-22 13:48:32 -05:00
Tim Donohue
e22ed77527 Merge pull request #3520 from DSpace/dependabot/npm_and_yarn/dspace-7_x/webpack-bundle-analyzer-4.10.2
Bump webpack-bundle-analyzer from 4.8.0 to 4.10.2
2024-10-22 13:31:32 -05:00
Tim Donohue
4eca7c062c Merge pull request #3514 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sortablejs-1.15.3
Bump sortablejs from 1.15.0 to 1.15.3
2024-10-22 13:30:29 -05:00
Tim Donohue
bef3d37802 Merge pull request #3517 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/express-4.17.21
Bump @types/express from 4.17.17 to 4.17.21
2024-10-22 13:18:47 -05:00
Tim Donohue
2ab52dad8e Merge pull request #3522 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/deep-freeze-0.1.5
Bump @types/deep-freeze from 0.1.2 to 0.1.5
2024-10-22 13:17:41 -05:00
Tim Donohue
6bd66910a9 Merge pull request #3518 from DSpace/dependabot/npm_and_yarn/dspace-7_x/fortawesome/fontawesome-free-6.6.0
Bump @fortawesome/fontawesome-free from 6.4.0 to 6.6.0
2024-10-22 13:16:03 -05:00
Tim Donohue
51e9acf9ff Merge pull request #3430 from DSpace/dependabot/npm_and_yarn/dspace-8_x/webpack-5.95.0
Bump webpack from 5.94.0 to 5.95.0
2024-10-22 13:13:58 -05:00
dependabot[bot]
cfecf0ff62 Bump ng-mocks from 14.10.0 to 14.13.1
Bumps [ng-mocks](https://github.com/help-me-mom/ng-mocks) from 14.10.0 to 14.13.1.
- [Release notes](https://github.com/help-me-mom/ng-mocks/releases)
- [Changelog](https://github.com/help-me-mom/ng-mocks/blob/master/CHANGELOG.md)
- [Commits](https://github.com/help-me-mom/ng-mocks/compare/v14.10.0...v14.13.1)

---
updated-dependencies:
- dependency-name: ng-mocks
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 17:16:48 +00:00
Tim Donohue
1bea5f8e6c Merge pull request #3519 from DSpace/dependabot/npm_and_yarn/dspace-7_x/mirador-share-plugin-0.16.0
Bump mirador-share-plugin from 0.11.0 to 0.16.0
2024-10-22 12:14:27 -05:00
Tim Donohue
c55ad832c7 Merge pull request #3490 from DSpace/dependabot/npm_and_yarn/dspace-8_x/mirador-share-plugin-0.16.0
Bump mirador-share-plugin from 0.11.0 to 0.16.0
2024-10-22 12:13:11 -05:00
Tim Donohue
d634903d0d Remove unnecessary @ts-expect-error, as the bug they are expecting is fixed in webpack 5.95.0. 2024-10-22 11:35:09 -05:00
dependabot[bot]
7ee4fd5b06 Bump axios from 1.7.5 to 1.7.7
Bumps [axios](https://github.com/axios/axios) from 1.7.5 to 1.7.7.
- [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/v1.7.5...v1.7.7)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:24:48 +00:00
dependabot[bot]
b90f8e1b49 Bump @types/deep-freeze from 0.1.2 to 0.1.5
Bumps [@types/deep-freeze](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/deep-freeze) from 0.1.2 to 0.1.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/deep-freeze)

---
updated-dependencies:
- dependency-name: "@types/deep-freeze"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:24:35 +00:00
dependabot[bot]
2a92215d82 Bump date-fns from 2.29.3 to 2.30.0
Bumps [date-fns](https://github.com/date-fns/date-fns) from 2.29.3 to 2.30.0.
- [Release notes](https://github.com/date-fns/date-fns/releases)
- [Changelog](https://github.com/date-fns/date-fns/blob/main/CHANGELOG.md)
- [Commits](https://github.com/date-fns/date-fns/compare/v2.29.3...v2.30.0)

---
updated-dependencies:
- dependency-name: date-fns
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:24:25 +00:00
dependabot[bot]
d03b3c3a48 Bump webpack-bundle-analyzer from 4.8.0 to 4.10.2
Bumps [webpack-bundle-analyzer](https://github.com/webpack-contrib/webpack-bundle-analyzer) from 4.8.0 to 4.10.2.
- [Changelog](https://github.com/webpack-contrib/webpack-bundle-analyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/webpack-bundle-analyzer/compare/v4.8.0...v4.10.2)

---
updated-dependencies:
- dependency-name: webpack-bundle-analyzer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:24:02 +00:00
dependabot[bot]
5ac126250e Bump mirador-share-plugin from 0.11.0 to 0.16.0
Bumps [mirador-share-plugin]() from 0.11.0 to 0.16.0.

---
updated-dependencies:
- dependency-name: mirador-share-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:23:38 +00:00
dependabot[bot]
a1919a7a1f Bump @fortawesome/fontawesome-free from 6.4.0 to 6.6.0
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.4.0 to 6.6.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.4.0...6.6.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:23:20 +00:00
dependabot[bot]
dfae913dea Bump @types/express from 4.17.17 to 4.17.21
Bumps [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) from 4.17.17 to 4.17.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express)

---
updated-dependencies:
- dependency-name: "@types/express"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:22:59 +00:00
dependabot[bot]
627d8097ac Bump sortablejs from 1.15.0 to 1.15.3
Bumps [sortablejs](https://github.com/SortableJS/Sortable) from 1.15.0 to 1.15.3.
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.15.0...1.15.3)

---
updated-dependencies:
- dependency-name: sortablejs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-22 16:21:46 +00:00
Tim Donohue
c5c9abebde Merge pull request #3509 from tdonohue/remove_unused_deps
Remove unused dependencies (sortablejs, sanitize-html, webfontloader)
2024-10-22 08:54:44 -05:00
DanGastardelli
3cd5432034 Changed the implementation of changing the text font size when there is no thumbnail. 2024-10-22 10:37:41 -03:00
Andrea Barbasso
49b329edb1 [DSC-1847][DSC-1966] fix navbar ui error 2024-10-22 15:03:30 +02:00
Alan Orth
8dc777fc46 Merge pull request #3510 from tdonohue/remove_unused_deps_7x 2024-10-22 11:36:11 +03:00
Tim Donohue
e7430b9c1a Remove unused webfontloader 2024-10-21 17:01:49 -05:00
Tim Donohue
d9080d1427 Remove unused webfontloader 2024-10-21 16:37:57 -05:00
Tim Donohue
a561879eb4 Remove unused sanitize-html 2024-10-21 16:31:07 -05:00
Tim Donohue
3053e401b6 Remove sortablejs which is unused 2024-10-21 16:29:55 -05:00
Tim Donohue
264bc289aa Merge pull request #3483 from DSpace/dependabot/npm_and_yarn/dspace-8_x/eslint-9cef52ea48
Bump eslint-plugin-import from 2.30.0 to 2.31.0 in the eslint group
2024-10-21 16:19:12 -05:00
Tim Donohue
4543285a9d Merge pull request #3499 from DSpace/dependabot/npm_and_yarn/dspace-7_x/markdown-it-13.0.2
Bump markdown-it from 13.0.1 to 13.0.2
2024-10-21 16:08:59 -05:00
Tim Donohue
4b9ea2f084 Merge pull request #3501 from DSpace/dependabot/npm_and_yarn/dspace-8_x/sass-25e7b4912b
Bump sass from 1.80.2 to 1.80.3 in the sass group
2024-10-21 15:54:00 -05:00
Tim Donohue
86ea2dc5cb Merge pull request #3498 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-25e7b4912b
Bump sass from 1.80.2 to 1.80.3 in the sass group
2024-10-21 15:53:18 -05:00
Tim Donohue
43d4122bc5 Merge pull request #3485 from DSpace/dependabot/npm_and_yarn/dspace-7_x/eslint-dda39ca691
Bump the eslint group with 5 updates
2024-10-21 15:01:17 -05:00
Tim Donohue
e87da70191 Merge pull request #3492 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/ejs-3.1.5
Bump @types/ejs from 3.1.2 to 3.1.5
2024-10-21 14:51:41 -05:00
Tim Donohue
4f24f2d12f Merge pull request #3495 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/grecaptcha-3.0.9
Bump @types/grecaptcha from 3.0.4 to 3.0.9
2024-10-21 14:50:33 -05:00
dependabot[bot]
24b7d38fe9 Bump webpack from 5.94.0 to 5.95.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.94.0 to 5.95.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.94.0...v5.95.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 19:47:25 +00:00
Tim Donohue
d32d12b3e9 Merge pull request #3497 from DSpace/dependabot/npm_and_yarn/dspace-8_x/postcss-8.4.47
Bump postcss from 8.4.45 to 8.4.47
2024-10-21 14:45:58 -05:00
Tim Donohue
44fdc49e26 Merge pull request #3496 from DSpace/dependabot/npm_and_yarn/dspace-7_x/postcss-8.4.47
Bump postcss from 8.4.38 to 8.4.47
2024-10-21 14:45:04 -05:00
Tim Donohue
bc5b969c4c Merge pull request #3493 from DSpace/dependabot/npm_and_yarn/dspace-8_x/ngtools/webpack-16.2.16
Bump @ngtools/webpack from 16.2.15 to 16.2.16
2024-10-21 14:42:40 -05:00
Tim Donohue
600474a092 Merge pull request #3487 from DSpace/dependabot/npm_and_yarn/dspace-8_x/express-static-gzip-2.1.8
Bump express-static-gzip from 2.1.7 to 2.1.8
2024-10-21 14:41:21 -05:00
dependabot[bot]
610bd32869 Bump the eslint group with 5 updates
Bumps the eslint group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `5.59.1` | `5.62.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `5.59.1` | `5.62.0` |
| [eslint-plugin-deprecation](https://github.com/gund/eslint-plugin-deprecation) | `1.4.1` | `1.5.0` |
| [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) | `2.27.5` | `2.31.0` |
| [eslint-plugin-jsonc](https://github.com/ota-meshi/eslint-plugin-jsonc) | `2.6.0` | `2.16.0` |


Updates `@typescript-eslint/eslint-plugin` from 5.59.1 to 5.62.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.62.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 5.59.1 to 5.62.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.62.0/packages/parser)

Updates `eslint-plugin-deprecation` from 1.4.1 to 1.5.0
- [Release notes](https://github.com/gund/eslint-plugin-deprecation/releases)
- [Changelog](https://github.com/gund/eslint-plugin-deprecation/blob/master/CHANGELOG.md)
- [Commits](https://github.com/gund/eslint-plugin-deprecation/compare/v1.4.1...v1.5.0)

Updates `eslint-plugin-import` from 2.27.5 to 2.31.0
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.27.5...v2.31.0)

Updates `eslint-plugin-jsonc` from 2.6.0 to 2.16.0
- [Release notes](https://github.com/ota-meshi/eslint-plugin-jsonc/releases)
- [Changelog](https://github.com/ota-meshi/eslint-plugin-jsonc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ota-meshi/eslint-plugin-jsonc/compare/v2.6.0...v2.16.0)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: eslint-plugin-deprecation
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
- dependency-name: eslint-plugin-jsonc
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 19:22:59 +00:00
dependabot[bot]
059da40c64 Bump markdown-it from 13.0.1 to 13.0.2
Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 13.0.1 to 13.0.2.
- [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md)
- [Commits](https://github.com/markdown-it/markdown-it/compare/13.0.1...13.0.2)

---
updated-dependencies:
- dependency-name: markdown-it
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 19:18:12 +00:00
dependabot[bot]
6f7c64e8ca Bump sass from 1.80.2 to 1.80.3 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.2 to 1.80.3
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.2...1.80.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 19:18:08 +00:00
Tim Donohue
1b99ffbf58 Merge pull request #3435 from DSpace/dependabot/npm_and_yarn/dspace-7_x/klaro-0.7.21
Bump klaro from 0.7.18 to 0.7.21
2024-10-21 14:16:06 -05:00
Tim Donohue
36195a9ed1 Merge pull request #3500 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/lodash-4.17.12
Bump @types/lodash from 4.14.194 to 4.17.12
2024-10-21 14:14:45 -05:00
Tim Donohue
03bf6a9fc3 Merge pull request #3486 from DSpace/dependabot/npm_and_yarn/dspace-8_x/pem-1.14.8
Bump pem from 1.14.7 to 1.14.8
2024-10-21 14:12:21 -05:00
Tim Donohue
d784a28ddb Merge pull request #3489 from DSpace/dependabot/npm_and_yarn/dspace-7_x/pem-1.14.8
Bump pem from 1.14.7 to 1.14.8
2024-10-21 14:11:47 -05:00
dependabot[bot]
7e97dbbe81 Bump eslint-plugin-import from 2.30.0 to 2.31.0 in the eslint group
Bumps the eslint group with 1 update: [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import).


Updates `eslint-plugin-import` from 2.30.0 to 2.31.0
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.30.0...v2.31.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 19:06:30 +00:00
dependabot[bot]
7f85a1eaa1 Bump sass from 1.80.2 to 1.80.3 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.80.2 to 1.80.3
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.80.2...1.80.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 19:04:30 +00:00
Tim Donohue
a145851330 Merge pull request #3508 from DSpace/backport-3209-to-dspace-8_x
[Port dspace-8_x] Update pt-PT.json5
2024-10-21 13:49:15 -05:00
Ricardo Saraiva
7cfbeb241b Update pt-PT.json5
Lint errors review.

(cherry picked from commit 43071da3eb)
2024-10-21 18:48:41 +00:00
Ricardo Saraiva
74c0c3ad37 Update pt-PT.json5
Extensive revision of i18n pt-PT with the news translation strings introduced by DSpace v8.0 and other improvements > last updated 18th of july 2024.

(cherry picked from commit 2c20833410)
2024-10-21 18:48:41 +00:00
dependabot[bot]
e1619e6a6b Bump @types/lodash from 4.14.194 to 4.17.12
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.14.194 to 4.17.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 02:31:33 +00:00
Tim Donohue
c9996564c8 Merge pull request #3484 from DSpace/dependabot/npm_and_yarn/dspace-8_x/sass-7fd8873515
Bump sass from 1.62.1 to 1.80.2 in the sass group
2024-10-18 16:54:41 -05:00
dependabot[bot]
e3be0cd794 Bump postcss from 8.4.38 to 8.4.47
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.38 to 8.4.47.
- [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.38...8.4.47)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 21:54:22 +00:00
dependabot[bot]
ac3bccc67d Bump klaro from 0.7.18 to 0.7.21
Bumps [klaro](https://github.com/kiprotect/klaro) from 0.7.18 to 0.7.21.
- [Changelog](https://github.com/klaro-org/klaro-js/blob/master/releases.json)
- [Commits](https://github.com/kiprotect/klaro/compare/v0.7.18...v0.7.21)

---
updated-dependencies:
- dependency-name: klaro
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 21:53:59 +00:00
Tim Donohue
b2d46190cb Merge pull request #3488 from DSpace/dependabot/npm_and_yarn/dspace-7_x/sass-7fd8873515
Bump sass from 1.62.0 to 1.80.2 in the sass group
2024-10-18 16:52:20 -05:00
Tim Donohue
532da9d21f Merge pull request #3440 from DSpace/dependabot/npm_and_yarn/dspace-7_x/karma-6.4.4
Bump karma from 6.4.2 to 6.4.4
2024-10-18 15:53:22 -05:00
dependabot[bot]
5abba52204 Bump postcss from 8.4.45 to 8.4.47
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.45 to 8.4.47.
- [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.45...8.4.47)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:19:38 +00:00
dependabot[bot]
dc73f85458 Bump @types/grecaptcha from 3.0.4 to 3.0.9
Bumps [@types/grecaptcha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/grecaptcha) from 3.0.4 to 3.0.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/grecaptcha)

---
updated-dependencies:
- dependency-name: "@types/grecaptcha"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:19:21 +00:00
dependabot[bot]
e5748dd7a4 Bump @ngtools/webpack from 16.2.15 to 16.2.16
Bumps [@ngtools/webpack](https://github.com/angular/angular-cli) from 16.2.15 to 16.2.16.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/16.2.15...16.2.16)

---
updated-dependencies:
- dependency-name: "@ngtools/webpack"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:19:02 +00:00
dependabot[bot]
ac1adefeec Bump @types/ejs from 3.1.2 to 3.1.5
Bumps [@types/ejs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ejs) from 3.1.2 to 3.1.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ejs)

---
updated-dependencies:
- dependency-name: "@types/ejs"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:19:00 +00:00
dependabot[bot]
6fd8d4eef4 Bump mirador-share-plugin from 0.11.0 to 0.16.0
Bumps [mirador-share-plugin]() from 0.11.0 to 0.16.0.

---
updated-dependencies:
- dependency-name: mirador-share-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:18:37 +00:00
dependabot[bot]
6eb407ff3b Bump pem from 1.14.7 to 1.14.8
Bumps [pem](https://github.com/Dexus/pem) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/Dexus/pem/releases)
- [Changelog](https://github.com/Dexus/pem/blob/master/HISTORY.md)
- [Commits](https://github.com/Dexus/pem/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: pem
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:18:37 +00:00
dependabot[bot]
43f7586564 Bump express-static-gzip from 2.1.7 to 2.1.8
Bumps [express-static-gzip](https://github.com/tkoenig89/express-static-gzip) from 2.1.7 to 2.1.8.
- [Release notes](https://github.com/tkoenig89/express-static-gzip/releases)
- [Commits](https://github.com/tkoenig89/express-static-gzip/compare/v2.1.7...v2.1.8)

---
updated-dependencies:
- dependency-name: express-static-gzip
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:18:26 +00:00
dependabot[bot]
2c152e632b Bump sass from 1.62.0 to 1.80.2 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.62.0 to 1.80.2
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.62.0...1.80.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:18:26 +00:00
dependabot[bot]
98ad7a84d5 Bump pem from 1.14.7 to 1.14.8
Bumps [pem](https://github.com/Dexus/pem) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/Dexus/pem/releases)
- [Changelog](https://github.com/Dexus/pem/blob/master/HISTORY.md)
- [Commits](https://github.com/Dexus/pem/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: pem
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:18:13 +00:00
dependabot[bot]
9a686b36f1 Bump sass from 1.62.1 to 1.80.2 in the sass group
Bumps the sass group with 1 update: [sass](https://github.com/sass/dart-sass).


Updates `sass` from 1.62.1 to 1.80.2
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.62.1...1.80.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: sass
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 20:18:01 +00:00
dependabot[bot]
047b4629bf Bump karma from 6.4.2 to 6.4.4
Bumps [karma](https://github.com/karma-runner/karma) from 6.4.2 to 6.4.4.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.4.2...v6.4.4)

---
updated-dependencies:
- dependency-name: karma
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-18 19:35:07 +00:00
Tim Donohue
1244f23522 Merge pull request #3471 from tdonohue/flakey_item_page_tests
[dspace-7_x] Fix flakey Item page accessibility tests by waiting for pages to fuly load
2024-10-18 14:33:12 -05:00
Tim Donohue
5275f8d13f Fix flakey Item page accessibility tests by waiting for pages to fully load. 2024-10-18 14:01:19 -05:00
Tim Donohue
c3eaf8bd6f Merge pull request #3442 from DSpace/dependabot/npm_and_yarn/dspace-7_x/nouislider-15.8.1
Bump nouislider from 15.7.1 to 15.8.1
2024-10-18 12:25:34 -05:00
Tim Donohue
53c6e89486 Merge pull request #3443 from DSpace/dependabot/npm_and_yarn/dspace-7_x/core-js-3.38.1
Bump core-js from 3.30.1 to 3.38.1
2024-10-18 12:14:46 -05:00
Tim Donohue
1bfd68bd34 Merge pull request #3444 from DSpace/dependabot/npm_and_yarn/dspace-7_x/types/node-14.18.63
Bump @types/node from 14.18.42 to 14.18.63
2024-10-18 11:56:38 -05:00
Tim Donohue
9410114be3 Merge pull request #3432 from DSpace/dependabot/npm_and_yarn/dspace-7_x/angular-99dae2292d
Bump the angular group with 15 updates
2024-10-18 11:53:53 -05:00
Yana De Pauw
5a7ebd4ba9 Continue the menu refactor and cleanup 2024-10-18 13:01:22 +02:00
Tim Donohue
3741c08230 Merge pull request #3429 from DSpace/dependabot/npm_and_yarn/dspace-8_x/types/deep-freeze-0.1.5
Bump @types/deep-freeze from 0.1.2 to 0.1.5
2024-10-17 16:55:12 -05:00
Tim Donohue
dc6dd9e056 Merge pull request #3428 from DSpace/dependabot/npm_and_yarn/dspace-8_x/types/lodash-4.17.10
Bump @types/lodash from 4.17.7 to 4.17.10
2024-10-17 16:54:32 -05:00
Tim Donohue
5a3b0c6d78 Merge pull request #3446 from DSpace/dependabot/npm_and_yarn/dspace-7_x/express-static-gzip-2.1.8
Bump express-static-gzip from 2.1.7 to 2.1.8
2024-10-17 16:51:22 -05:00
Tim Donohue
83dcc618e0 Merge pull request #3439 from DSpace/dependabot/npm_and_yarn/dspace-8_x/babel/runtime-7.25.7
Bump @babel/runtime from 7.21.0 to 7.25.7
2024-10-17 16:10:24 -05:00
dependabot[bot]
3459bf68cb Bump the angular group with 15 updates
Bumps the angular group with 15 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `15.2.8` | `15.2.10` |
| [@angular/cdk](https://github.com/angular/components) | `15.2.8` | `15.2.9` |
| [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `15.2.8` | `15.2.10` |
| [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `15.2.8` | `15.2.10` |
| [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `15.2.8` | `15.2.10` |
| [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `15.2.8` | `15.2.10` |
| [@angular/localize](https://github.com/angular/angular) | `15.2.8` | `15.2.10` |
| [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `15.2.8` | `15.2.10` |
| [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `15.2.8` | `15.2.10` |
| [@angular/platform-server](https://github.com/angular/angular/tree/HEAD/packages/platform-server) | `15.2.8` | `15.2.10` |
| [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `15.2.8` | `15.2.10` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `15.2.6` | `15.2.11` |
| [@angular/cli](https://github.com/angular/angular-cli) | `16.2.12` | `16.2.16` |
| [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `15.2.8` | `15.2.10` |
| [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `15.2.8` | `15.2.10` |


Updates `@angular/animations` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/animations)

Updates `@angular/cdk` from 15.2.8 to 15.2.9
- [Release notes](https://github.com/angular/components/releases)
- [Changelog](https://github.com/angular/components/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/components/compare/15.2.8...15.2.9)

Updates `@angular/common` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/common)

Updates `@angular/compiler` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/compiler)

Updates `@angular/core` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/core)

Updates `@angular/forms` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/forms)

Updates `@angular/localize` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/compare/15.2.8...15.2.10)

Updates `@angular/platform-browser` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/platform-browser)

Updates `@angular/platform-browser-dynamic` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/platform-browser-dynamic)

Updates `@angular/platform-server` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/platform-server)

Updates `@angular/router` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/router)

Updates `@angular-devkit/build-angular` from 15.2.6 to 15.2.11
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/15.2.6...15.2.11)

Updates `@angular/cli` from 16.2.12 to 16.2.16
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/16.2.12...16.2.16)

Updates `@angular/compiler-cli` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/compiler-cli)

Updates `@angular/language-service` from 15.2.8 to 15.2.10
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/15.2.10/packages/language-service)

---
updated-dependencies:
- dependency-name: "@angular/animations"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/cdk"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/common"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/compiler"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/forms"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/localize"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/platform-browser"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/platform-browser-dynamic"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/platform-server"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/router"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/compiler-cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/language-service"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-17 19:59:07 +00:00
dependabot[bot]
ab7bded221 Bump express-static-gzip from 2.1.7 to 2.1.8
Bumps [express-static-gzip](https://github.com/tkoenig89/express-static-gzip) from 2.1.7 to 2.1.8.
- [Release notes](https://github.com/tkoenig89/express-static-gzip/releases)
- [Commits](https://github.com/tkoenig89/express-static-gzip/compare/v2.1.7...v2.1.8)

---
updated-dependencies:
- dependency-name: express-static-gzip
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-17 19:56:44 +00:00
Tim Donohue
14a6894540 Merge pull request #3468 from tdonohue/port_3461_to_7x
[Port dspace-7_x] Add basic e2e testing for i18n
2024-10-17 14:55:04 -05:00
dependabot[bot]
bcb70d54dd Bump @babel/runtime from 7.21.0 to 7.25.7
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.21.0 to 7.25.7.
- [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.25.7/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-17 19:52:32 +00:00
Tim Donohue
92b695e6ba Merge pull request #3436 from DSpace/dependabot/npm_and_yarn/dspace-8_x/reflect-metadata-0.2.2
Bump reflect-metadata from 0.1.14 to 0.2.2
2024-10-17 14:50:40 -05:00
Tim Donohue
946a3afde8 Add basic e2e testing for i18n 2024-10-17 14:25:59 -05:00
Tim Donohue
68348a5fff Merge pull request #3467 from DSpace/backport-3461-to-dspace-8_x
[Port dspace-8_x] Add basic e2e testing for i18n
2024-10-17 14:23:27 -05:00
Tim Donohue
b29a12dce3 Add basic e2e testing for i18n
(cherry picked from commit a74cd848fe)
2024-10-17 15:47:26 +00:00
Andreas Awouters
1babb96a1c Merge branch 'item-edit-bitstreams-table-7.6' into item-edit-bitstreams-table-8_x
# Conflicts:
#	src/app/item-page/edit-item-page/edit-item-page.module.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.html
#	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.html
#	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.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-bitstreams/item-edit-bitstream/item-edit-bitstream.component.ts
#	src/app/shared/notifications/models/notification-options.model.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/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.spec.ts
#	src/app/shared/pagination-drag-and-drop/abstract-paginated-drag-and-drop-list.component.ts
2024-10-17 12:45:27 +02:00
Andreas Awouters
b0900d5aa9 Merge branch 'item-edit-bitstreams-table-7.6' into item-edit-bitstreams-table-7_x
# Conflicts:
#	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.html
#	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.html
#	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
2024-10-17 09:11:47 +02:00
dependabot[bot]
e181e854cc Bump @types/node from 14.18.42 to 14.18.63
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.18.42 to 14.18.63.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-16 21:47:00 +00:00
dependabot[bot]
ad8dd8b648 Bump core-js from 3.30.1 to 3.38.1
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.30.1 to 3.38.1.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.38.1/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-16 21:45:45 +00:00
dependabot[bot]
dfe2d4580e Bump nouislider from 15.7.1 to 15.8.1
Bumps [nouislider](https://github.com/leongersen/noUiSlider) from 15.7.1 to 15.8.1.
- [Release notes](https://github.com/leongersen/noUiSlider/releases)
- [Changelog](https://github.com/leongersen/noUiSlider/blob/master/CHANGELOG.MD)
- [Commits](https://github.com/leongersen/noUiSlider/compare/15.7.1...15.8.1)

---
updated-dependencies:
- dependency-name: nouislider
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-16 21:43:58 +00:00
Tim Donohue
7f1e267b2d Merge pull request #3460 from tdonohue/fix_collection_e2e_test
[dspace-7_x] Fix Collection Page e2e test. Wait on Recent Submissions
2024-10-16 16:39:11 -05:00
Tim Donohue
8c88f7052a Wait on viewevent to trigger before checking Collection Page in e2e tests. This ensures Collection page is fully loaded because viewevent triggers upon loading. 2024-10-16 16:08:39 -05:00
Tim Donohue
e9db8d821e Merge pull request #3427 from DSpace/dependabot/npm_and_yarn/dspace-8_x/angular-1a23ed9475
Bump the angular group with 10 updates
2024-10-16 11:52:19 -05:00
dependabot[bot]
1321b7b8a9 Bump reflect-metadata from 0.1.14 to 0.2.2
Bumps [reflect-metadata](https://github.com/rbuckton/reflect-metadata) from 0.1.14 to 0.2.2.
- [Release notes](https://github.com/rbuckton/reflect-metadata/releases)
- [Changelog](https://github.com/rbuckton/reflect-metadata/blob/main/tsconfig-release.json)
- [Commits](https://github.com/rbuckton/reflect-metadata/commits)

---
updated-dependencies:
- dependency-name: reflect-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-15 13:59:10 +00:00
dependabot[bot]
3352a966f3 Bump @types/deep-freeze from 0.1.2 to 0.1.5
Bumps [@types/deep-freeze](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/deep-freeze) from 0.1.2 to 0.1.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/deep-freeze)

---
updated-dependencies:
- dependency-name: "@types/deep-freeze"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-15 13:57:49 +00:00
dependabot[bot]
e6ce751279 Bump @types/lodash from 4.17.7 to 4.17.10
Bumps [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) from 4.17.7 to 4.17.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash)

---
updated-dependencies:
- dependency-name: "@types/lodash"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-15 13:57:36 +00:00
dependabot[bot]
dac4d4a713 Bump the angular group with 10 updates
Bumps the angular group with 10 updates:

| Package | From | To |
| --- | --- | --- |
| [@angular/localize](https://github.com/angular/angular) | `17.3.11` | `17.3.12` |
| [@angular/ssr](https://github.com/angular/angular-cli) | `17.3.9` | `17.3.10` |
| [@angular-devkit/build-angular](https://github.com/angular/angular-cli) | `17.3.9` | `17.3.10` |
| [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `17.2.1` | `17.5.3` |
| [@angular-eslint/bundled-angular-compiler](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/bundled-angular-compiler) | `17.2.1` | `17.5.3` |
| [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `17.2.1` | `17.5.3` |
| [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `17.2.1` | `17.5.3` |
| [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `17.2.1` | `17.5.3` |
| [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `17.2.1` | `17.5.3` |
| [@angular/cli](https://github.com/angular/angular-cli) | `17.3.9` | `17.3.10` |


Updates `@angular/localize` from 17.3.11 to 17.3.12
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/compare/17.3.11...17.3.12)

Updates `@angular/ssr` from 17.3.9 to 17.3.10
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/17.3.9...17.3.10)

Updates `@angular-devkit/build-angular` from 17.3.9 to 17.3.10
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/17.3.9...17.3.10)

Updates `@angular-eslint/builder` from 17.2.1 to 17.5.3
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/builder/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/HEAD/packages/builder)

Updates `@angular-eslint/bundled-angular-compiler` from 17.2.1 to 17.5.3
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/bundled-angular-compiler/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/HEAD/packages/bundled-angular-compiler)

Updates `@angular-eslint/eslint-plugin` from 17.2.1 to 17.5.3
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/HEAD/packages/eslint-plugin)

Updates `@angular-eslint/eslint-plugin-template` from 17.2.1 to 17.5.3
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/eslint-plugin-template/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/HEAD/packages/eslint-plugin-template)

Updates `@angular-eslint/schematics` from 17.2.1 to 17.5.3
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/schematics/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/HEAD/packages/schematics)

Updates `@angular-eslint/template-parser` from 17.2.1 to 17.5.3
- [Release notes](https://github.com/angular-eslint/angular-eslint/releases)
- [Changelog](https://github.com/angular-eslint/angular-eslint/blob/main/packages/template-parser/CHANGELOG.md)
- [Commits](https://github.com/angular-eslint/angular-eslint/commits/HEAD/packages/template-parser)

Updates `@angular/cli` from 17.3.9 to 17.3.10
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/17.3.9...17.3.10)

---
updated-dependencies:
- dependency-name: "@angular/localize"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular/ssr"
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
- dependency-name: "@angular-eslint/builder"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: angular
- dependency-name: "@angular-eslint/bundled-angular-compiler"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: angular
- dependency-name: "@angular-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: angular
- dependency-name: "@angular-eslint/eslint-plugin-template"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: angular
- dependency-name: "@angular-eslint/schematics"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: angular
- dependency-name: "@angular-eslint/template-parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: angular
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-15 13:57:17 +00:00
Tim Donohue
f749ade52c Merge pull request #3422 from DSpace/backport-3176-to-dspace-7_x
[Port dspace-7_x] Add German translations (metadata import)
2024-10-14 17:02:02 -05:00
Tim Donohue
03147f5bdd Merge pull request #3423 from DSpace/backport-3176-to-dspace-8_x
[Port dspace-8_x] Add German translations (metadata import)
2024-10-14 17:01:52 -05:00
Tim Donohue
a759fc58de Merge pull request #3421 from DSpace/backport-3144-to-dspace-8_x
[Port dspace-8_x] Update Arabic Translation
2024-10-14 17:01:38 -05:00
Sascha Szott
26e02639d0 add missing German translations
(cherry picked from commit 2af168bd54)
2024-10-14 22:01:08 +00:00
Sascha Szott
533da6624f add missing German translations
(cherry picked from commit 2af168bd54)
2024-10-14 22:01:05 +00:00
Mohamed Ali
aee7f0f899 Update Arabic Translation
Update Arabic Translation

Update  ar.json5 translation

(cherry picked from commit f5f40c3dc7)
2024-10-14 21:48:50 +00:00
Tim Donohue
0bf1521d56 Merge pull request #3417 from DSpace-Labs/dependabot/npm_and_yarn/body-parser-1.20.3
[dspace-8_x] Bump body-parser from 1.20.2 to 1.20.3
2024-10-14 09:09:25 -05:00
dependabot[bot]
0657517915 Bump body-parser from 1.20.2 to 1.20.3
Bumps [body-parser](https://github.com/expressjs/body-parser) from 1.20.2 to 1.20.3.
- [Release notes](https://github.com/expressjs/body-parser/releases)
- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)
- [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3)

---
updated-dependencies:
- dependency-name: body-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-11 20:14:58 +00:00
Tim Donohue
f7063d4eaf Merge pull request #3411 from alexandrevryghem/w2p-119207_fix-browse-startwith-options-not-loading_contribute-7_x
Fix browse by date's year dropdown being empty on DSpace 7.6.2+
2024-10-11 15:03:16 -05:00
Tim Donohue
3db6aba02b Merge pull request #3412 from alexandrevryghem/w2p-117287_fix-item-version-performance-issues_contribute-8_x
[Port dspace-8_x] Fixed Edit Item's Version History crashing
2024-10-11 14:14:47 -05:00
Alexandre Vryghem
4de3c58e06 119207: Reinitialize the BrowseByComponent's objectInjector when startsWithOptions don't exist yet OnInit 2024-10-11 16:23:46 +02:00
Yana De Pauw
005936b18d Support withSubs on the menuproviders in appmenu
Adds support to define child providers for a parent menu using a .withSubs option. This parent menu will always be displayed as an expandable menu.
When no children are visible, the expandable menus will be hidden.
2024-10-11 15:51:34 +02:00
Andrea Barbasso
5619d6bc4c [DURACOM-248] set function call result in a class attribute
(cherry picked from commit 87cff6c907)
2024-10-11 00:50:59 +02:00
Alexandre Vryghem
e30bfffbf0 117287: Simplified the if conditions on the edit/save/discard buttons on item versions
(cherry picked from commit 04bbaf9cb9)
2024-10-11 00:28:43 +02:00
Alexandre Vryghem
db4ea14289 Merge branch 'w2p-117287_fix-item-version-performance-issues_contribute-7.6' into dspace-8_x
# Conflicts:
#	src/app/item-page/versions/item-versions.component.html
#	src/app/item-page/versions/item-versions.component.ts
2024-10-11 00:14:59 +02:00
Tim Donohue
e74dc22077 Merge pull request #3405 from 4Science/task/backport-3213-to-dspace-7_x
[Port dspace-7_x] Implement e2e accessibility tests for pages in DSpace User Interface
2024-10-10 13:20:34 -05:00
Tim Donohue
673c758fc8 Merge pull request #3410 from tdonohue/port_3407_to_8x
[Port dspace-8_x] Bump cookie, cookie-parser and socket.io
2024-10-10 13:13:56 -05:00
Tim Donohue
7884de94e0 Merge pull request #3409 from tdonohue/port_3407_to_7x
[Port dspace-7_x] Bump cookie, cookie-parser and socket.io
2024-10-10 13:13:51 -05:00
Tim Donohue
8fee4e348c Bump cookie, cookie-parser and socket.io 2024-10-10 11:50:08 -05:00
Tim Donohue
169ae41d49 Bump cookie, cookie-parser and socket.io 2024-10-10 11:17:17 -05:00
Alisa Ismailati
7cd82e542b [CST-17153] improve descriptive labels for show/hide more buttons on related items lists 2024-10-10 18:13:34 +02:00
FrancescoMolinaro
6388613948 revert adding interceptor as not reliable on remote test 2024-10-10 18:00:35 +02:00
Tim Donohue
34a4f5b597 Merge pull request #3368 from alexandrevryghem/w2p-117287_fix-item-version-performance-issues_contribute-7_x
[Port dspace-7_x] Fixed Edit Item's Version History crashing
2024-10-10 10:46:07 -05:00
FrancescoMolinaro
7cf7749367 correct intercept to dso resolved for route 2024-10-10 17:32:46 +02:00
Tim Donohue
adcc6f564d Merge pull request #3404 from tdonohue/port_3343_to_7x
[Port dspace-7_x] Bump send, express and serve-static
2024-10-10 10:08:37 -05:00
Tim Donohue
e9d6a6c35c Merge pull request #3403 from tdonohue/port_3343_to_8x
[Port dspace-8_x] Bump send, express, browser-sync and serve-static
2024-10-10 10:08:29 -05:00
FrancescoMolinaro
ba2570b83b Add interceptor for collection page to avoid timeout 2024-10-10 16:18:01 +02:00
FrancescoMolinaro
7ac14daf46 remove interceptors 2024-10-10 15:42:47 +02:00
FrancescoMolinaro
caed26d191 resolve differences with version 8 2024-10-10 14:32:20 +02:00
FrancescoMolinaro
5c0c559685 [CST-15592] remove interceptor for edit group 2024-10-10 12:28:48 +02:00
FrancescoMolinaro
9079a968f0 [CST-15592] add interceptor for edit group, fix landmark-unique accessibility issue in pagination component 2024-10-10 12:28:41 +02:00
FrancescoMolinaro
3df66e0257 [CST-15592] add interceptor for item edit page 2024-10-10 12:28:33 +02:00
FrancescoMolinaro
be36175bb8 [CST-15592] add interceptor to prevent sudden timeout failure 2024-10-10 12:27:48 +02:00
FrancescoMolinaro
d0265eb3f6 [CST-15592] refine health page tests 2024-10-10 12:27:41 +02:00
FrancescoMolinaro
5479cc6274 [CST-15592] change health page test target for second tab 2024-10-10 12:27:31 +02:00
FrancescoMolinaro
db891f2f16 [CST-15592] improve tests, add attributes for testing, fix wrong references 2024-10-10 12:27:22 +02:00
FrancescoMolinaro
543cc42bf3 [CST-15592] add accessibility tests for:
Admin Add New Modals
Admin Edit Modals
Admin Export Modals
Admin Workflow Page
End User Agreement
Feedback
Profile Page
System Wide Alert
2024-10-10 12:27:09 +02:00
FrancescoMolinaro
2ad9a44b99 [CST-15592] add accessibility tests for:
Admin Curation Task
Bitstream Format
Health Page
Metadata Schema
2024-10-10 12:27:02 +02:00
FrancescoMolinaro
ecd2275e1b [CST-15592] add accessibility tests for:
Admin Notifications Publication Claim
Admin Search Page
Bulk Access
Create Group
Metadata Registry
2024-10-10 12:26:54 +02:00
FrancescoMolinaro
f904c0f67d [CST-15592] add accessibility tests for:
Edit Eperson
Edit Group
Create EPerson
Epeople Registry
Groups Registry
2024-10-10 12:26:47 +02:00
FrancescoMolinaro
64855c9cf8 [CST-15592] add accessibility tests for following pages:
Metadata Import
Batch Import
Processes Overview
New Process
Quality Assurance Sources
2024-10-10 12:26:36 +02:00
Tim Donohue
9a7b242827 Bump send, express and serve-static 2024-10-09 16:55:38 -05:00
Tim Donohue
cfc3269e5d Bump send, express, browser-sync and serve-static 2024-10-09 16:41:41 -05:00
Tim Donohue
e46c801554 Merge pull request #3402 from tdonohue/port_3400_to_7x
[Port dspace-7_x] Fixed #3399 - minor typo
2024-10-09 15:55:32 -05:00
Tim Donohue
ab7d6d44fc Merge pull request #3401 from DSpace/backport-3400-to-dspace-8_x
[Port dspace-8_x] Fixed #3399 - minor typo
2024-10-09 14:20:34 -05:00
Arta Seyedian
7be3f1fada Fixed #3399 - minor typo 2024-10-09 14:01:14 -05:00
Arta Seyedian
46f1d3677d Fixed #3399 - minor typo
(cherry picked from commit c6a3794a76)
2024-10-09 18:53:20 +00:00
Tim Donohue
144b455eae Merge pull request #3398 from tdonohue/port_3315_to_7x
[Port dspace-7_x] Upgrade to Cypress 13.15.0
2024-10-09 13:03:19 -05:00
Tim Donohue
bd8659ac11 Test stability fixes. Ensure Item Edit tests wait on tabs to load by testing if tab is active. Fix small bug in login-modal test. 2024-10-09 12:08:11 -05:00
Tim Donohue
5636db84a8 Simplify login CSS selectors 2024-10-09 12:00:02 -05:00
Tim Donohue
5621b84284 Minor changes to login-modal.cy.ts to cleanup CSS selectors 2024-10-09 11:58:55 -05:00
Tim Donohue
35cc7a8096 Ensure Cypress still creates videos in GitHub Actions 2024-10-09 11:56:46 -05:00
Tim Donohue
a4e2c47c51 Bump cypress-axe to 1.5.0 2024-10-09 11:56:11 -05:00
Tim Donohue
7a60cd9aaf Bump to Cypress 13.15.0 2024-10-09 11:55:32 -05:00
Tim Donohue
2a98199471 Merge pull request #3397 from tdonohue/port_3315_to_8x
[Port dspace-8_x] Upgrade to Cypress 13.15.0
2024-10-09 11:51:10 -05:00
Tim Donohue
28fc092410 Test stability fixes. Ensure Item Edit tests wait on tabs to load by testing if tab is active. Fix small bug in login-modal test. 2024-10-09 11:19:57 -05:00
Tim Donohue
976ed6bb0a Simplify login CSS selectors 2024-10-09 11:19:49 -05:00
Tim Donohue
86f21de0a6 Minor changes to login-modal.cy.ts to cleanup CSS selectors 2024-10-09 11:19:42 -05:00
Tim Donohue
b262a3d0f2 Ensure Cypress still creates videos in GitHub Actions 2024-10-09 11:19:35 -05:00
Tim Donohue
d9167262dd Bump cypress-axe to 1.5.0 2024-10-09 11:19:14 -05:00
Tim Donohue
68608a1a8c Bump to Cypress 13.15.0 2024-10-09 11:18:25 -05:00
Tim Donohue
a7b822ffce Merge pull request #3396 from tdonohue/port_3395_to_8x
[Port dspace-8_x] Bump rollup from 4.21.2 to 4.24.0
2024-10-09 11:04:40 -05:00
Tim Donohue
389e6bc28c Merge pull request #3394 from DSpace/backport-3213-to-dspace-8_x
[Port dspace-8_x] Implement e2e accessibility tests for pages in DSpace User Interface
2024-10-09 10:36:47 -05:00
Tim Donohue
6671c776b3 Bump rollup from 4.21.2 to 4.24.0 2024-10-09 10:33:39 -05:00
FrancescoMolinaro
70a38ea0fb [CST-15592] remove interceptor for edit group
(cherry picked from commit 9e985cf2d4)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
6f6a4994ba [CST-15592] add interceptor for edit group, fix landmark-unique accessibility issue in pagination component
(cherry picked from commit 2b466bb382)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
a1bbd32315 [CST-15592] add interceptor for item edit page
(cherry picked from commit 55ab43f132)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
7a03713783 [CST-15592] add interceptor to prevent sudden timeout failure
(cherry picked from commit 0e5b924f42)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
dfd698c914 [CST-15592] refine health page tests
(cherry picked from commit f131ae2f6b)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
a80b324f1f [CST-15592] change health page test target for second tab
(cherry picked from commit 2369b27178)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
75981cf46e [CST-15592] improve tests, add attributes for testing, fix wrong references
(cherry picked from commit 69f618e856)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
48d74ee2cd [CST-15592] add accessibility tests for:
Admin Add New Modals
Admin Edit Modals
Admin Export Modals
Admin Workflow Page
End User Agreement
Feedback
Profile Page
System Wide Alert

(cherry picked from commit 4cd55d6669)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
bae0442ede [CST-15592] add accessibility tests for:
Admin Curation Task
Bitstream Format
Health Page
Metadata Schema

(cherry picked from commit d12d0faf09)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
5e9cca1399 [CST-15592] add accessibility tests for:
Admin Notifications Publication Claim
Admin Search Page
Bulk Access
Create Group
Metadata Registry

(cherry picked from commit 85e486438a)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
c3273c8d5e [CST-15592] add accessibility tests for:
Edit Eperson
Edit Group
Create EPerson
Epeople Registry
Groups Registry

(cherry picked from commit a0e3c41be6)
2024-10-09 14:21:11 +00:00
FrancescoMolinaro
cd6fda20be [CST-15592] add accessibility tests for following pages:
Metadata Import
Batch Import
Processes Overview
New Process
Quality Assurance Sources

(cherry picked from commit e6a7fb852a)
2024-10-09 14:21:11 +00:00
Tim Donohue
cf877f44d8 Merge pull request #3392 from tdonohue/port_3221_to_8x
[Port dspace-8_x] Removed unnecessary *ngVars from ThumbnailComponent
2024-10-08 16:55:49 -05:00
Tim Donohue
2f94f49c06 Merge pull request #3391 from DSpace/backport-3221-to-dspace-7_x
[Port dspace-7_x] Removed unnecessary *ngVars from ThumbnailComponent
2024-10-08 16:55:35 -05:00
Alexandre Vryghem
64596c306e 116728: Removed unnecessary *ngVars from the ThumbnailComponent 2024-10-08 15:12:54 -05:00
Alexandre Vryghem
3306d0d699 116728: Removed unnecessary *ngVars from the ThumbnailComponent
(cherry picked from commit d31e17894c)
2024-10-08 20:08:09 +00:00
Tim Donohue
7f1ddcc41c Merge pull request #3388 from DSpace/backport-3386-to-dspace-8_x
[Port dspace-8_x] Update fr.json5 to add capitalization
2024-10-04 10:19:00 -05:00
Tim Donohue
bf9590c1e6 Merge pull request #3387 from DSpace/backport-3386-to-dspace-7_x
[Port dspace-7_x] Update fr.json5 to add capitalization
2024-10-04 10:18:54 -05:00
Julia
884238bc12 Update fr.json5 to add capitalization
(cherry picked from commit c5b395802c)
2024-10-04 15:18:10 +00:00
Julia
e2a84b2145 Update fr.json5 to add capitalization
(cherry picked from commit c5b395802c)
2024-10-04 15:18:06 +00:00
Tim Donohue
3e01912eb2 Merge pull request #3382 from tdonohue/port_3148_to_7x
[Port dspace-7_x] Accessibility of the status page
2024-10-02 17:07:06 -05:00
Tim Donohue
48f70f42ed Merge pull request #3381 from DSpace/backport-3148-to-dspace-8_x
[Port dspace-8_x] Accessibility of the status page
2024-10-02 17:07:00 -05:00
Tim Donohue
4bd6071071 Squashed commit of changes in #3148 from @Andrea-Guevara
Co-authored-by: @Andrea-Guevara
2024-10-02 17:02:12 -05:00
andreaNeki
aa9d2490d1 Adjusting bold text on labels
(cherry picked from commit 4aed1b6056)
2024-10-02 21:49:18 +00:00
andreaNeki
8cc999e81e Edit item - making page content more responsive and accessible
(cherry picked from commit f975e1da89)
2024-10-02 21:49:18 +00:00
root
dadba96975 Issue-1190/PR-3148 Removing 100% height from the column containing the button text and leaving it automatic
(cherry picked from commit 3800021ed3)
2024-10-02 21:49:17 +00:00
root
57d3a3a769 Issue-1190/PR-3148 Improve the space between the text and the button
(cherry picked from commit 5f4a049fdd)
2024-10-02 21:49:17 +00:00
root
01d09810ba Resolution of issue #1190 - Improving the accessibility of the status page using the item-operation component
(cherry picked from commit e06b67fd73)
2024-10-02 21:49:17 +00:00
Yana De Pauw
161daffcc0 115284: Add tests for isRepeatable 2024-10-02 11:09:30 +02:00
Yana De Pauw
876d94e124 115284: Add tests for isRepeatable 2024-10-02 10:03:53 +02:00
Tim Donohue
5887d03504 Merge pull request #3377 from DSpace/backport-3375-to-dspace-8_x
[Port dspace-8_x] Always sanitize HTML passed to dsMarkdown even if markdown rendering is disabled
2024-10-01 11:19:41 -05:00
Kim Shepherd
85f1ba2176 Always sanitize HTML in dsMarkdown even if markdown disabled
Instead of setting innerHTML directly to value, sanitize
the value, even if not passing to renderMarkdown/Mathjax

(cherry picked from commit 8fb4772b6c)
2024-10-01 14:52:34 +00:00
Andrea Barbasso
a8e5b26744 Merge remote-tracking branch 'lyrasis/dspace-7_x' into task/dspace-7_x/CST-14904
# Conflicts:
#	src/app/shared/shared.module.ts
2024-10-01 09:27:53 +02:00
Tim Donohue
6c0514ab48 Merge pull request #3371 from atmire/live-region-7_x
[Port dspace-7_x] Live region
2024-09-30 16:41:06 -05:00
Tim Donohue
80c953fb81 Merge pull request #3370 from atmire/live-region-8.0
[Port dspace-8_x] Live region
2024-09-30 16:38:04 -05:00
DanGastardelli
c4dfed0e02 Adjust the font size of the 'No thumbnails available' text. 2024-09-30 12:33:00 -03:00
Andreas Awouters
bc84bc867b Merge branch 'live-region-7.6' into live-region-7_x
# Conflicts:
#	config/config.example.yml
#	src/app/shared/shared.module.ts
2024-09-30 09:09:44 +02:00
Alexandre Vryghem
98c49231b4 Merge branch 'w2p-117287_fix-item-version-performance-issues_contribute-7.6' into w2p-117287_fix-item-version-performance-issues_contribute-7_x
# Conflicts:
#	src/app/item-page/versions/item-versions.component.html
2024-09-29 00:19:11 +02:00
Tim Donohue
dfa74e0505 Merge pull request #3365 from DSpace/backport-3153-to-dspace-8_x
[Port dspace-8_x] Fix to Mobile navbar hamburger menu for base (custom) theme
2024-09-26 16:13:10 -05:00
Tim Donohue
cf5ac335ca Merge pull request #3364 from DSpace/backport-3153-to-dspace-7_x
[Port dspace-7_x] Fix to Mobile navbar hamburger menu for base (custom) theme
2024-09-26 16:13:04 -05:00
Elvi Nemiz
0cff856bf5 Fix to Mobile navbar hamburger menu for base (custom) theme
https://github.com/DSpace/dspace-angular/pull/2444 only fixes the DSpace theme, not the base (and custom) theme.
(cherry picked from commit a3b6aef66a)
2024-09-26 18:22:15 +00:00
Elvi Nemiz
fe7d2a8a7e Fix to Mobile navbar hamburger menu for base (custom) theme
https://github.com/DSpace/dspace-angular/pull/2444 only fixes the DSpace theme, not the base (and custom) theme.
(cherry picked from commit a3b6aef66a)
2024-09-26 18:22:10 +00:00
Tim Donohue
531968cf1a Merge pull request #3363 from DSpace/backport-3340-to-dspace-8_x
[Port dspace-8_x] DS-3330: Updated en.json5 to fixed typo for 'occurred'
2024-09-26 12:04:13 -05:00
Tim Donohue
5ffd405ba6 Merge pull request #3362 from DSpace/backport-3340-to-dspace-7_x
[Port dspace-7_x] DS-3330: Updated en.json5 to fixed typo for 'occurred'
2024-09-26 12:04:02 -05:00
Julia
c2e9d5453a Update en.json5 - fixed typo for occurred
(cherry picked from commit ed5ac47f88)
2024-09-26 16:57:13 +00:00
Julia
edc738ae39 Update en.json5 - fixed typo for occurred
(cherry picked from commit ed5ac47f88)
2024-09-26 16:57:08 +00:00
Tim Donohue
46b241eda5 Merge pull request #3354 from alanorth/update-isbot-7x
[Port dspace-7_x] updates isbot dependency to newest version
2024-09-26 11:14:38 -05:00
Pascal-Nicolas Becker
f244d388be Merge pull request #3359 from DSpace/backport-3149-to-dspace-7_x
[Port dspace-7_x] missing German translations (500 error)
2024-09-26 17:54:02 +02:00
Tim Donohue
59fd32ac68 Merge pull request #3360 from DSpace/backport-3175-to-dspace-7_x
[Port dspace-7_x] minor change: added missing periods in German translations
2024-09-26 10:52:54 -05:00
Tim Donohue
2a145cdc4a Merge pull request #3361 from DSpace/backport-3175-to-dspace-8_x
[Port dspace-8_x] minor change: added missing periods in German translations
2024-09-26 10:52:39 -05:00
Sascha Szott
6b081ee470 minor change: added missing periods in German translations
(cherry picked from commit e26ab86dd3)
2024-09-26 14:45:36 +00:00
Sascha Szott
48ec0cdc34 minor change: added missing periods in German translations
(cherry picked from commit e26ab86dd3)
2024-09-26 14:45:31 +00:00
Sascha Szott
aed97c9dcc added missing German translations (500 error)
(cherry picked from commit 5f6b6ef984)
2024-09-26 14:43:28 +00:00
kshepherd
26dcb6b8b0 Merge pull request #3352 from alexandrevryghem/w2p-110615_minor-accessibility-fixes_contribute-7_x
[Port dspace-7_x] Minor accessibility fixes
2024-09-26 11:29:24 +02:00
kshepherd
7a63ef2ea5 Merge pull request #3353 from alexandrevryghem/w2p-110615_minor-accessibility-fixes_contribute-8_x
[Port dspace-8_x] Minor accessibility fixes
2024-09-26 11:28:36 +02:00
Alexandre Vryghem
27eeefae5f 118135: Fixed missing item page relationship labels 2024-09-25 15:42:20 +02:00
Jens Vannerum
1b17879d7a documentation file 2024-09-25 14:56:00 +02:00
Jens Vannerum
8a5181a9a3 documentation file 2024-09-25 14:55:37 +02:00
Alisa Ismailati
bcaa73a161 [CST-15073][CST-15074] removed unnecessary additions 2024-09-25 10:18:32 +02:00
Alisa Ismailati
1565a1dc32 [CST-15073][CST-15074] Fixes 2024-09-25 10:18:24 +02:00
Alisa Ismailati
83615a1c90 [CST-15073][CST-15074] Adaptation with standalone components 2024-09-25 10:18:14 +02:00
Alisa Ismailati
214a77a65c [CST-14902][CST-15073][CST-15074] Adds ORCID login flow with private email 2024-09-25 10:17:53 +02:00
Alan Orth
29c1b51073 .github/workflows/build.yml: use Node.js v18 and v20
Node.js v16 LTS is end of life since October, 2023.

See: https://nodejs.org/en/about/previous-releases
2024-09-25 08:34:04 +03:00
Alan Orth
35946dcf7c Update isbot dependency
Note that the minimum supported Node.js version is now v18, as v16
is now end of life.
2024-09-25 08:17:03 +03:00
Alan Orth
a0c4ff4509 Merge pull request #3348 from TexasDigitalLibrary/update-isbot-dspace-8_x 2024-09-25 08:10:04 +03:00
Alexandre Vryghem
c933e87707 Merge branch 'w2p-110615_minor-accessibibity-fixes_contribute-7.6' into w2p-110615_minor-accessibility-fixes_contribute-8_x
# Conflicts:
#	src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.html
#	src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.html
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.html
2024-09-24 22:30:50 +02:00
Alexandre Vryghem
f49bdcd8c8 Merge branch 'w2p-110615_minor-accessibibity-fixes_contribute-7.6' into w2p-110615_minor-accessibility-fixes_contribute-7_x
# Conflicts:
#	src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component.html
#	src/app/navbar/expandable-navbar-section/expandable-navbar-section.component.html
#	src/app/shared/form/vocabulary-treeview/vocabulary-treeview.component.html
2024-09-24 22:03:46 +02:00
nwoodward
e45b6af26d updates isbot dependency to newest version 2024-09-24 09:46:58 -05:00
Andrea Barbasso
cd51baa5f1 [CST-14904] add orcid icon with tooltip 2024-09-24 12:04:22 +02:00
Andrea Barbasso
99100371b8 [CST-15078] add orcid icon with tooltip 2024-09-24 11:03:36 +02:00
Andrea Barbasso
e6a02bcbea [CST-15077] add orcid icon with tooltip 2024-09-24 11:00:57 +02:00
Jens Vannerum
ee83beae94 fix bug in lint rule, add docs for rule and update name so it's clear this is only for buttons currently
(cherry picked from commit 2380d4e751)
2024-09-20 16:45:48 +02:00
Jens Vannerum
2380d4e751 fix bug in lint rule, add docs for rule and update name so it's clear this is only for buttons currently 2024-09-20 16:45:05 +02:00
Jens Vannerum
c249afdb3f lint rule with autofix to disallow the disabled input on button elements 2024-09-18 13:09:25 +02:00
Jens Vannerum
7ade453218 lint rule with autofix to disallow the disabled input on button elements 2024-09-18 13:07:56 +02:00
Jens Vannerum
4a7ebeea16 117544: fix remaining bug 2024-09-16 16:10:36 +02:00
Jens Vannerum
d3e87c68fd 117544: fix remaining bug 2024-09-16 16:10:00 +02:00
Jens Vannerum
1209b40ac9 117544: fix remaining bug 2024-09-16 16:09:41 +02:00
Jens Vannerum
f65d6c5775 117544: rename directive to be clear it should currently only be used for buttons 2024-09-16 14:27:37 +02:00
Jens Vannerum
685e6d83c5 117544: PR feedback
- added typedocs
- changed directive to only be present for buttons
- various other small fixes
2024-09-16 14:24:51 +02:00
Jens Vannerum
eb5aadaf8a 117544: linting 2024-09-16 14:19:14 +02:00
Jens Vannerum
aec970f9d1 117544: rename directive to be clear it should currently only be used for buttons 2024-09-16 14:18:26 +02:00
Jens Vannerum
e7d050d3eb 117544: PR feedback
- added typedocs
- changed directive to only be present for buttons
- various other small fixes
2024-09-16 14:13:20 +02:00
Jens Vannerum
0928dc1ca9 117544: linting 2024-09-16 14:11:59 +02:00
Jens Vannerum
5a609d5bb1 117544: rename directive to be clear it should currently only be used for buttons 2024-09-16 13:45:33 +02:00
Jens Vannerum
9fd3c2d734 117544: PR feedback
- added typedocs
- changed directive to only be present for buttons
- various other small fixes
2024-09-16 13:44:06 +02:00
Jens Vannerum
363356b47c Merge remote-tracking branch 'upstream/main' into w2p-117544_support-for-disabled-elements-for-screen-readers-9.0 2024-09-16 10:56:09 +02:00
andreaNeki
74c52bc5ab DSpace#2668 - Adding and changing classes in global scss to make cookie settings more accessible 2024-09-13 16:34:16 -03:00
Tim Donohue
593e67fe72 Merge pull request #3326 from tdonohue/port_3318_to_7x
[Port dspace-7_x] Bump Express to v4.20.0
2024-09-11 16:58:35 -05:00
Tim Donohue
f7706760cd Bump Express to v4.20.0 2024-09-11 16:30:40 -05:00
Tim Donohue
a0cd26ef54 Merge pull request #3324 from tdonohue/port_3318_to_8x
[Port dspace-8_x]  Bump body-parser and express
2024-09-11 15:48:45 -05:00
Tim Donohue
8cda55a92e Bump Express to v4.20.0 2024-09-11 14:24:01 -05:00
Tim Donohue
93659a1be3 Merge pull request #3311 from alanorth/dspace8-yarn-upgrade
yarn.lock: run yarn upgrade
2024-09-11 10:32:42 -05:00
Yana De Pauw
83dc069673 Make tests compile 2024-09-11 11:38:02 +02:00
Alan Orth
81675b7a3a package.json: Use eslint-plugin-unused-imports v3.x.x
According to the docs we should be using v3.x.x:

> * Version 3.x.x is for eslint 8 with @typescript-eslint/eslint-plugin 6 - 7
> * Version 2.x.x is for eslint 8 with @typescript-eslint/eslint-plugin 5

This fixes a lint error.

See: https://www.npmjs.com/package/eslint-plugin-unused-imports
2024-09-10 10:16:26 +03:00
Alan Orth
3626cdf699 lint/src/util: fix TS2314
Fix error in lint:

> lint/src/util/structure.ts:16:20 - error TS2314: Generic type 'RuleMetaData<MessageIds, Options>' requires 2 type argument(s).
>
> 16 export type Meta = RuleMetaData<string>;
2024-09-09 08:07:54 +03:00
Alan Orth
3e0404c817 yarn.lock: run yarn upgrade 2024-09-09 08:07:28 +03:00
Nona Luypaert
5e24ed1fb6 117648: Add tests for basic MenuProviders 2024-09-06 16:55:25 +02:00
Alexandre Vryghem
286de02158 118135: Made the edit relationship labels unique
And fixed it for all the languages 🍞
2024-09-06 15:19:48 +02:00
Tim Donohue
d959a28d0b Merge pull request #3305 from DSpace/backport-3011-to-dspace-8_x
[Port dspace-8_x] Fixed page and admin menu for Shibboleth auth
2024-09-05 16:38:06 -05:00
Tim Donohue
350cbea6d5 Merge pull request #3306 from tdonohue/port_3011_to_7x
[Port dspace-7_x] Fixed page and admin menu for Shibboleth auth
2024-09-05 16:37:58 -05:00
Michael Spalti
98d9f639f7 Updated browser init to update cache after external auth. 2024-09-05 16:06:42 -05:00
Michael Spalti
9d98d1a9aa Updated browser init to update cache after external auth.
(cherry picked from commit 4a236906eb)
2024-09-05 20:55:05 +00:00
Tim Donohue
36f07604ae Merge pull request #3302 from tdonohue/port_3284_to_7x
[Port dspace-7_x] Bump micromatch to 4.0.8
2024-09-05 08:41:02 -05:00
Tim Donohue
257850001d Merge pull request #3301 from DSpace/backport-3284-to-dspace-8_x
[Port dspace-8_x] Bump micromatch from 4.0.5 to 4.0.8
2024-09-05 08:40:52 -05:00
Tim Donohue
4ee1c83073 Bump micromatch to 4.0.8 2024-09-04 17:02:50 -05:00
dependabot[bot]
5ddfca71a1 Bump micromatch from 4.0.5 to 4.0.8
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit aca752a01e)
2024-09-04 21:52:00 +00:00
Tim Donohue
9dec50ee1e Merge pull request #3298 from DSpace/backport-3289-to-dspace-8_x
[Port dspace-8_x] Ignore some paths from file watcher
2024-09-04 11:29:51 -05:00
Tim Donohue
e73139d977 Merge pull request #3297 from DSpace/backport-3289-to-dspace-7_x
[Port dspace-7_x] Ignore some paths from file watcher
2024-09-04 11:29:41 -05:00
Kim Shepherd
91b8829ee4 Ignore some paths from file watcher
Watching all these directories can cause systems to exceed
maximum watched files / inotify limits, especially in dev
mode with IDEs etc also watching files.

(cherry picked from commit 8152d39ad0)
2024-09-04 15:47:16 +00:00
Kim Shepherd
fa95f56be0 Ignore some paths from file watcher
Watching all these directories can cause systems to exceed
maximum watched files / inotify limits, especially in dev
mode with IDEs etc also watching files.

(cherry picked from commit 8152d39ad0)
2024-09-04 15:47:12 +00:00
Tim Donohue
8d459e7c9f Merge pull request #3293 from DSpace/backport-3283-to-dspace-8_x
[Port dspace-8_x] Bump webpack from 5.90.3 to 5.94.0
2024-09-03 17:06:24 -05:00
Alexandre Vryghem
e561d1a469 Remove webpack@5.90.3 since it causes issues with the tests
This automatically removed some old eslint dependencies, which caused some conflicts in the custom linting plugin

(cherry picked from commit 5f922c06e0)
2024-09-03 21:38:00 +00:00
Alexandre Vryghem
4e05a5c310 Temporarily ignore type errors from EnvironmentPlugin since type matching is currently too strict
(cherry picked from commit 7dea5f7d98)
2024-09-03 21:38:00 +00:00
dependabot[bot]
ea3970cfb5 Bump webpack from 5.90.3 to 5.94.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.90.3 to 5.94.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.90.3...v5.94.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit 81b89f5d0c)
2024-09-03 21:38:00 +00:00
Tim Donohue
9aa63d063d Merge pull request #3282 from DSpace/backport-3273-to-dspace-8_x
[Port dspace-8_x] Bump axios from 1.6.7 to 1.7.4
2024-08-30 13:27:10 -05:00
Tim Donohue
ef4496fd21 Merge pull request #3285 from tdonohue/port_3273_to_7x
[Port dspace-7_x] Bump axios from 1.6.7 to 1.7.4
2024-08-30 13:27:05 -05:00
Tim Donohue
dc3bf37521 Bump axios from 1.6.7 to 1.7.4 2024-08-30 12:05:04 -05:00
dependabot[bot]
4c05c0ca64 Bump axios from 1.6.7 to 1.7.4
Bumps [axios](https://github.com/axios/axios) from 1.6.7 to 1.7.4.
- [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/v1.6.7...v1.7.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
(cherry picked from commit b22ba6f3ef)
2024-08-30 16:59:54 +00:00
Tim Donohue
5b20be26fd Merge pull request #3281 from DSpace/backport-3035-to-dspace-8_x
[Port dspace-8_x] Set color black on filter section for mobile
2024-08-29 15:55:09 -05:00
Victor Hugo Duran Santiago
078dcbb707 Set color black on filter section for mobile
(cherry picked from commit 36c95db7bf)
2024-08-29 19:59:46 +00:00
Tim Donohue
b00470aca0 Merge pull request #3035 from VictorHugoDuranS/dspace_7_2682
Set color black on filter section for mobile
2024-08-29 14:59:23 -05:00
Tim Donohue
c9ecc560ee Merge pull request #3278 from DSpace/backport-3277-to-dspace-7_x
[Port dspace-7_x] Typo in German translation
2024-08-29 13:29:54 -05:00
Tim Donohue
a06c925b8a Merge pull request #3279 from DSpace/backport-3277-to-dspace-8_x
[Port dspace-8_x] Typo in German translation
2024-08-29 13:29:48 -05:00
Vlad Novski
5e4b78f4bb fix[i18n]: typo in German translation
(cherry picked from commit 3b4e0d51cd)
2024-08-29 18:29:20 +00:00
Vlad Novski
d697d0f7a7 fix[i18n]: typo in German translation
(cherry picked from commit 3b4e0d51cd)
2024-08-29 18:29:16 +00:00
Yana De Pauw
297562249a Support onRoute on the menuproviders in appmenu
Adds support to define routes for which the menu providers needs to be present in appmenu
Moves menu adding away from the resolver and to the init service
Refactored statsmenu to show stats on all pages based on dso somewhere in the route
2024-08-28 11:08:56 +02:00
Jens Vannerum
0945021378 117544: resolve conflicts after merging in latest 7.x branch 2024-08-27 12:30:18 +02:00
Jens Vannerum
b5d301e53c Merge branch 'w2p-117544_support-for-disabled-elements-for-screen-readers-7.6' into w2p-117544_support-for-disabled-elements-for-screen-readers-7.x 2024-08-27 11:34:57 +02:00
Jens Vannerum
a1f17dcf31 Merge remote-tracking branch 'upstream/dspace-8_x' into w2p-117544_support-for-disabled-elements-for-screen-readers-8.0 2024-08-27 11:23:37 +02:00
Jens Vannerum
bde12bab38 Merge branch 'w2p-117544_support-for-disabled-elements-for-screen-readers-8.0' into w2p-117544_support-for-disabled-elements-for-screen-readers-9.0 2024-08-27 10:49:28 +02:00
Jens Vannerum
b6df0c9a5c 117544: port to 8.0 standard after merge 2024-08-27 10:47:05 +02:00
Jens Vannerum
b2a155386d Merge branch 'w2p-117544_support-for-disabled-elements-for-screen-readers-7.6' into w2p-117544_support-for-disabled-elements-for-screen-readers-8.0 2024-08-26 13:38:55 +02:00
Jens Vannerum
2d48cc0f69 117544: add spec for directive 2024-08-26 10:46:45 +02:00
Jens Vannerum
4527349dcf 117544: alter specs to match new logic 2024-08-26 10:46:45 +02:00
Yury Bondarenko
0291942613 Proof-of-concept: independent menu section providers
- Replace god-class resolvers with a service that populates the menus from lists of injectable providers
- Static menu sections are resolved at the root route ~ `resolveStatic`
- Route-dependent menu sections can be declared in the same structure, but are resolved on-demand ~ `resolveRoute`
- More and more easily customizable
  - Parts can be moved between menus, removed, replaced or extended individually
  - The dependencies of each provider are independent of each other
  - Order of providers determines the order of each menu → single source of truth for the order
2024-08-23 18:39:41 +02:00
Jens Vannerum
43745d830b 117544: replace all disabled states with our dsDisabled directive 2024-08-23 14:52:16 +02:00
Jens Vannerum
63c76644c1 117544: First implementation of an aria friendly disabled state 2024-08-23 14:10:58 +02:00
Tim Donohue
fd2bc90ae2 Merge pull request #3245 from alanorth/backport-3236-to-dspace-7_x
[Port dspace-7_x] #3094 - Update date slider to prevent automatic page reloads
2024-08-09 09:31:21 -05:00
Tim Donohue
0946958ebc Merge pull request #3246 from DSpace/backport-3243-to-dspace-8_x
[Port dspace-8_x] Fix lint error regarding missing interface
2024-08-09 09:12:06 -05:00
Tim Donohue
9d7aa07c1d Fix lint error regarding missing interface
(cherry picked from commit ad6a9438de)
2024-08-09 13:59:01 +00:00
Tim Donohue
c4b1956a26 Merge pull request #3242 from DSpace/backport-3048-to-dspace-8_x
[Port dspace-8_x] add import of missing Angular interfaces (squashed version)
2024-08-09 08:58:34 -05:00
Alan Orth
288c75851e src/app/shared/search: date slider accessibility
Update date slider to prevent automatic page reloads.
2024-08-08 23:17:22 -07:00
Alan Orth
52f80faf00 Merge pull request #3244 from DSpace/backport-3236-to-dspace-8_x 2024-08-08 23:14:46 -07:00
Simone Ramundi
174aa0e50f [CST-15589] Updated slider implementation in template
(cherry picked from commit 56ba23fc3d)
2024-08-09 03:27:37 +00:00
Simone Ramundi
690b934e18 [CST-15589] Updated slider implementation in SearchRangeFilterComponent
(cherry picked from commit 6c2d541b89)
2024-08-09 03:27:37 +00:00
Sascha Szott
93d10aaf2f add missing imports of Angular lifecycle interfaces
(cherry picked from commit 2d9ad8e5cf)
2024-08-08 21:34:05 +00:00
Sascha Szott
8075734744 add missing comma
(cherry picked from commit 3cedeffec9)
2024-08-08 21:34:05 +00:00
Sascha Szott
06556df0a9 add lint rule (use-lifecycle-interface)
(cherry picked from commit cc975bb0b5)
2024-08-08 21:34:05 +00:00
Sascha Szott
85a3578458 added missing interfaces
(cherry picked from commit 96748b9bac)
2024-08-08 21:34:05 +00:00
Tim Donohue
d5a375ee65 Merge pull request #3240 from tdonohue/port_3235_to_7x
[Port dspace-7_x] Missing translations in de.json5 (translation key prefix workspace-item)
2024-08-07 14:22:23 -05:00
Tim Donohue
19f688185d Merge pull request #3239 from tdonohue/port_3235_to_8x
[Port dspace-8_x] Missing translations in de.json5 (translation key prefix workspace-item)
2024-08-07 14:22:18 -05:00
Sascha Szott
5101677d9a fix space issue 2024-08-07 14:21:03 -05:00
Sascha Szott
9135c6318d added missing translations in de.json5 (prefix workspace-item) 2024-08-07 14:21:00 -05:00
Sascha Szott
e630f85f26 fix space issue 2024-08-07 14:19:33 -05:00
Sascha Szott
2e53204820 added missing translations in de.json5 (prefix workspace-item) 2024-08-07 14:19:27 -05:00
Tim Donohue
69c4686e04 Merge pull request #3238 from DSpace/backport-3234-to-dspace-8_x
[Port dspace-8_x] WorkspaceitemsEditPageModule: remove duplicated delete route
2024-08-07 14:15:42 -05:00
Sascha Szott
d7270de2b9 remove duplicated delete route
(cherry picked from commit cddceadea1)
2024-08-07 19:15:07 +00:00
kshepherd
1858671a21 Merge pull request #3232 from DSpace/backport-3230-to-dspace-8_x
[Port dspace-8_x] Improving the file browser for importing metadata
2024-08-04 10:56:04 +02:00
root
e7db991c7a Improving the file browser for importing metadata
(cherry picked from commit ce2abfe584)
2024-08-03 15:31:40 +00:00
kshepherd
8553c277ec Merge pull request #3229 from DSpace/backport-3220-to-dspace-8_x
[Port dspace-8_x] Enabling navbar links in import section
2024-08-01 16:18:19 +02:00
root
30584c8bee A new approach so that the elements of the ds-file-dropzone-no-uploader component don't overlap the navbar and make it inaccessible
(cherry picked from commit 2c259f5ae9)
2024-08-01 13:46:58 +00:00
root
54abc3d5d5 Removing position-fixed bootstrap class so that navbar links are available again
(cherry picked from commit 351abaa5c2)
2024-08-01 13:46:58 +00:00
kshepherd
d4239833d5 Merge pull request #3218 from DSpace/backport-3112-to-dspace-8_x
[Port dspace-8_x] [#3111] fix markdown rendering applying before mathjax rendering
2024-07-25 15:14:46 +02:00
Andrea Barbasso
3c665a736d [DURACOM-273] fix markdown rendering applying before mathjax rendering
(cherry picked from commit 66e1a2488b)
2024-07-25 12:42:45 +00:00
Vincenzo Mecca
1a498f8104 [CST-14903] Orcid Synchronization improvements
feat:
- Introduces reactive states derived from item inside orcid-sync page
- Removes unnecessary navigation
ref:
- Introduces catchError operator and handles failures with error messages
2024-07-25 10:09:51 +02:00
autavares-dev
6cb4faa8d3 Fix truncatable-part keyboard accessibility 2024-07-22 21:20:05 -03:00
Tim Donohue
11fad8d3ce Merge pull request #3190 from DSpace/backport-3186-to-dspace-7_x
[Port dspace-7_x] Docker build: fix FromAsCasing warning
2024-07-17 16:33:28 -05:00
Tim Donohue
02e1e28ed2 Merge pull request #3191 from DSpace/backport-3186-to-dspace-8_x
[Port dspace-8_x] Docker build: fix FromAsCasing warning
2024-07-17 16:33:19 -05:00
root
8c60a67e8e Fixing trailing spaces error 2024-07-17 17:09:58 -03:00
root
d252108f85 Keys for the notifications menu section translated into Spanish 2024-07-17 16:14:09 -03:00
Andrea-Guevara
3ba8019872 Merge branch 'DSpace:main' into SpanishTranslationKeys 2024-07-17 16:06:13 -03:00
Sascha Szott
c7489d123e fix FromAsCasing warning
(cherry picked from commit f4fe2b8632)
2024-07-17 16:33:39 +00:00
Sascha Szott
f7f279c5ed fix FromAsCasing warning
(cherry picked from commit f4fe2b8632)
2024-07-17 16:33:36 +00:00
Tim Donohue
35b83cc168 Merge pull request #3187 from tdonohue/port_3172_to_7x
[Port dspace-7_x] Minor fix in french translation file
2024-07-17 11:19:35 -05:00
Tim Donohue
4fca4de1e1 Merge pull request #3188 from tdonohue/port_3172_to_8x
[Port dspace-8_x] Minor fix in french translation file
2024-07-17 11:19:25 -05:00
root
65ce727157 Issue-2913 Keys that refer to the research translated into Spanish 2024-07-17 12:46:35 -03:00
Emmanuel
73279f43c2 Fix a french translation for consistency 2024-07-17 10:38:16 -05:00
Emmanuel Pastor
8af91b28ec Fix a french translation for consistency 2024-07-17 10:38:12 -05:00
Emmanuel
73b5d776da Fix a french translation for consistency 2024-07-17 10:36:08 -05:00
Emmanuel Pastor
b08b6cca8c Fix a french translation for consistency 2024-07-17 10:36:03 -05:00
Tim Donohue
6c5b2c478a Merge pull request #3180 from DSpace/backport-3166-to-dspace-8_x
[Port dspace-8_x] fixes image path for dspace-postgres-pgcrypto
2024-07-10 17:21:04 -05:00
Bridget Almas
4bb6012cc1 fixes error in image command for dspace-postgres-pgcrypto
(cherry picked from commit 7e600bef57)
2024-07-10 21:35:14 +00:00
Tim Donohue
e2c886c9a4 Merge pull request #3177 from DSpace/backport-3155-to-dspace-7_x
[Port dspace-7_x] Accessibility on the Edit metadata tab
2024-07-10 16:26:09 -05:00
Tim Donohue
c616c2b0ab Merge pull request #3179 from tdonohue/port_3146_to_8x
[Port dspace-8_x] Fixed bug when declining Google ReCaptcha cookie preferences
2024-07-10 16:24:41 -05:00
lotte
1bd8db517f 116132: Fixed cookie issue 2024-07-10 15:29:45 -05:00
Tim Donohue
27ba5bf131 Merge pull request #3178 from DSpace/backport-3155-to-dspace-8_x
[Port dspace-8_x] Accessibility on the Edit metadata tab
2024-07-10 15:26:13 -05:00
Tim Donohue
b00ce65e8b Merge pull request #3147 from atmire/w2p-116132_fixed-cookie-issues_contribute-7.6
[Port dspace-7_x] Fixed bug when declining Google ReCaptcha cookie preferences
2024-07-10 15:22:24 -05:00
root
b0431f3abe Resolution of issue #1193 - Addition of the aria-label attribute to the add, save, discard and undo buttons on the metadata editing page
(cherry picked from commit 4e783e76d1)
2024-07-10 19:53:22 +00:00
root
bdea9a6d71 Resolution of issue #1193 - Addition of the aria-label attribute to the add, save, discard and undo buttons on the metadata editing page
(cherry picked from commit 4e783e76d1)
2024-07-10 19:53:17 +00:00
Vincenzo Mecca
bb770ba65b [CST-14903] Orcid Synchronization improvements
feat:
 - Introduces reactive states derived from item inside orcid-sync page
 - Removes unnecessary navigation
ref:
  - Introduces catchError operator and handles failures with error messages
2024-07-10 11:42:07 +02:00
Tim Donohue
115cdd6090 Merge tag 'dspace-7.6.2' into dspace-8_x 2024-07-09 15:04:29 -05:00
Tim Donohue
1d8d3b3c27 Update version tag for development of next release 2024-07-09 14:34:17 -05:00
Abel Gómez
583dc1f368 Fix SubComColSectionComponent test 2024-07-04 17:25:00 +02:00
Abel Gómez
4de99ba19d Refactor condition 2024-07-04 06:03:07 +02:00
Abel Gómez
6306776f8b Simplify code detecting a navigation to the default route 2024-07-04 05:55:15 +02:00
Abel Gómez
531d328663 Fix resolving the wrong segment of the route in the comcol search component 2024-07-04 05:36:49 +02:00
Abel Gómez
6cecd0abbe Fix imports 2024-07-04 00:48:48 +02:00
Abel Gómez
b49216c173 Fix trailing spaces 2024-07-04 00:11:53 +02:00
Abel Gómez
b7f3711de1 Other minor lint fixes 2024-07-04 00:05:03 +02:00
Abel Gómez
33764f4caa Minor fixes to avoid lint errors 2024-07-03 23:55:37 +02:00
Abel Gómez
961e15fe5f Make the default tab for browsing communities and collections configurable 2024-07-03 23:33:38 +02:00
Tim Donohue
a94cbe17c1 Merge pull request #3160 from DSpace/backport-3158-to-dspace-8_x
[Port dspace-8_x] Docker compose syntax changes
2024-07-03 14:06:35 -05:00
Pierre Lasou
ca6bde3048 Update docker command syntax docker-compose-rest.yml
(cherry picked from commit da8a73ba0b)
2024-07-03 18:55:43 +00:00
Pierre Lasou
1baa5cec26 Update Docker Angular README.md
Change the docker-compose syntax to V2 syntax docker compose

(cherry picked from commit 5e3d0fbdef)
2024-07-03 18:55:43 +00:00
Tim Donohue
6610ccc8c1 Merge pull request #3157 from DSpace/backport-3152-to-dspace-8_x
[Port dspace-8_x] Forward client's user-agent instead of Node's
2024-07-03 13:51:46 -05:00
Alan Orth
e5e3d59b3e src/app/core: forward client user-agent
Forward the client's user-agent instead of sending Node's.

(cherry picked from commit 5b2966cf48)
2024-07-03 05:54:48 +00:00
Yana De Pauw
105547598f 115284: Add repeatable based on relationship max cardinality 2024-06-26 08:42:07 +02:00
Yana De Pauw
a5595015e6 Merge remote-tracking branch 'upstream/dspace-7_x' into w2p-115284_add-support-for-non-repeatable-relaationships_dspace-7-x 2024-06-26 08:38:48 +02:00
Yana De Pauw
a23cdfbc2b 115284: Add repeatable based on relationship max cardinality 2024-06-26 08:32:43 +02:00
Victor Hugo Duran Santiago
36c95db7bf Set color black on filter section for mobile 2024-05-09 20:50:51 -06:00
Alexandre Vryghem
8166c2ebfa Merge remote-tracking branch 'upstream/main' into w2p-108608_created-search-scope-selector_contribute-main
# Conflicts:
#	src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.ts
2024-03-09 04:30:31 +01:00
Alexandre Vryghem
30aa34d1c0 Merge branch 'w2p-108608_created-search-scope-selector_contribute-7.2' into w2p-108608_created-search-scope-selector_contribute-main
# Conflicts:
#	src/app/core/shared/context.model.ts
#	src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.html
#	src/app/shared/search-form/scope-selector-modal/scope-selector-modal.component.ts
2023-11-22 16:45:33 +01:00
Alexandre Vryghem
9c3e3d9c29 108608: Created new ScopeSelectorModal & ScopeSelectorModalCurrent context 2023-11-22 14:51:17 +01:00
2350 changed files with 273233 additions and 54418 deletions

View File

@@ -15,6 +15,10 @@ trim_trailing_whitespace = false
[*.ts]
quote_type = single
ij_typescript_enforce_trailing_comma = whenmultiline
[*.js]
ij_javascript_enforce_trailing_comma = whenmultiline
[*.json5]
ij_json_keep_blank_lines_in_code = 3

View File

@@ -12,7 +12,6 @@
"eslint-plugin-rxjs",
"eslint-plugin-simple-import-sort",
"eslint-plugin-import-newlines",
"eslint-plugin-jsonc",
"dspace-angular-ts",
"dspace-angular-html"
],
@@ -161,6 +160,9 @@
]
}
],
"@angular-eslint/prefer-standalone": [
"error"
],
"@angular-eslint/no-attribute-decorator": "error",
"@angular-eslint/no-output-native": "warn",
"@angular-eslint/no-output-on-prefix": "warn",
@@ -251,6 +253,10 @@
"forceSingleLine": true
}
],
"import/enforce-node-protocol-usage": [
"error",
"always"
],
"unused-imports/no-unused-imports": "error",
"lodash/import-scope": [
@@ -261,9 +267,48 @@
"rxjs/no-nested-subscribe": "off", // todo: go over _all_ cases
// Custom DSpace Angular rules
"dspace-angular-ts/alias-imports": [
"error",
{
"aliases": [
{
"package": "rxjs",
"imported": "of",
"local": "of"
}
]
}
],
"dspace-angular-ts/themed-component-classes": "error",
"dspace-angular-ts/themed-component-selectors": "error",
"dspace-angular-ts/themed-component-usages": "error"
"dspace-angular-ts/themed-component-usages": "error",
"dspace-angular-ts/themed-decorators": [
"off",
{
"decorators": {
"listableObjectComponent": 3,
"rendersSectionForMenu": 2
}
}
],
"dspace-angular-ts/themed-wrapper-no-input-defaults": "error",
"dspace-angular-ts/unique-decorators": [
"off",
{
"decorators": [
"listableObjectComponent"
]
}
],
"dspace-angular-ts/sort-standalone-imports": [
"error",
{
"locale": "en-US",
"maxItems": 0,
"indent": 2,
"trailingComma": true
}
]
}
},
{
@@ -293,7 +338,9 @@
],
"rules": {
// Custom DSpace Angular rules
"dspace-angular-html/themed-component-usages": "error"
"dspace-angular-html/themed-component-usages": "error",
"dspace-angular-html/no-disabled-attribute-on-button": "error",
"@angular-eslint/template/prefer-control-flow": "error"
}
},
{
@@ -301,10 +348,13 @@
"*.json5"
],
"extends": [
"plugin:jsonc/recommended-with-jsonc"
"plugin:jsonc/recommended-with-json5"
],
"rules": {
"no-irregular-whitespace": "error",
// The ESLint core no-irregular-whitespace rule doesn't work well in JSON
// See: https://ota-meshi.github.io/eslint-plugin-jsonc/rules/no-irregular-whitespace.html
"no-irregular-whitespace": "off",
"jsonc/no-irregular-whitespace": "error",
"no-trailing-spaces": "error",
"jsonc/comma-dangle": [
"error",

View File

@@ -25,7 +25,7 @@ However, reviewers may request that you complete any actions in this list if you
- [ ] My PR **doesn't introduce circular dependencies** (verified via `npm run 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).
- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility)** if it makes changes to the user interface.
- [ ] My PR **aligns with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC9x/Accessibility)** if it makes changes to the user interface.
- [ ] My PR **uses i18n (internationalization) keys** instead of hardcoded English text, to allow for translations.
- [ ] My PR **includes details on how to test it**. I've provided clear instructions to reviewers on how to successfully test this fix or feature.
- [ ] 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.

View File

@@ -29,6 +29,8 @@ jobs:
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
# Disable the cookie consent banner in e2e tests to avoid errors because of elements hidden by it
DSPACE_INFO_ENABLECOOKIECONSENTPOPUP: false
# 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"
@@ -190,12 +192,115 @@ jobs:
# Get homepage and verify that the <meta name="title"> tag includes "DSpace".
# If it does, then SSR is working, as this tag is created by our MetadataService.
# This step also prints entire HTML of homepage for easier debugging if grep fails.
- name: Verify SSR (server-side rendering)
- name: Verify SSR (server-side rendering) on Homepage
run: |
result=$(wget -O- -q http://127.0.0.1:4000/home)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep DSpace
# Get a specific community in our test data and verify that the "<h1>" tag includes "Publications" (the community name).
# If it does, then SSR is working.
- name: Verify SSR on a Community page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/communities/0958c910-2037-42a9-81c7-dca80e3892b4)
echo "$result"
echo "$result" | grep -oE "<h1 [^>]*>[^><]*</h1>" | grep Publications
# Get a specific collection in our test data and verify that the "<h1>" tag includes "Articles" (the collection name).
# If it does, then SSR is working.
- name: Verify SSR on a Collection page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/collections/282164f5-d325-4740-8dd1-fa4d6d3e7200)
echo "$result"
echo "$result" | grep -oE "<h1 [^>]*>[^><]*</h1>" | grep Articles
# Get a specific publication in our test data and verify that the <meta name="title"> tag includes
# the title of this publication. If it does, then SSR is working.
- name: Verify SSR on a Publication page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/publication/6160810f-1e53-40db-81ef-f6621a727398)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "An Economic Model of Mortality Salience"
# Get a specific person in our test data and verify that the <meta name="title"> tag includes
# the name of the person. If it does, then SSR is working.
- name: Verify SSR on a Person page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/person/b1b2c768-bda1-448a-a073-fc541e8b24d9)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Simmons, Cameron"
# Get a specific project in our test data and verify that the <meta name="title"> tag includes
# the name of the project. If it does, then SSR is working.
- name: Verify SSR on a Project page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/project/46ccb608-a74c-4bf6-bc7a-e29cc7defea9)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "University Research Fellowship"
# Get a specific orgunit in our test data and verify that the <meta name="title"> tag includes
# the name of the orgunit. If it does, then SSR is working.
- name: Verify SSR on an OrgUnit page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/orgunit/9851674d-bd9a-467b-8d84-068deb568ccf)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Law and Development"
# Get a specific journal in our test data and verify that the <meta name="title"> tag includes
# the name of the journal. If it does, then SSR is working.
- name: Verify SSR on a Journal page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/journal/d4af6c3e-53d0-4757-81eb-566f3b45d63a)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Environmental &amp; Architectural Phenomenology"
# Get a specific journal volume in our test data and verify that the <meta name="title"> tag includes
# the name of the volume. If it does, then SSR is working.
- name: Verify SSR on a Journal Volume page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/journalvolume/07c6249f-4bf7-494d-9ce3-6ffdb2aed538)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Environmental &amp; Architectural Phenomenology Volume 28 (2017)"
# Get a specific journal issue in our test data and verify that the <meta name="title"> tag includes
# the name of the issue. If it does, then SSR is working.
- name: Verify SSR on a Journal Issue page
run: |
result=$(wget -O- -q http://127.0.0.1:4000/entities/journalissue/44c29473-5de2-48fa-b005-e5029aa1a50b)
echo "$result"
echo "$result" | grep -oE "<meta name=\"title\" [^>]*>" | grep "Environmental &amp; Architectural Phenomenology Vol. 28, No. 1"
# Verify 301 Handle redirect behavior
# Note: /handle/123456789/260 is the same test Publication used by our e2e tests
- name: Verify 301 redirect from '/handle' URLs
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/handle/123456789/260 2>&1 | head -1 | awk '{print $2}')
echo "$result"
[[ "$result" -eq "301" ]]
# Verify 403 error code behavior
- name: Verify 403 error code from '/403'
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/403 2>&1 | head -1 | awk '{print $2}')
echo "$result"
[[ "$result" -eq "403" ]]
# Verify 404 error code behavior
- name: Verify 404 error code from '/404' and on invalid pages
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/404 2>&1 | head -1 | awk '{print $2}')
echo "$result"
result2=$(wget --server-response --quiet http://127.0.0.1:4000/invalidurl 2>&1 | head -1 | awk '{print $2}')
echo "$result2"
[[ "$result" -eq "404" && "$result2" -eq "404" ]]
# Verify 500 error code behavior
- name: Verify 500 error code from '/500'
run: |
result=$(wget --server-response --quiet http://127.0.0.1:4000/500 2>&1 | head -1 | awk '{print $2}')
echo "$result"
[[ "$result" -eq "500" ]]
- name: Stop running app
run: kill -9 $(lsof -t -i:4000)

View File

@@ -40,14 +40,14 @@ jobs:
# Initializes the CodeQL tools for scanning.
# https://github.com/github/codeql-action
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: javascript
# Autobuild attempts to build any compiled languages
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
# Perform GitHub Code Scanning.
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3

View File

@@ -10,7 +10,7 @@ DSpace is a community built and supported project. We do not have a centralized
## 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/DSDOC8x/Release+Notes).
Contributors to each release are recognized in our [Release Notes](https://wiki.lyrasis.org/display/DSDOC9x/Release+Notes).
Code Contribution Checklist
- [ ] PRs _should_ be smaller in size (ideally less than 1,000 lines of code, not including comments & tests)
@@ -18,7 +18,7 @@ Code Contribution Checklist
- [ ] 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).
- [ ] User interface changes **must** align with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC8x/Accessibility)
- [ ] User interface changes **must** align with [Accessibility guidelines](https://wiki.lyrasis.org/display/DSDOC9x/Accessibility)
- [ ] PRs **must** use i18n (internationalization) keys instead of hardcoded English text, to allow for translations.
- [ ] Details on how to test the PR **must** be provided. Reviewers must be aware of any steps they need to take to successfully test your fix or feature.
- [ ] 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.

View File

@@ -30,12 +30,12 @@ Downloads
Documentation for each release may be viewed online or downloaded via our [Documentation Wiki](https://wiki.lyrasis.org/display/DSDOC/).
The latest DSpace Installation instructions are available at:
https://wiki.lyrasis.org/display/DSDOC7x/Installing+DSpace
https://wiki.lyrasis.org/display/DSDOC9x/Installing+DSpace
Quick start
-----------
**Ensure you're running [Node](https://nodejs.org) `v16.x` or `v18.x`, [npm](https://www.npmjs.com/) >= `v5.x`**
**Ensure you're running [Node](https://nodejs.org) `v18.x` or `v20.x`, [npm](https://www.npmjs.com/) >= `v10.x`**
```bash
# clone the repo
@@ -90,7 +90,7 @@ Requirements
------------
- [Node.js](https://nodejs.org)
- Ensure you're running node `v16.x` or `v18.x`
- Ensure you're running node `v18.x` or `v20.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.
@@ -349,7 +349,7 @@ See our [DSpace Code Testing Guide](https://wiki.lyrasis.org/display/DSPACE/Code
Documentation
--------------
Official DSpace documentation is available in the DSpace wiki at https://wiki.lyrasis.org/display/DSDOC7x/
Official DSpace documentation is available in the DSpace wiki at https://wiki.lyrasis.org/display/DSDOC9x/
Some UI specific configuration documentation is also found in the [`./docs`](docs) folder of this codebase.

View File

@@ -58,7 +58,10 @@
"input": "src/themes/dspace/styles/theme.scss",
"inject": false,
"bundleName": "dspace-theme"
}
},
"node_modules/leaflet/dist/leaflet.css",
"node_modules/leaflet.markercluster/dist/MarkerCluster.Default.css",
"node_modules/leaflet.markercluster/dist/MarkerCluster.css"
],
"scripts": [],
"baseHref": "/"

View File

@@ -23,6 +23,45 @@ ssr:
# Determining which styles are critical is a relatively expensive operation; this option is
# disabled (false) by default to boost server performance at the expense of loading smoothness.
inlineCriticalCss: false
# Patterns to be run as regexes against the path of the page to check if SSR is allowed.
# If the path match any of the regexes it will be served directly in CSR.
# By default, excludes community and collection browse, global browse, global search, community list, statistics and various administrative tools.
excludePathPatterns:
- pattern: "^/communities/[a-f0-9-]{36}/browse(/.*)?$"
flag: "i"
- pattern: "^/collections/[a-f0-9-]{36}/browse(/.*)?$"
flag: "i"
- pattern: "^/browse/"
- pattern: "^/search$"
- pattern: "^/community-list$"
- pattern: "^/admin/"
- pattern: "^/processes/?"
- pattern: "^/notifications/"
- pattern: "^/statistics/?"
- pattern: "^/access-control/"
- pattern: "^/health$"
# Whether to enable rendering of Search component on SSR.
# If set to true the component will be included in the HTML returned from the server side rendering.
# If set to false the component will not be included in the HTML returned from the server side rendering.
enableSearchComponent: false
# Whether to enable rendering of Browse component on SSR.
# If set to true the component will be included in the HTML returned from the server side rendering.
# If set to false the component will not be included in the HTML returned from the server side rendering.
enableBrowseComponent: false
# Enable state transfer from the server-side application to the client-side application.
# Defaults to true.
# Note: When using an external application cache layer, it's recommended not to transfer the state to avoid caching it.
# Disabling it ensures that dynamic state information is not inadvertently cached, which can improve security and
# ensure that users always use the most up-to-date state.
transferState: true
# When a different REST base URL is used for the server-side application, the generated state contains references to
# REST resources with the internal URL configured. By default, these internal URLs are replaced with public URLs.
# Disable this setting to avoid URL replacement during SSR. In this the state is not transferred to avoid security issues.
replaceRestUrl: true
# Enable request performance profiling data collection and printing the results in the server console.
# Defaults to false. Enabling in production is NOT recommended
#enablePerformanceProfiler: false
# The REST API server settings
# NOTE: these settings define which (publicly available) REST API to use. They are usually
@@ -33,6 +72,9 @@ rest:
port: 443
# NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
nameSpace: /server
# Provide a different REST url to be used during SSR execution. It must contain the whole url including protocol, server port and
# server namespace (uncomment to use it).
#ssrBaseUrl: http://localhost:8080/server
# Caching settings
cache:
@@ -223,6 +265,9 @@ languages:
- code: es
label: Español
active: true
- code: fa
label: فارسی
active: true
- code: fi
label: Suomi
active: true
@@ -232,6 +277,9 @@ languages:
- code: gd
label: Gàidhlig
active: true
- code: gu
label: ગુજરાતી
active: true
- code: hi
label: हिंदी
active: true
@@ -247,6 +295,9 @@ languages:
- code: lv
label: Latviešu
active: true
- code: mr
label: मराठी
active: true
- code: nl
label: Nederlands
active: true
@@ -259,6 +310,9 @@ languages:
- code: pt-BR
label: Português do Brasil
active: true
- code: ru
label: Русский
active: true
- code: sr-lat
label: Srpski (lat)
active: true
@@ -322,15 +376,25 @@ item:
# 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
# Show the bitstream access status label on the item page
showAccessStatuses: false
# Community Page Config
community:
# Default tab to be shown when browsing a Community. Valid values are: comcols, search, or browse_<field>
# <field> must be any of the configured "browse by" fields, e.g., dateissued, author, title, or subject
# When the default tab is not the 'search' tab, the search tab is moved to the last position
defaultBrowseTab: search
# Search tab config
searchSection:
showSidebar: true
# Collection Page Config
collection:
# Default tab to be shown when browsing a Collection. Valid values are: search, or browse_<field>
# <field> must be any of the configured "browse by" fields, e.g., dateissued, author, title, or subject
# When the default tab is not the 'search' tab, the search tab is moved to the last position
defaultBrowseTab: search
# Search tab config
searchSection:
showSidebar: true
@@ -415,6 +479,8 @@ info:
enableEndUserAgreement: true
enablePrivacyStatement: true
enableCOARNotifySupport: true
# Whether to show the cookie consent popup and the cookie settings footer link or not.
enableCookieConsentPopup: true
# Whether to enable Markdown (https://commonmark.org/) and MathJax (https://www.mathjax.org/)
# display in supported metadata fields. By default, only dc.description.abstract is supported.
@@ -448,6 +514,12 @@ search:
enabled: false
# List of filters to enable in "Advanced Search" dropdown
filter: [ 'title', 'author', 'subject', 'entityType' ]
#
# Number used to render n UI elements called loading skeletons that act as placeholders.
# These elements indicate that some content will be loaded in their stead.
# Since we don't know how many filters will be loaded before we receive a response from the server we use this parameter for the skeletons count.
# e.g. If we set 5 then 5 loading skeletons will be visualized before the actual filters are retrieved.
defaultFiltersCount: 5
# Notify metrics
@@ -502,7 +574,6 @@ notifyMetrics:
config: 'NOTIFY.outgoing.delivered'
description: 'admin-notify-dashboard.NOTIFY.outgoing.delivered.description'
# Live Region configuration
# Live Region as defined by w3c, https://www.w3.org/TR/wai-aria-1.1/#terms:
# Live regions are perceivable regions of a web page that are typically updated as a
@@ -516,3 +587,42 @@ liveRegion:
messageTimeOutDurationMs: 30000
# The visibility of the live region. Setting this to true is only useful for debugging purposes.
isVisible: false
# Geospatial Map display options
geospatialMapViewer:
# Which fields to use for parsing as geospatial points in search maps
# (note, the item page field component allows any field(s) to be used
# and is set as an input when declaring the component)
spatialMetadataFields:
- 'dcterms.spatial'
# Which discovery configuration to use for 'geospatial search', used
# in the browse map
spatialFacetDiscoveryConfiguration: 'geospatial'
# Which filter / facet name to use for faceted geospatial search
# used in the browse map
spatialPointFilterName: 'point'
# Whether item page geospatial metadata should be displayed
# (assumes they are wrapped in a test for this config in the template as
# per the default templates supplied with DSpace for untyped-item and publication)
enableItemPageFields: false
# Whether the browse map should be enabled and included in the browse menu
enableBrowseMap: false
# Whether a 'map view' mode should be included alongside list and grid views
# in search result pages
enableSearchViewMode: false
# The tile provider(s) to use for the map tiles drawn in the leaflet maps.
# (see https://leaflet-extras.github.io/leaflet-providers/preview/) for a full list
tileProviders:
- 'OpenStreetMap.Mapnik'
# Starting centre point for the map, as lat and lng coordinates. This is useful
# to set the centre of the map when the map is first loaded and if there are no
# points, shapes or markers to display.
# Defaults to the centre of Istanbul
defaultCentrePoint:
lat: 41.015137
lng: 28.979530
# Configuration for storing accessibility settings, used by the AccessibilitySettingsService
accessibility:
# The duration in days after which the accessibility settings cookie expires
cookieExpirationDuration: 7

View File

@@ -34,6 +34,7 @@ export default defineConfig({
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_UUID: '914955b1-cf2e-4884-8af7-a166aa24cf73',
DSPACE_TEST_SUBMIT_USER_PASSWORD: 'dspace',
// Administrator users group
DSPACE_ADMINISTRATOR_GROUP: 'e59f5659-bff9-451e-b28f-439e7bd467e4'

View File

@@ -9,9 +9,11 @@ describe('Admin Add New Modals', () => {
it('Add new Community modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('[data-test="admin-menu-section-new-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-new-title"]').click();
cy.get('a[data-test="menu.section.new_community"]').click();
@@ -22,9 +24,11 @@ describe('Admin Add New Modals', () => {
it('Add new Collection modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('[data-test="admin-menu-section-new-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-new-title"]').click();
cy.get('a[data-test="menu.section.new_collection"]').click();
@@ -35,9 +39,11 @@ describe('Admin Add New Modals', () => {
it('Add new Item modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('[data-test="admin-menu-section-new-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-new-title"]').click();
cy.get('a[data-test="menu.section.new_item"]').click();

View File

@@ -9,10 +9,12 @@ describe('Admin Edit Modals', () => {
it('Edit Community modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('#admin-menu-section-edit-title').click();
cy.get('[data-test="admin-menu-section-edit-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-edit-title"]').click();
cy.get('a[data-test="menu.section.edit_community"]').click();
@@ -22,10 +24,12 @@ describe('Admin Edit Modals', () => {
it('Edit Collection modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('#admin-menu-section-edit-title').click();
cy.get('[data-test="admin-menu-section-edit-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-edit-title"]').click();
cy.get('a[data-test="menu.section.edit_collection"]').click();
@@ -35,10 +39,12 @@ describe('Admin Edit Modals', () => {
it('Edit Item modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('#admin-menu-section-edit-title').click();
cy.get('[data-test="admin-menu-section-edit-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-edit-title"]').click();
cy.get('a[data-test="menu.section.edit_item"]').click();

View File

@@ -9,10 +9,12 @@ describe('Admin Export Modals', () => {
it('Export metadata modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('#admin-menu-section-export-title').click();
cy.get('[data-test="admin-menu-section-export-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-export-title"]').click();
cy.get('a[data-test="menu.section.export_metadata"]').click();
@@ -22,10 +24,12 @@ describe('Admin Export Modals', () => {
it('Export batch modal should pass accessibility tests', () => {
// Pin the sidebar open
cy.get('[data-test="sidebar-collapse-toggle"]').trigger('mouseover');
cy.get('[data-test="sidebar-collapse-toggle"]').click();
// Click on entry of menu
cy.get('#admin-menu-section-export-title').click();
cy.get('[data-test="admin-menu-section-export-title"]').should('be.visible');
cy.get('[data-test="admin-menu-section-export-title"]').click();
cy.get('a[data-test="menu.section.export_batch"]').click();

View File

@@ -1,5 +1,4 @@
import { testA11y } from 'cypress/support/utils';
import { Options } from 'cypress-axe';
describe('Admin Sidebar', () => {
beforeEach(() => {
@@ -16,13 +15,6 @@ describe('Admin Sidebar', () => {
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);
testA11y('ds-admin-sidebar');
});
});

View File

@@ -12,6 +12,13 @@ describe('Community List Page', () => {
cy.get('[data-test="expand-button"]').click({ multiple: true });
// Analyze <ds-community-list-page> for accessibility issues
testA11y('ds-community-list-page');
testA11y('ds-community-list-page', {
rules: {
// When expanding a cdk node on the community-list page, the 'aria-posinset' property becomes 0.
// 0 is not a valid value for 'aria-posinset' so the test fails.
// see https://github.com/DSpace/dspace-angular/issues/4068
'aria-valid-attr-value': { enabled: false },
},
});
});
});

View File

@@ -15,24 +15,24 @@ describe('Header', () => {
cy.visit('/');
// Click the language switcher (globe) in header
cy.get('a[data-test="lang-switch"]').click();
cy.get('button[data-test="lang-switch"]').click();
// Click on the "Deusch" language in dropdown
cy.get('#language-menu-list li').contains('Deutsch').click();
cy.get('#language-menu-list div[role="option"]').contains('Deutsch').click();
// HTML "lang" attribute should switch to "de"
cy.get('html').invoke('attr', 'lang').should('eq', 'de');
// Login menu should now be in German
cy.get('a[data-test="login-menu"]').contains('Anmelden');
cy.get('[data-test="login-menu"]').contains('Anmelden');
// Change back to English from language switcher
cy.get('a[data-test="lang-switch"]').click();
cy.get('#language-menu-list li').contains('English').click();
cy.get('button[data-test="lang-switch"]').click();
cy.get('#language-menu-list div[role="option"]').contains('English').click();
// HTML "lang" attribute should switch to "en"
cy.get('html').invoke('attr', 'lang').should('eq', 'en');
// Login menu should now be in English
cy.get('a[data-test="login-menu"]').contains('Log In');
cy.get('[data-test="login-menu"]').contains('Log In');
});
});

View File

@@ -4,13 +4,14 @@ import { Options } from 'cypress-axe';
beforeEach(() => {
// Must login as an Admin to see the page
cy.intercept('GET', '/server/actuator/health').as('status');
cy.intercept('GET', '/server/actuator/info').as('info');
cy.visit('/health');
cy.loginViaForm(Cypress.env('DSPACE_TEST_ADMIN_USER'), Cypress.env('DSPACE_TEST_ADMIN_PASSWORD'));
});
describe('Health Page > Status Tab', () => {
it('should pass accessibility tests', () => {
cy.intercept('GET', '/server/actuator/health').as('status');
cy.wait('@status');
cy.get('a[data-test="health-page.status-tab"]').click();
@@ -36,7 +37,6 @@ describe('Health Page > Status Tab', () => {
describe('Health Page > Info Tab', () => {
it('should pass accessibility tests', () => {
cy.intercept('GET', '/server/actuator/info').as('info');
cy.wait('@info');
cy.get('a[data-test="health-page.info-tab"]').click();

View File

@@ -26,6 +26,12 @@ describe('Homepage', () => {
// Wait for homepage tag to appear
cy.get('ds-home-page').should('be.visible');
// Wait for at least one loading component to show up
cy.get('ds-loading').should('exist');
// Wait until all loading components have disappeared
cy.get('ds-loading').should('not.exist');
// Analyze <ds-home-page> for accessibility issues
testA11y('ds-home-page');
});

View File

@@ -13,9 +13,11 @@ beforeEach(() => {
describe('Edit Item > Edit Metadata tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="metadata"]').should('be.visible');
cy.get('a[data-test="metadata"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="metadata"]').should('be.visible');
cy.get('a[data-test="metadata"]').should('have.class', 'active');
// <ds-edit-item-page> tag must be loaded
@@ -34,9 +36,11 @@ describe('Edit Item > Edit Metadata tab', () => {
describe('Edit Item > Status tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="status"]').should('be.visible');
cy.get('a[data-test="status"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="status"]').should('be.visible');
cy.get('a[data-test="status"]').should('have.class', 'active');
// <ds-item-status> tag must be loaded
@@ -50,9 +54,11 @@ describe('Edit Item > Status tab', () => {
describe('Edit Item > Bitstreams tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="bitstreams"]').should('be.visible');
cy.get('a[data-test="bitstreams"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="bitstreams"]').should('be.visible');
cy.get('a[data-test="bitstreams"]').should('have.class', 'active');
// <ds-item-bitstreams> tag must be loaded
@@ -77,9 +83,11 @@ describe('Edit Item > Bitstreams tab', () => {
describe('Edit Item > Curate tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="curate"]').should('be.visible');
cy.get('a[data-test="curate"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="curate"]').should('be.visible');
cy.get('a[data-test="curate"]').should('have.class', 'active');
// <ds-item-curate> tag must be loaded
@@ -93,9 +101,11 @@ describe('Edit Item > Curate tab', () => {
describe('Edit Item > Relationships tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="relationships"]').should('be.visible');
cy.get('a[data-test="relationships"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="relationships"]').should('be.visible');
cy.get('a[data-test="relationships"]').should('have.class', 'active');
// <ds-item-relationships> tag must be loaded
@@ -109,9 +119,11 @@ describe('Edit Item > Relationships tab', () => {
describe('Edit Item > Version History tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="versionhistory"]').should('be.visible');
cy.get('a[data-test="versionhistory"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="versionhistory"]').should('be.visible');
cy.get('a[data-test="versionhistory"]').should('have.class', 'active');
// <ds-item-version-history> tag must be loaded
@@ -125,9 +137,11 @@ describe('Edit Item > Version History tab', () => {
describe('Edit Item > Access Control tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="access-control"]').should('be.visible');
cy.get('a[data-test="access-control"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="access-control"]').should('be.visible');
cy.get('a[data-test="access-control"]').should('have.class', 'active');
// <ds-item-access-control> tag must be loaded
@@ -141,9 +155,11 @@ describe('Edit Item > Access Control tab', () => {
describe('Edit Item > Collection Mapper tab', () => {
it('should pass accessibility tests', () => {
cy.get('a[data-test="mapper"]').should('be.visible');
cy.get('a[data-test="mapper"]').click();
// Our selected tab should be active
// Our selected tab should be both visible & active
cy.get('a[data-test="mapper"]').should('be.visible');
cy.get('a[data-test="mapper"]').should('have.class', 'active');
// <ds-item-collection-mapper> tag must be loaded

View File

@@ -7,7 +7,7 @@ describe('Item Statistics Page', () => {
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);
cy.location('pathname').should('eq', '/statistics/entities/publication/'.concat(Cypress.env('DSPACE_TEST_ENTITY_PUBLICATION')));
});
it('should contain element ds-item-statistics-page when navigating to an item statistics page', () => {

View File

@@ -84,7 +84,7 @@ describe('My DSpace page', () => {
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 });
cy.get('[data-bs-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');

View File

@@ -95,7 +95,7 @@ describe('New Submission page', () => {
// 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 });
cy.get('[data-bs-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');
@@ -217,7 +217,7 @@ describe('New Submission page', () => {
});
// Close popup window
cy.get('ds-dynamic-lookup-relation-modal button.close').click();
cy.get('ds-dynamic-lookup-relation-modal button.btn-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

View File

@@ -1,4 +1,4 @@
const fs = require('fs');
const fs = require('node: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()

View File

@@ -56,7 +56,7 @@ before(() => {
beforeEach(() => {
// Pre-agree to all Orejime cookies by setting the orejime-anonymous cookie
// This just ensures it doesn't get in the way of matching other objects in the page.
cy.setCookie('orejime-anonymous', '{"authentication":true,"preferences":true,"acknowledgement":true,"google-analytics":true}');
cy.setCookie('orejime-anonymous', '{"authentication":true,"preferences":true,"acknowledgement":true,"google-analytics":true,"correlation-id":true,"accessibility":true}');
// Remove any CSRF cookies saved from prior tests
cy.clearCookie(DSPACE_XSRF_COOKIE);

View File

@@ -1,10 +1,16 @@
{
"extends": "../tsconfig.json",
"include": [
"**/*.ts"
"**/*.ts",
"../cypress.config.ts"
],
"compilerOptions": {
"sourceMap": false,
"typeRoots": [
"../node_modules",
"../node_modules/@types",
"../src/typings.d.ts"
],
"types": [
"cypress",
"cypress-axe",

View File

@@ -21,7 +21,7 @@ networks:
external: true
services:
dspace-cli:
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-cli:${DSPACE_VER:-latest}"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-cli:${DSPACE_VER:-dspace-9_x}"
container_name: dspace-cli
environment:
# Below syntax may look odd, but it is how to override dspace.cfg settings via env variables.

View File

@@ -14,7 +14,7 @@
# # Therefore, it should be kept in sync with that file
services:
dspacedb:
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-postgres-pgcrypto:${DSPACE_VER:-latest}-loadsql"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-postgres-loadsql:${DSPACE_VER:-dspace-9_x}"
environment:
# This LOADSQL should be kept in sync with the URL in DSpace/DSpace
# This SQL is available from https://github.com/DSpace-Labs/AIP-Files/releases/tag/demo-entities-data

View File

@@ -33,7 +33,7 @@ services:
# This allows us to generate statistics in e2e tests so that statistics pages can be tested thoroughly.
solr__D__statistics__P__autoCommit: 'false'
LOGGING_CONFIG: /dspace/config/log4j2-container.xml
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-latest-test}"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-dspace-9_x-test}"
depends_on:
- dspacedb
networks:
@@ -60,13 +60,15 @@ services:
# NOTE: This is customized to use our loadsql image, so that we are using a database with existing test data
dspacedb:
container_name: dspacedb
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-postgres-pgcrypto:${DSPACE_VER:-latest}-loadsql"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-postgres-loadsql:${DSPACE_VER:-dspace-9_x}"
environment:
# This LOADSQL should be kept in sync with the LOADSQL in
# https://github.com/DSpace/DSpace/blob/main/dspace/src/main/docker-compose/db.entities.yml
# This SQL is available from https://github.com/DSpace-Labs/AIP-Files/releases/tag/demo-entities-data
LOADSQL: https://github.com/DSpace-Labs/AIP-Files/releases/download/demo-entities-data/dspace7-entities-data.sql
PGDATA: /pgdata
POSTGRES_DB: dspace
POSTGRES_USER: dspace
POSTGRES_PASSWORD: dspace
networks:
- dspacenet
@@ -81,7 +83,7 @@ services:
# DSpace Solr container
dspacesolr:
container_name: dspacesolr
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-latest}"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-dspace-9_x}"
networks:
- dspacenet
ports:
@@ -93,7 +95,10 @@ services:
volumes:
# 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
# NOTE: We are not running Solr as "root", but we need root permissions to copy our cores to the mounted
# /var/solr/data directory. Then we start Solr as the "solr" user.
user: root
# Initialize all DSpace Solr cores, then start Solr
entrypoint:
- /bin/bash
- '-c'
@@ -111,7 +116,8 @@ services:
cp -r /opt/solr/server/solr/configsets/qaevent/* qaevent
precreate-core suggestion /opt/solr/server/solr/configsets/suggestion
cp -r /opt/solr/server/solr/configsets/suggestion/* suggestion
exec solr -f
chown -R solr:solr /var/solr
runuser -u solr -- solr-foreground
volumes:
assetstore:
pgdata:

View File

@@ -26,7 +26,7 @@ services:
DSPACE_REST_HOST: sandbox.dspace.org
DSPACE_REST_PORT: 443
DSPACE_REST_NAMESPACE: /server
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-angular:${DSPACE_VER:-latest}-dist"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-angular:${DSPACE_VER:-dspace-9_x}-dist"
build:
context: ..
dockerfile: Dockerfile.dist

View File

@@ -40,7 +40,7 @@ services:
# from the host machine. This IP range MUST correspond to the 'dspacenet' subnet defined above.
proxies__P__trusted__P__ipranges: '172.23.0'
LOGGING_CONFIG: /dspace/config/log4j2-container.xml
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-latest-test}"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace:${DSPACE_VER:-dspace-9_x-test}"
depends_on:
- dspacedb
networks:
@@ -67,10 +67,12 @@ services:
# DSpace database container
dspacedb:
container_name: dspacedb
# Uses a custom Postgres image with pgcrypto installed
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-postgres-pgcrypto:${DSPACE_VER:-latest}"
# Uses the base PostgreSQL image
image: "docker.io/postgres:${POSTGRES_VERSION:-15}"
environment:
PGDATA: /pgdata
POSTGRES_DB: dspace
POSTGRES_USER: dspace
POSTGRES_PASSWORD: dspace
networks:
- dspacenet
@@ -85,7 +87,7 @@ services:
# DSpace Solr container
dspacesolr:
container_name: dspacesolr
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-latest}"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-solr:${DSPACE_VER:-dspace-9_x}"
networks:
- dspacenet
ports:
@@ -97,11 +99,16 @@ services:
volumes:
# Keep Solr data directory between reboots
- solr_data:/var/solr/data
# NOTE: We are not running Solr as "root", but we need root permissions to copy our cores to the mounted
# /var/solr/data directory. Then we start Solr as the "solr" user.
user: root
# 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 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`
# * Third, ensure all new folders are owned by "solr" user
# * Finally, start Solr as the "solr" user via the provided solr-foreground script
entrypoint:
- /bin/bash
- '-c'
@@ -119,7 +126,8 @@ services:
cp -r /opt/solr/server/solr/configsets/qaevent/* qaevent
precreate-core suggestion /opt/solr/server/solr/configsets/suggestion
cp -r /opt/solr/server/solr/configsets/suggestion/* suggestion
exec solr -f
chown -R solr:solr /var/solr
runuser -u solr -- solr-foreground
volumes:
assetstore:
pgdata:

View File

@@ -23,7 +23,7 @@ services:
DSPACE_REST_HOST: localhost
DSPACE_REST_PORT: 8080
DSPACE_REST_NAMESPACE: /server
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-angular:${DSPACE_VER:-latest}"
image: "${DOCKER_REGISTRY:-docker.io}/${DOCKER_OWNER:-dspace}/dspace-angular:${DSPACE_VER:-dspace-9_x}"
build:
context: ..
dockerfile: Dockerfile

View File

@@ -2,3 +2,4 @@
_______
- [`dspace-angular-html/themed-component-usages`](./rules/themed-component-usages.md): Themeable components should be used via the selector of their `ThemedComponent` wrapper class
- [`dspace-angular-html/no-disabled-attribute-on-button`](./rules/no-disabled-attribute-on-button.md): Buttons should use the `dsBtnDisabled` directive instead of the HTML `disabled` attribute.

View File

@@ -0,0 +1,90 @@
[DSpace ESLint plugins](../../../../lint/README.md) > [HTML rules](../index.md) > `dspace-angular-html/no-disabled-attribute-on-button`
_______
Buttons should use the `dsBtnDisabled` directive instead of the HTML `disabled` attribute.
This should be done to ensure that users with a screen reader are able to understand that the a button button is present, and that it is disabled.
The native html disabled attribute does not allow users to navigate to the button by keyboard, and thus they have no way of knowing that the button is present.
_______
[Source code](../../../../lint/src/rules/html/no-disabled-attribute-on-button.ts)
### Examples
#### Valid code
##### should use [dsBtnDisabled] in HTML templates
```html
<button [dsBtnDisabled]="true">Submit</button>
```
##### disabled attribute is still valid on non-button elements
```html
<input disabled>
```
##### [disabled] attribute is still valid on non-button elements
```html
<input [disabled]="true">
```
##### angular dynamic attributes that use disabled are still valid
```html
<button [class.disabled]="isDisabled">Submit</button>
```
#### Invalid code &amp; automatic fixes
##### should not use disabled attribute in HTML templates
```html
<button disabled>Submit</button>
```
Will produce the following error(s):
```
Buttons should use the `dsBtnDisabled` directive instead of the `disabled` attribute.
```
Result of `yarn lint --fix`:
```html
<button [dsBtnDisabled]="true">Submit</button>
```
##### should not use [disabled] attribute in HTML templates
```html
<button [disabled]="true">Submit</button>
```
Will produce the following error(s):
```
Buttons should use the `dsBtnDisabled` directive instead of the `disabled` attribute.
```
Result of `yarn lint --fix`:
```html
<button [dsBtnDisabled]="true">Submit</button>
```

View File

@@ -11,6 +11,8 @@ _______
[Source code](../../../../lint/src/rules/html/themed-component-usages.ts)
### Examples
@@ -23,6 +25,7 @@ _______
<ds-test-themeable></ds-test-themeable>
<ds-test-themeable [test]="something"></ds-test-themeable>
```
##### use no-prefix selectors in TypeScript templates
@@ -33,6 +36,7 @@ _______
class Test {
}
```
##### use no-prefix selectors in TypeScript test templates
@@ -45,6 +49,7 @@ Filename: `lint/test/fixture/src/test.spec.ts`
class Test {
}
```
##### base selectors are also allowed in TypeScript test templates
@@ -57,6 +62,7 @@ Filename: `lint/test/fixture/src/test.spec.ts`
class Test {
}
```
@@ -69,6 +75,9 @@ class Test {
<ds-themed-test-themeable/>
<ds-themed-test-themeable></ds-themed-test-themeable>
<ds-themed-test-themeable [test]="something"></ds-themed-test-themeable>
```
Will produce the following error(s):
```
@@ -91,6 +100,9 @@ Result of `yarn lint --fix`:
<ds-base-test-themeable/>
<ds-base-test-themeable></ds-base-test-themeable>
<ds-base-test-themeable [test]="something"></ds-base-test-themeable>
```
Will produce the following error(s):
```

View File

@@ -1,6 +1,11 @@
[DSpace ESLint plugins](../../../lint/README.md) > TypeScript rules
_______
- [`dspace-angular-ts/alias-imports`](./rules/alias-imports.md): Unclear imports should be aliased for clarity
- [`dspace-angular-ts/sort-standalone-imports`](./rules/sort-standalone-imports.md): Sorts the standalone `@Component` imports alphabetically
- [`dspace-angular-ts/themed-component-classes`](./rules/themed-component-classes.md): Formatting rules for themeable component classes
- [`dspace-angular-ts/themed-component-selectors`](./rules/themed-component-selectors.md): Themeable component selectors should follow the DSpace convention
- [`dspace-angular-ts/themed-component-usages`](./rules/themed-component-usages.md): Themeable components should be used via their `ThemedComponent` wrapper class
- [`dspace-angular-ts/themed-decorators`](./rules/themed-decorators.md): Entry components with theme support should declare the correct theme
- [`dspace-angular-ts/themed-wrapper-no-input-defaults`](./rules/themed-wrapper-no-input-defaults.md): ThemedComponent wrappers should not declare input defaults (see [DSpace Angular #2164](https://github.com/DSpace/dspace-angular/pull/2164))
- [`dspace-angular-ts/unique-decorators`](./rules/unique-decorators.md): Some decorators must be called with unique arguments (e.g. when they construct a mapping based on the argument values)

View File

@@ -0,0 +1,148 @@
[DSpace ESLint plugins](../../../../lint/README.md) > [TypeScript rules](../index.md) > `dspace-angular-ts/alias-imports`
_______
Unclear imports should be aliased for clarity
_______
[Source code](../../../../lint/src/rules/ts/alias-imports.ts)
### Options
#### `aliases`
A list of all the imports that you want to alias for clarity. Every alias should be declared in the following format:
```json
{
"package": "rxjs",
"imported": "of",
"local": "observableOf"
}
```
### Examples
#### Valid code
##### correctly aliased imports
```typescript
import { of as observableOf } from 'rxjs';
```
With options:
```json
{
"aliases": [
{
"package": "rxjs",
"imported": "of",
"local": "observableOf"
}
]
}
```
##### enforce unaliased import
```typescript
import { combineLatest } from 'rxjs';
```
With options:
```json
{
"aliases": [
{
"package": "rxjs",
"imported": "combineLatest",
"local": "combineLatest"
}
]
}
```
#### Invalid code &amp; automatic fixes
##### imports without alias
```typescript
import { of } from 'rxjs';
```
Will produce the following error(s):
```
This import must be aliased
```
Result of `yarn lint --fix`:
```typescript
import { of as observableOf } from 'rxjs';
```
##### imports under the wrong alias
```typescript
import { of as ofSomething } from 'rxjs';
```
Will produce the following error(s):
```
This import uses the wrong alias (should be {{ local }})
```
Result of `yarn lint --fix`:
```typescript
import { of as observableOf } from 'rxjs';
```
##### disallow aliasing import
```typescript
import { combineLatest as observableCombineLatest } from 'rxjs';
With options:
```json
{
"aliases": [
{
"package": "rxjs",
"imported": "combineLatest",
"local": "combineLatest"
}
]
}
```
```
Will produce the following error(s):
```
This import should not use an alias
```
Result of `yarn lint --fix`:
```typescript
import { combineLatest } from 'rxjs';
```

View File

@@ -0,0 +1,245 @@
[DSpace ESLint plugins](../../../../lint/README.md) > [TypeScript rules](../index.md) > `dspace-angular-ts/sort-standalone-imports`
_______
Sorts the standalone `@Component` imports alphabetically
_______
[Source code](../../../../lint/src/rules/ts/sort-standalone-imports.ts)
### Options
#### `locale`
The locale used to sort the imports.,
#### `maxItems`
The maximum number of imports that should be displayed before each import is separated onto its own line.,
#### `indent`
The indent used for the project.,
#### `trailingComma`
Whether the last import should have a trailing comma (only applicable for multiline imports).
### Examples
#### Valid code
##### should sort multiple imports on separate lines
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
AsyncPipe,
RootComponent,
],
})
export class AppComponent {}
```
##### should not inlines singular imports when maxItems is 0
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
],
})
export class AppComponent {}
```
##### should inline singular imports when maxItems is 1
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [RootComponent],
})
export class AppComponent {}
```
With options:
```json
{
"maxItems": 1
}
```
#### Invalid code &amp; automatic fixes
##### should sort multiple imports alphabetically
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
AsyncPipe,
],
})
export class AppComponent {}
```
Will produce the following error(s):
```
Standalone imports should be sorted alphabetically
```
Result of `yarn lint --fix`:
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
AsyncPipe,
RootComponent,
],
})
export class AppComponent {}
```
##### should not put singular imports on one line when maxItems is 0
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [RootComponent],
})
export class AppComponent {}
```
Will produce the following error(s):
```
Standalone imports should be sorted alphabetically
```
Result of `yarn lint --fix`:
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
],
})
export class AppComponent {}
```
##### should not put singular imports on a separate line when maxItems is 1
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
],
})
export class AppComponent {}
With options:
```json
{
"maxItems": 1
}
```
```
Will produce the following error(s):
```
Standalone imports should be sorted alphabetically
```
Result of `yarn lint --fix`:
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [RootComponent],
})
export class AppComponent {}
```
##### should not display multiple imports on the same line
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [AsyncPipe, RootComponent],
})
export class AppComponent {}
```
Will produce the following error(s):
```
Standalone imports should be sorted alphabetically
```
Result of `yarn lint --fix`:
```typescript
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
AsyncPipe,
RootComponent,
],
})
export class AppComponent {}
```

View File

@@ -11,6 +11,8 @@ _______
[Source code](../../../../lint/src/rules/ts/themed-component-classes.ts)
### Examples
@@ -26,6 +28,7 @@ _______
class Something {
}
```
##### Base component
@@ -34,9 +37,10 @@ class Something {
selector: 'ds-base-test-themable',
standalone: true,
})
class TestThemeableTomponent {
class TestThemeableComponent {
}
```
##### Wrapper component
@@ -50,9 +54,10 @@ Filename: `lint/test/fixture/src/app/test/themed-test-themeable.component.ts`
TestThemeableComponent,
],
})
class ThemedTestThemeableTomponent extends ThemedComponent<TestThemeableComponent> {
class ThemedTestThemeableComponent extends ThemedComponent<TestThemeableComponent> {
}
```
##### Override component
@@ -66,6 +71,7 @@ Filename: `lint/test/fixture/src/themes/test/app/test/test-themeable.component.t
class Override extends BaseComponent {
}
```
@@ -80,6 +86,9 @@ class Override extends BaseComponent {
})
class TestThemeableComponent {
}
```
Will produce the following error(s):
```
@@ -107,6 +116,9 @@ Filename: `lint/test/fixture/src/app/test/themed-test-themeable.component.ts`
})
class ThemedTestThemeableComponent extends ThemedComponent<TestThemeableComponent> {
}
```
Will produce the following error(s):
```
@@ -137,6 +149,9 @@ Filename: `lint/test/fixture/src/app/test/themed-test-themeable.component.ts`
})
class ThemedTestThemeableComponent extends ThemedComponent<TestThemeableComponent> {
}
```
Will produce the following error(s):
```
@@ -171,6 +186,9 @@ import { SomethingElse } from './somewhere-else';
})
class ThemedTestThemeableComponent extends ThemedComponent<TestThemeableComponent> {
}
```
Will produce the following error(s):
```
@@ -207,6 +225,9 @@ import { Something, SomethingElse } from './somewhere-else';
})
class ThemedTestThemeableComponent extends ThemedComponent<TestThemeableComponent> {
}
```
Will produce the following error(s):
```
@@ -237,6 +258,9 @@ Filename: `lint/test/fixture/src/themes/test/app/test/test-themeable.component.t
})
class Override extends BaseComponent {
}
```
Will produce the following error(s):
```

View File

@@ -17,6 +17,8 @@ _______
[Source code](../../../../lint/src/rules/ts/themed-component-selectors.ts)
### Examples
@@ -31,6 +33,7 @@ _______
class Something {
}
```
##### Themeable component selector should replace the original version, unthemed version should be changed to ds-base-
@@ -53,6 +56,7 @@ class ThemedSomething extends ThemedComponent<Something> {
class OverrideSomething extends Something {
}
```
##### Other themed component wrappers should not interfere
@@ -69,6 +73,7 @@ class Something {
class ThemedSomethingElse extends ThemedComponent<SomethingElse> {
}
```
@@ -85,6 +90,9 @@ Filename: `lint/test/fixture/src/app/test/test-themeable.component.ts`
})
class TestThemeableComponent {
}
```
Will produce the following error(s):
```
@@ -111,6 +119,9 @@ Filename: `lint/test/fixture/src/app/test/themed-test-themeable.component.ts`
})
class ThemedTestThemeableComponent extends ThemedComponent<TestThemeableComponent> {
}
```
Will produce the following error(s):
```
@@ -137,6 +148,9 @@ Filename: `lint/test/fixture/src/themes/test/app/test/test-themeable.component.t
})
class TestThememeableComponent extends BaseComponent {
}
```
Will produce the following error(s):
```

View File

@@ -15,6 +15,8 @@ _______
[Source code](../../../../lint/src/rules/ts/themed-component-usages.ts)
### Examples
@@ -30,6 +32,7 @@ const config = {
b: ChipsComponent,
}
```
##### allow base class in class declaration
@@ -37,6 +40,7 @@ const config = {
export class TestThemeableComponent {
}
```
##### allow inheriting from base class
@@ -46,6 +50,7 @@ import { TestThemeableComponent } from './app/test/test-themeable.component';
export class ThemedAdminSidebarComponent extends ThemedComponent<TestThemeableComponent> {
}
```
##### allow base class in ViewChild
@@ -56,6 +61,7 @@ export class Something {
@ViewChild(TestThemeableComponent) test: TestThemeableComponent;
}
```
##### allow wrapper selectors in test queries
@@ -65,6 +71,7 @@ Filename: `lint/test/fixture/src/app/test/test.component.spec.ts`
By.css('ds-themeable');
By.css('#test > ds-themeable > #nest');
```
##### allow wrapper selectors in cypress queries
@@ -74,6 +81,7 @@ Filename: `lint/test/fixture/src/app/test/test.component.cy.ts`
By.css('ds-themeable');
By.css('#test > ds-themeable > #nest');
```
@@ -90,6 +98,9 @@ const config = {
a: TestThemeableComponent,
b: TestComponent,
}
```
Will produce the following error(s):
```
@@ -120,6 +131,9 @@ const config = {
b: TestComponent,
c: Something,
}
```
Will produce the following error(s):
```
@@ -150,6 +164,9 @@ const DECLARATIONS = [
Something,
ThemedTestThemeableComponent,
];
```
Will produce the following error(s):
```
@@ -173,6 +190,9 @@ Filename: `lint/test/fixture/src/app/test/test.component.spec.ts`
```typescript
By.css('ds-themed-themeable');
By.css('#test > ds-themed-themeable > #nest');
```
Will produce the following error(s):
```
@@ -194,6 +214,9 @@ Filename: `lint/test/fixture/src/app/test/test.component.spec.ts`
```typescript
By.css('ds-base-themeable');
By.css('#test > ds-base-themeable > #nest');
```
Will produce the following error(s):
```
@@ -215,6 +238,9 @@ Filename: `lint/test/fixture/src/app/test/test.component.cy.ts`
```typescript
cy.get('ds-themed-themeable');
cy.get('#test > ds-themed-themeable > #nest');
```
Will produce the following error(s):
```
@@ -236,6 +262,9 @@ Filename: `lint/test/fixture/src/app/test/test.component.cy.ts`
```typescript
cy.get('ds-base-themeable');
cy.get('#test > ds-base-themeable > #nest');
```
Will produce the following error(s):
```
@@ -266,6 +295,9 @@ import { TestThemeableComponent } from '../../../../app/test/test-themeable.comp
})
export class UsageComponent {
}
```
Will produce the following error(s):
```
@@ -306,6 +338,9 @@ import { ThemedTestThemeableComponent } from '../../../../app/test/themed-test-t
})
export class UsageComponent {
}
```
Will produce the following error(s):
```

View File

@@ -0,0 +1,183 @@
[DSpace ESLint plugins](../../../../lint/README.md) > [TypeScript rules](../index.md) > `dspace-angular-ts/themed-decorators`
_______
Entry components with theme support should declare the correct theme
_______
[Source code](../../../../lint/src/rules/ts/themed-decorators.ts)
### Options
#### `decorators`
A mapping for all the existing themeable decorators, with the decorator name as the key and the index of the `theme` argument as the value.
### Examples
#### Valid code
##### theme file declares the correct theme in @listableObjectComponent
Filename: `lint/test/fixture/src/themes/test/app/dynamic-component/dynamic-component.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined, 'test')
export class Something extends SomethingElse {
}
```
##### plain file declares no theme in @listableObjectComponent
Filename: `lint/test/fixture/src/app/dynamic-component/dynamic-component.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined)
export class Something extends SomethingElse {
}
```
##### plain file declares explicit undefined theme in @listableObjectComponent
Filename: `lint/test/fixture/src/app/dynamic-component/dynamic-component.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined, undefined)
export class Something extends SomethingElse {
}
```
##### test file declares theme outside of theme directory
Filename: `lint/test/fixture/src/app/dynamic-component/dynamic-component.spec.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined, 'test')
export class Something extends SomethingElse {
}
```
##### only track configured decorators
Filename: `lint/test/fixture/src/app/dynamic-component/dynamic-component.ts`
```typescript
@something('test')
export class Something extends SomethingElse {
}
```
#### Invalid code &amp; automatic fixes
##### theme file declares the wrong theme in @listableObjectComponent
Filename: `lint/test/fixture/src/themes/test/app/dynamic-component/dynamic-component.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
```
Will produce the following error(s):
```
Wrong theme declaration in decorator
```
Result of `yarn lint --fix`:
```typescript
@listableObjectComponent(something, somethingElse, undefined, 'test')
export class Something extends SomethingElse {
}
```
##### plain file declares a theme in @listableObjectComponent
Filename: `lint/test/fixture/src/app/dynamic-component/dynamic-component.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
```
Will produce the following error(s):
```
There is a theme declaration in decorator, but this file is not part of a theme
```
Result of `yarn lint --fix`:
```typescript
@listableObjectComponent(something, somethingElse, undefined)
export class Something extends SomethingElse {
}
```
##### theme file declares no theme in @listableObjectComponent
Filename: `lint/test/fixture/src/themes/test-2/app/dynamic-component/dynamic-component.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined)
export class Something extends SomethingElse {
}
```
Will produce the following error(s):
```
No theme declaration in decorator
```
Result of `yarn lint --fix`:
```typescript
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
```
##### theme file declares explicit undefined theme in @listableObjectComponent
Filename: `lint/test/fixture/src/themes/test-2/app/dynamic-component/dynamic-component.ts`
```typescript
@listableObjectComponent(something, somethingElse, undefined, undefined)
export class Something extends SomethingElse {
}
```
Will produce the following error(s):
```
No theme declaration in decorator
```
Result of `yarn lint --fix`:
```typescript
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
```

View File

@@ -0,0 +1,92 @@
[DSpace ESLint plugins](../../../../lint/README.md) > [TypeScript rules](../index.md) > `dspace-angular-ts/themed-wrapper-no-input-defaults`
_______
ThemedComponent wrappers should not declare input defaults (see [DSpace Angular #2164](https://github.com/DSpace/dspace-angular/pull/2164))
_______
[Source code](../../../../lint/src/rules/ts/themed-wrapper-no-input-defaults.ts)
### Examples
#### Valid code
##### ThemedComponent wrapper defines an input without a default value
```typescript
export class TTest extends ThemedComponent<Test> {
@Input()
test;
}
```
##### Regular class defines an input with a default value
```typescript
export class Test {
@Input()
test = 'test';
}
```
#### Invalid code
##### ThemedComponent wrapper defines an input with a default value
```typescript
export class TTest extends ThemedComponent<Test> {
@Input()
test1 = 'test';
@Input()
test2 = true;
@Input()
test2: number = 123;
@Input()
test3: number[] = [1,2,3];
}
```
Will produce the following error(s):
```
ThemedComponent wrapper declares inputs with defaults
ThemedComponent wrapper declares inputs with defaults
ThemedComponent wrapper declares inputs with defaults
ThemedComponent wrapper declares inputs with defaults
```
##### ThemedComponent wrapper defines an input with an undefined default value
```typescript
export class TTest extends ThemedComponent<Test> {
@Input()
test = undefined;
}
```
Will produce the following error(s):
```
ThemedComponent wrapper declares inputs with defaults
```

View File

@@ -0,0 +1,86 @@
[DSpace ESLint plugins](../../../../lint/README.md) > [TypeScript rules](../index.md) > `dspace-angular-ts/unique-decorators`
_______
Some decorators must be called with unique arguments (e.g. when they construct a mapping based on the argument values)
_______
[Source code](../../../../lint/src/rules/ts/unique-decorators.ts)
### Options
#### `decorators`
The list of all the decorators for which you want to enforce this behavior.
### Examples
#### Valid code
##### checked decorator, no repetitions
```typescript
@listableObjectComponent(a)
export class A {
}
@listableObjectComponent(a, 'b')
export class B {
}
@listableObjectComponent(a, 'b', 3)
export class C {
}
@listableObjectComponent(a, 'b', 3, Enum.TEST1)
export class C {
}
@listableObjectComponent(a, 'b', 3, Enum.TEST2)
export class C {
}
```
##### unchecked decorator, some repetitions
```typescript
@something(a)
export class A {
}
@something(a)
export class B {
}
```
#### Invalid code
##### checked decorator, some repetitions
```typescript
@listableObjectComponent(a)
export class A {
}
@listableObjectComponent(a)
export class B {
}
```
Will produce the following error(s):
```
Duplicate decorator call
```

View File

@@ -12,8 +12,8 @@ import {
readFileSync,
rmSync,
writeFileSync,
} from 'fs';
import { join } from 'path';
} from 'node:fs';
import { join } from 'node:path';
import { default as htmlPlugin } from './src/rules/html';
import { default as tsPlugin } from './src/rules/ts';

View File

@@ -10,10 +10,13 @@ import {
bundle,
RuleExports,
} from '../../util/structure';
import * as noDisabledAttributeOnButton from './no-disabled-attribute-on-button';
import * as themedComponentUsages from './themed-component-usages';
const index = [
themedComponentUsages,
noDisabledAttributeOnButton,
] as unknown as RuleExports[];
export = {

View File

@@ -0,0 +1,148 @@
import {
TmplAstBoundAttribute,
TmplAstTextAttribute,
} from '@angular-eslint/bundled-angular-compiler';
import { TemplateParserServices } from '@angular-eslint/utils';
import {
ESLintUtils,
TSESLint,
} from '@typescript-eslint/utils';
import {
DSpaceESLintRuleInfo,
NamedTests,
} from '../../util/structure';
import { getSourceCode } from '../../util/typescript';
export enum Message {
USE_DSBTN_DISABLED = 'mustUseDsBtnDisabled',
}
export const info = {
name: 'no-disabled-attribute-on-button',
meta: {
docs: {
description: `Buttons should use the \`dsBtnDisabled\` directive instead of the HTML \`disabled\` attribute.
This should be done to ensure that users with a screen reader are able to understand that the a button button is present, and that it is disabled.
The native html disabled attribute does not allow users to navigate to the button by keyboard, and thus they have no way of knowing that the button is present.`,
},
type: 'problem',
fixable: 'code',
schema: [],
messages: {
[Message.USE_DSBTN_DISABLED]: 'Buttons should use the `dsBtnDisabled` directive instead of the `disabled` attribute.',
},
},
optionDocs: [],
defaultOptions: [],
} as DSpaceESLintRuleInfo;
export const rule = ESLintUtils.RuleCreator.withoutDocs({
...info,
create(context: TSESLint.RuleContext<Message, unknown[]>) {
const parserServices = getSourceCode(context).parserServices as TemplateParserServices;
/**
* Some dynamic angular inputs will have disabled as name because of how Angular handles this internally (e.g [class.disabled]="isDisabled")
* But these aren't actually the disabled attribute we're looking for, we can determine this by checking the details of the keySpan
*/
function isOtherAttributeDisabled(node: TmplAstBoundAttribute | TmplAstTextAttribute): boolean {
// if the details are not null, and the details are not 'disabled', then it's not the disabled attribute we're looking for
return node.keySpan?.details !== null && node.keySpan?.details !== 'disabled';
}
/**
* Replace the disabled text with [dsBtnDisabled] in the template
*/
function replaceDisabledText(text: string ): string {
const hasBrackets = text.includes('[') && text.includes(']');
const newDisabledText = hasBrackets ? 'dsBtnDisabled' : '[dsBtnDisabled]="true"';
return text.replace('disabled', newDisabledText);
}
function inputIsChildOfButton(node: any): boolean {
return (node.parent?.tagName === 'button' || node.parent?.name === 'button');
}
function reportAndFix(node: TmplAstBoundAttribute | TmplAstTextAttribute) {
if (!inputIsChildOfButton(node) || isOtherAttributeDisabled(node)) {
return;
}
const sourceSpan = node.sourceSpan;
context.report({
messageId: Message.USE_DSBTN_DISABLED,
loc: parserServices.convertNodeSourceSpanToLoc(sourceSpan),
fix(fixer) {
const templateText = sourceSpan.start.file.content;
const disabledText = templateText.slice(sourceSpan.start.offset, sourceSpan.end.offset);
const newText = replaceDisabledText(disabledText);
return fixer.replaceTextRange([sourceSpan.start.offset, sourceSpan.end.offset], newText);
},
});
}
return {
'BoundAttribute[name="disabled"]'(node: TmplAstBoundAttribute) {
reportAndFix(node);
},
'TextAttribute[name="disabled"]'(node: TmplAstTextAttribute) {
reportAndFix(node);
},
};
},
});
export const tests = {
plugin: info.name,
valid: [
{
name: 'should use [dsBtnDisabled] in HTML templates',
code: `
<button [dsBtnDisabled]="true">Submit</button>
`,
},
{
name: 'disabled attribute is still valid on non-button elements',
code: `
<input disabled>
`,
},
{
name: '[disabled] attribute is still valid on non-button elements',
code: `
<input [disabled]="true">
`,
},
{
name: 'angular dynamic attributes that use disabled are still valid',
code: `
<button [class.disabled]="isDisabled">Submit</button>
`,
},
],
invalid: [
{
name: 'should not use disabled attribute in HTML templates',
code: `
<button disabled>Submit</button>
`,
errors: [{ messageId: Message.USE_DSBTN_DISABLED }],
output: `
<button [dsBtnDisabled]="true">Submit</button>
`,
},
{
name: 'should not use [disabled] attribute in HTML templates',
code: `
<button [disabled]="true">Submit</button>
`,
errors: [{ messageId: Message.USE_DSBTN_DISABLED }],
output: `
<button [dsBtnDisabled]="true">Submit</button>
`,
},
],
} as NamedTests;
export default rule;

View File

@@ -45,6 +45,7 @@ The only exception to this rule are unit tests, where we may want to use the bas
[Message.WRONG_SELECTOR]: 'Themeable components should be used via their ThemedComponent wrapper\'s selector',
},
},
optionDocs: [],
defaultOptions: [],
} as DSpaceESLintRuleInfo;

View File

@@ -0,0 +1,304 @@
import {
AST_NODE_TYPES,
ESLintUtils,
TSESLint,
TSESTree,
} from '@typescript-eslint/utils';
import { Scope } from '@typescript-eslint/utils/ts-eslint';
import {
DSpaceESLintRuleInfo,
NamedTests,
OptionDoc,
} from '../../util/structure';
export enum Message {
MISSING_ALIAS = 'missingAlias',
WRONG_ALIAS = 'wrongAlias',
MULTIPLE_ALIASES = 'multipleAliases',
UNNECESSARY_ALIAS = 'unnecessaryAlias',
}
interface AliasImportOptions {
aliases: AliasImportOption[];
}
interface AliasImportOption {
package: string;
imported: string;
local: string;
}
interface AliasImportDocOptions {
aliases: OptionDoc;
}
export const info: DSpaceESLintRuleInfo<[AliasImportOptions], [AliasImportDocOptions]> = {
name: 'alias-imports',
meta: {
docs: {
description: 'Unclear imports should be aliased for clarity',
},
messages: {
[Message.MISSING_ALIAS]: 'This import must be aliased',
[Message.WRONG_ALIAS]: 'This import uses the wrong alias (should be {{ local }})',
[Message.MULTIPLE_ALIASES]: 'This import was used twice with a different alias (should be {{ local }})',
[Message.UNNECESSARY_ALIAS]: 'This import should not use an alias',
},
fixable: 'code',
type: 'problem',
schema: {
type: 'array',
items: {
type: 'object',
properties: {
package: { type: 'string' },
imported: { type: 'string' },
local: { type: 'string' },
},
},
},
},
optionDocs: [
{
aliases: {
title: '`aliases`',
description: `A list of all the imports that you want to alias for clarity. Every alias should be declared in the following format:
\`\`\`json
{
"package": "rxjs",
"imported": "of",
"local": "observableOf"
}
\`\`\``,
},
},
],
defaultOptions: [
{
aliases: [
{
package: 'rxjs',
imported: 'of',
local: 'observableOf',
},
],
},
],
};
export const rule = ESLintUtils.RuleCreator.withoutDocs({
...info,
create(context: TSESLint.RuleContext<Message, unknown[]>, options: any) {
return (options[0] as AliasImportOptions).aliases.reduce((selectors: any, option: AliasImportOption) => {
selectors[`ImportDeclaration[source.value = "${option.package}"] > ImportSpecifier[imported.name = "${option.imported}"][local.name != "${option.local}"]`] = (node: TSESTree.ImportSpecifier) => handleUnaliasedImport(context, option, node);
return selectors;
}, {});
},
});
export const tests: NamedTests = {
plugin: info.name,
valid: [
{
name: 'correctly aliased imports',
code: `
import { of as observableOf } from 'rxjs';
`,
options: [
{
aliases: [
{
package: 'rxjs',
imported: 'of',
local: 'observableOf',
},
],
},
],
},
{
name: 'enforce unaliased import',
code: `
import { combineLatest } from 'rxjs';
`,
options: [
{
aliases: [
{
package: 'rxjs',
imported: 'combineLatest',
local: 'combineLatest',
},
],
},
],
},
],
invalid: [
{
name: 'imports without alias',
code: `
import { of } from 'rxjs';
`,
errors: [
{
messageId: 'missingAlias',
},
],
output: `
import { of as observableOf } from 'rxjs';
`,
},
{
name: 'imports under the wrong alias',
code: `
import { of as ofSomething } from 'rxjs';
`,
errors: [
{
messageId: 'wrongAlias',
},
],
output: `
import { of as observableOf } from 'rxjs';
`,
},
{
name: 'disallow aliasing import',
code: `
import { combineLatest as observableCombineLatest } from 'rxjs';
`,
errors: [
{
messageId: 'unnecessaryAlias',
},
],
output: `
import { combineLatest } from 'rxjs';
`,
options: [
{
aliases: [
{
package: 'rxjs',
imported: 'combineLatest',
local: 'combineLatest',
},
],
},
],
},
],
};
/**
* Replaces the incorrectly aliased imports with the ones defined in the defaultOptions
*
* @param context The current {@link TSESLint.RuleContext}
* @param option The current {@link AliasImportOption} that needs to be handled
* @param node The incorrect import node that should be fixed
*/
function handleUnaliasedImport(context: TSESLint.RuleContext<Message, unknown[]>, option: AliasImportOption, node: TSESTree.ImportSpecifier): void {
const hasCorrectAliasedImport: boolean = (node.parent as TSESTree.ImportDeclaration).specifiers.find((specifier: TSESTree.ImportClause) => specifier.local.name === option.local && specifier.type === AST_NODE_TYPES.ImportSpecifier && (specifier as TSESTree.ImportSpecifier).imported.name === option.imported) !== undefined;
if (option.imported === option.local) {
if (hasCorrectAliasedImport) {
context.report({
messageId: Message.MULTIPLE_ALIASES,
data: { local: option.local },
node: node,
fix(fixer: TSESLint.RuleFixer) {
const fixes: TSESLint.RuleFix[] = [];
const commaAfter = context.sourceCode.getTokenAfter(node, {
filter: (token: TSESTree.Token) => token.value === ',',
});
if (commaAfter) {
fixes.push(fixer.removeRange([node.range[0], commaAfter.range[1]]));
} else {
fixes.push(fixer.remove(node));
}
fixes.push(...retrieveUsageReplacementFixes(context, fixer, node, option.local));
return fixes;
},
});
} else {
context.report({
messageId: Message.UNNECESSARY_ALIAS,
data: { local: option.local },
node: node,
fix(fixer: TSESLint.RuleFixer) {
const fixes: TSESLint.RuleFix[] = [];
fixes.push(fixer.replaceText(node, option.imported));
fixes.push(...retrieveUsageReplacementFixes(context, fixer, node, option.local));
return fixes;
},
});
}
} else {
if (hasCorrectAliasedImport) {
context.report({
messageId: Message.MULTIPLE_ALIASES,
data: { local: option.local },
node: node,
fix(fixer: TSESLint.RuleFixer) {
const fixes: TSESLint.RuleFix[] = [];
const commaAfter = context.sourceCode.getTokenAfter(node, {
filter: (token: TSESTree.Token) => token.value === ',',
});
if (commaAfter) {
fixes.push(fixer.removeRange([node.range[0], commaAfter.range[1]]));
} else {
fixes.push(fixer.remove(node));
}
fixes.push(...retrieveUsageReplacementFixes(context, fixer, node, option.local));
return fixes;
},
});
} else if (node.local.name === node.imported.name) {
context.report({
messageId: Message.MISSING_ALIAS,
node: node,
fix(fixer: TSESLint.RuleFixer) {
const fixes: TSESLint.RuleFix[] = [];
fixes.push(fixer.replaceText(node.local, `${option.imported} as ${option.local}`));
fixes.push(...retrieveUsageReplacementFixes(context, fixer, node, option.local));
return fixes;
},
});
} else {
context.report({
messageId: Message.WRONG_ALIAS,
data: { local: option.local },
node: node,
fix(fixer: TSESLint.RuleFixer) {
const fixes: TSESLint.RuleFix[] = [];
fixes.push(fixer.replaceText(node.local, option.local));
fixes.push(...retrieveUsageReplacementFixes(context, fixer, node, option.local));
return fixes;
},
});
}
}
}
/**
* Generates the {@link TSESLint.RuleFix}s for all the usages of the incorrect import.
*
* @param context The current {@link TSESLint.RuleContext}
* @param fixer The instance {@link TSESLint.RuleFixer}
* @param node The node which needs to be replaced
* @param newAlias The new import name
*/
function retrieveUsageReplacementFixes(context: TSESLint.RuleContext<Message, unknown[]>, fixer: TSESLint.RuleFixer, node: TSESTree.ImportSpecifier, newAlias: string): TSESLint.RuleFix[] {
return context.sourceCode.getDeclaredVariables(node)[0].references.map((reference: Scope.Reference) => fixer.replaceText(reference.identifier, newAlias));
}

View File

@@ -10,14 +10,24 @@ import {
RuleExports,
} from '../../util/structure';
/* eslint-disable import/no-namespace */
import * as aliasImports from './alias-imports';
import * as sortStandaloneImports from './sort-standalone-imports';
import * as themedComponentClasses from './themed-component-classes';
import * as themedComponentSelectors from './themed-component-selectors';
import * as themedComponentUsages from './themed-component-usages';
import * as themedDecorators from './themed-decorators';
import * as themedWrapperNoInputDefaults from './themed-wrapper-no-input-defaults';
import * as uniqueDecorators from './unique-decorators';
const index = [
aliasImports,
sortStandaloneImports,
themedComponentClasses,
themedComponentSelectors,
themedComponentUsages,
themedDecorators,
themedWrapperNoInputDefaults,
uniqueDecorators,
] as unknown as RuleExports[];
export = {

View File

@@ -0,0 +1,306 @@
import {
ASTUtils as TSESLintASTUtils,
ESLintUtils,
TSESLint,
TSESTree,
} from '@typescript-eslint/utils';
import {
DSpaceESLintRuleInfo,
NamedTests,
OptionDoc,
} from '../../util/structure';
const DEFAULT_LOCALE = 'en-US';
const DEFAULT_MAX_SIZE = 0;
const DEFAULT_SPACE_INDENT_AMOUNT = 2;
const DEFAULT_TRAILING_COMMA = true;
export enum Message {
SORT_STANDALONE_IMPORTS_ARRAYS = 'sortStandaloneImportsArrays',
}
export interface UniqueDecoratorsOptions {
locale: string;
maxItems: number;
indent: number;
trailingComma: boolean;
}
export interface UniqueDecoratorsDocOptions {
locale: OptionDoc;
maxItems: OptionDoc;
indent: OptionDoc;
trailingComma: OptionDoc;
}
export const info: DSpaceESLintRuleInfo<[UniqueDecoratorsOptions], [UniqueDecoratorsDocOptions]> = {
name: 'sort-standalone-imports',
meta: {
docs: {
description: 'Sorts the standalone `@Component` imports alphabetically',
},
messages: {
[Message.SORT_STANDALONE_IMPORTS_ARRAYS]: 'Standalone imports should be sorted alphabetically',
},
fixable: 'code',
type: 'problem',
schema: [
{
type: 'object',
properties: {
locale: {
type: 'string',
},
maxItems: {
type: 'number',
},
indent: {
type: 'number',
},
trailingComma: {
type: 'boolean',
},
},
additionalProperties: false,
},
],
},
optionDocs: [
{
locale: {
title: '`locale`',
description: 'The locale used to sort the imports.',
},
maxItems: {
title: '`maxItems`',
description: 'The maximum number of imports that should be displayed before each import is separated onto its own line.',
},
indent: {
title: '`indent`',
description: 'The indent used for the project.',
},
trailingComma: {
title: '`trailingComma`',
description: 'Whether the last import should have a trailing comma (only applicable for multiline imports).',
},
},
],
defaultOptions: [
{
locale: DEFAULT_LOCALE,
maxItems: DEFAULT_MAX_SIZE,
indent: DEFAULT_SPACE_INDENT_AMOUNT,
trailingComma: DEFAULT_TRAILING_COMMA,
},
],
};
export const rule = ESLintUtils.RuleCreator.withoutDocs({
...info,
create(context: TSESLint.RuleContext<Message, unknown[]>, [{ locale, maxItems, indent, trailingComma }]: any) {
return {
['ClassDeclaration > Decorator > CallExpression[callee.name="Component"] > ObjectExpression > Property[key.name="imports"] > ArrayExpression']: (node: TSESTree.ArrayExpression) => {
const elements = node.elements.filter((element) => element !== null && (TSESLintASTUtils.isIdentifier(element) || element?.type === TSESTree.AST_NODE_TYPES.CallExpression));
const sortedNames: string[] = elements
.map((element) => context.sourceCode.getText(element!))
.sort((a: string, b: string) => a.localeCompare(b, locale));
const isSorted: boolean = elements.every((identifier, index) => context.sourceCode.getText(identifier!) === sortedNames[index]);
const requiresMultiline: boolean = maxItems < node.elements.length;
const isMultiline: boolean = /\n/.test(context.sourceCode.getText(node));
const incorrectFormat: boolean = requiresMultiline !== isMultiline;
if (isSorted && !incorrectFormat) {
return;
}
context.report({
node: node.parent,
messageId: Message.SORT_STANDALONE_IMPORTS_ARRAYS,
fix: (fixer: TSESLint.RuleFixer) => {
if (requiresMultiline) {
const multilineImports: string = sortedNames
.map((name: string) => `${' '.repeat(2 * indent)}${name}${trailingComma ? ',' : ''}`)
.join(trailingComma ? '\n' : ',\n');
return fixer.replaceText(node, `[\n${multilineImports}\n${' '.repeat(indent)}]`);
} else {
return fixer.replaceText(node, `[${sortedNames.join(', ')}]`);
}
},
});
},
};
},
});
export const tests: NamedTests = {
plugin: info.name,
valid: [
{
name: 'should sort multiple imports on separate lines',
code: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
AsyncPipe,
RootComponent,
],
})
export class AppComponent {}`,
},
{
name: 'should not inlines singular imports when maxItems is 0',
code: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
],
})
export class AppComponent {}`,
},
{
name: 'should inline singular imports when maxItems is 1',
options: [{ maxItems: 1 }],
code: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [RootComponent],
})
export class AppComponent {}`,
},
],
invalid: [
{
name: 'should sort multiple imports alphabetically',
code: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
AsyncPipe,
],
})
export class AppComponent {}`,
errors: [
{
messageId: Message.SORT_STANDALONE_IMPORTS_ARRAYS,
},
],
output: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
AsyncPipe,
RootComponent,
],
})
export class AppComponent {}`,
},
{
name: 'should not put singular imports on one line when maxItems is 0',
code: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [RootComponent],
})
export class AppComponent {}`,
errors: [
{
messageId: Message.SORT_STANDALONE_IMPORTS_ARRAYS,
},
],
output: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
],
})
export class AppComponent {}`,
},
{
name: 'should not put singular imports on a separate line when maxItems is 1',
options: [{ maxItems: 1 }],
code: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
RootComponent,
],
})
export class AppComponent {}`,
errors: [
{
messageId: Message.SORT_STANDALONE_IMPORTS_ARRAYS,
},
],
output: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [RootComponent],
})
export class AppComponent {}`,
},
{
name: 'should not display multiple imports on the same line',
code: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [AsyncPipe, RootComponent],
})
export class AppComponent {}`,
errors: [
{
messageId: Message.SORT_STANDALONE_IMPORTS_ARRAYS,
},
],
output: `
@Component({
selector: 'ds-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
standalone: true,
imports: [
AsyncPipe,
RootComponent,
],
})
export class AppComponent {}`,
},
],
};

View File

@@ -52,6 +52,7 @@ export const info = {
[Message.WRAPPER_IMPORTS_BASE]: 'Themed component wrapper classes must only import the base class',
},
},
optionDocs: [],
defaultOptions: [],
} as DSpaceESLintRuleInfo;
@@ -180,7 +181,7 @@ class Something {
selector: 'ds-base-test-themable',
standalone: true,
})
class TestThemeableTomponent {
class TestThemeableComponent {
}
`,
},
@@ -195,7 +196,7 @@ class TestThemeableTomponent {
TestThemeableComponent,
],
})
class ThemedTestThemeableTomponent extends ThemedComponent<TestThemeableComponent> {
class ThemedTestThemeableComponent extends ThemedComponent<TestThemeableComponent> {
}
`,
},

View File

@@ -53,6 +53,7 @@ Unit tests are exempt from this rule, because they may redefine components using
[Message.THEMED]: 'Theme override of themeable component should have a selector starting with \'ds-themed-\'',
},
},
optionDocs: [],
defaultOptions: [],
} as DSpaceESLintRuleInfo;

View File

@@ -63,6 +63,7 @@ There are a few exceptions where the base class can still be used:
[Message.BASE_IN_MODULE]: 'Base themeable components shouldn\'t be declared in modules',
},
},
optionDocs: [],
defaultOptions: [],
} as DSpaceESLintRuleInfo;

View File

@@ -0,0 +1,280 @@
import {
AST_NODE_TYPES,
ESLintUtils,
TSESLint,
TSESTree,
} from '@typescript-eslint/utils';
import { fixture } from '../../../test/fixture';
import { isTestFile } from '../../util/filter';
import {
DSpaceESLintRuleInfo,
NamedTests,
OptionDoc,
} from '../../util/structure';
import { getFileTheme } from '../../util/theme-support';
export enum Message {
NO_THEME_DECLARED_IN_THEME_FILE = 'noThemeDeclaredInThemeFile',
THEME_DECLARED_IN_NON_THEME_FILE = 'themeDeclaredInNonThemeFile',
WRONG_THEME_DECLARED_IN_THEME_FILE = 'wrongThemeDeclaredInThemeFile',
}
interface ThemedDecoratorsOption {
decorators: { [name: string]: number };
}
interface ThemedDecoratorsDocsOption {
decorators: OptionDoc;
}
export const info: DSpaceESLintRuleInfo<[ThemedDecoratorsOption], [ThemedDecoratorsDocsOption]> = {
name: 'themed-decorators',
meta: {
docs: {
description: 'Entry components with theme support should declare the correct theme',
},
fixable: 'code',
messages: {
[Message.NO_THEME_DECLARED_IN_THEME_FILE]: 'No theme declaration in decorator',
[Message.THEME_DECLARED_IN_NON_THEME_FILE]: 'There is a theme declaration in decorator, but this file is not part of a theme',
[Message.WRONG_THEME_DECLARED_IN_THEME_FILE]: 'Wrong theme declaration in decorator',
},
type: 'problem',
schema: [
{
type: 'object',
properties: {
decorators: {
type: 'object',
},
},
},
],
},
optionDocs: [
{
decorators: {
title: '`decorators`',
description: 'A mapping for all the existing themeable decorators, with the decorator name as the key and the index of the `theme` argument as the value.',
},
},
],
defaultOptions: [
{
decorators: {
listableObjectComponent: 3,
rendersSectionForMenu: 2,
},
},
],
};
export const rule = ESLintUtils.RuleCreator.withoutDocs({
...info,
create(context: TSESLint.RuleContext<Message, unknown[]>, options: any) {
return {
[`ClassDeclaration > Decorator > CallExpression[callee.name=/^(${Object.keys(options[0].decorators).join('|')})$/]`]: (node: TSESTree.CallExpression) => {
if (isTestFile(context)) {
return;
}
if (node.callee.type !== AST_NODE_TYPES.Identifier) {
// We only support regular method identifiers
return;
}
const fileTheme = getFileTheme(context);
const themeDeclaration = getDeclaredTheme(options, node as TSESTree.CallExpression);
if (themeDeclaration === undefined) {
if (fileTheme !== undefined) {
context.report({
messageId: Message.NO_THEME_DECLARED_IN_THEME_FILE,
node: node,
fix(fixer) {
return fixer.insertTextAfter(node.arguments[node.arguments.length - 1], `, '${fileTheme as string}'`);
},
});
}
} else if (themeDeclaration?.type === AST_NODE_TYPES.Literal) {
if (fileTheme === undefined) {
context.report({
messageId: Message.THEME_DECLARED_IN_NON_THEME_FILE,
node: themeDeclaration,
fix(fixer) {
const idx = node.arguments.findIndex((v) => v.range === themeDeclaration.range);
if (idx === 0) {
return fixer.remove(themeDeclaration);
} else {
const previousArgument = node.arguments[idx - 1];
return fixer.removeRange([previousArgument.range[1], themeDeclaration.range[1]]); // todo: comma?
}
},
});
} else if (fileTheme !== themeDeclaration?.value) {
context.report({
messageId: Message.WRONG_THEME_DECLARED_IN_THEME_FILE,
node: themeDeclaration,
fix(fixer) {
return fixer.replaceText(themeDeclaration, `'${fileTheme as string}'`);
},
});
}
} else if (themeDeclaration?.type === AST_NODE_TYPES.Identifier && themeDeclaration.name === 'undefined') {
if (fileTheme !== undefined) {
context.report({
messageId: Message.NO_THEME_DECLARED_IN_THEME_FILE,
node: node,
fix(fixer) {
return fixer.replaceText(node.arguments[node.arguments.length - 1], `'${fileTheme as string}'`);
},
});
}
} else {
throw new Error('Unexpected theme declaration');
}
},
};
},
});
export const tests: NamedTests = {
plugin: info.name,
valid: [
{
name: 'theme file declares the correct theme in @listableObjectComponent',
code: `
@listableObjectComponent(something, somethingElse, undefined, 'test')
export class Something extends SomethingElse {
}
`,
filename: fixture('src/themes/test/app/dynamic-component/dynamic-component.ts'),
},
{
name: 'plain file declares no theme in @listableObjectComponent',
code: `
@listableObjectComponent(something, somethingElse, undefined)
export class Something extends SomethingElse {
}
`,
filename: fixture('src/app/dynamic-component/dynamic-component.ts'),
},
{
name: 'plain file declares explicit undefined theme in @listableObjectComponent',
code: `
@listableObjectComponent(something, somethingElse, undefined, undefined)
export class Something extends SomethingElse {
}
`,
filename: fixture('src/app/dynamic-component/dynamic-component.ts'),
},
{
name: 'test file declares theme outside of theme directory',
code: `
@listableObjectComponent(something, somethingElse, undefined, 'test')
export class Something extends SomethingElse {
}
`,
filename: fixture('src/app/dynamic-component/dynamic-component.spec.ts'),
},
{
name: 'only track configured decorators',
code: `
@something('test')
export class Something extends SomethingElse {
}
`,
filename: fixture('src/app/dynamic-component/dynamic-component.ts'),
},
],
invalid: [
{
name: 'theme file declares the wrong theme in @listableObjectComponent',
code: `
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
`,
filename: fixture('src/themes/test/app/dynamic-component/dynamic-component.ts'),
errors: [
{
messageId: 'wrongThemeDeclaredInThemeFile',
},
],
output: `
@listableObjectComponent(something, somethingElse, undefined, 'test')
export class Something extends SomethingElse {
}
`,
},
{
name: 'plain file declares a theme in @listableObjectComponent',
code: `
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
`,
filename: fixture('src/app/dynamic-component/dynamic-component.ts'),
errors: [
{
messageId: 'themeDeclaredInNonThemeFile',
},
],
output: `
@listableObjectComponent(something, somethingElse, undefined)
export class Something extends SomethingElse {
}
`,
},
{
name: 'theme file declares no theme in @listableObjectComponent',
code: `
@listableObjectComponent(something, somethingElse, undefined)
export class Something extends SomethingElse {
}
`,
filename: fixture('src/themes/test-2/app/dynamic-component/dynamic-component.ts'),
errors: [
{
messageId: 'noThemeDeclaredInThemeFile',
},
],
output: `
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
`,
},
{
name: 'theme file declares explicit undefined theme in @listableObjectComponent',
code: `
@listableObjectComponent(something, somethingElse, undefined, undefined)
export class Something extends SomethingElse {
}
`,
filename: fixture('src/themes/test-2/app/dynamic-component/dynamic-component.ts'),
errors: [
{
messageId: 'noThemeDeclaredInThemeFile',
},
],
output: `
@listableObjectComponent(something, somethingElse, undefined, 'test-2')
export class Something extends SomethingElse {
}
`,
},
],
};
function getDeclaredTheme(options: [ThemedDecoratorsOption], decoratorCall: TSESTree.CallExpression): TSESTree.Node | undefined {
const index: number = options[0].decorators[(decoratorCall.callee as TSESTree.Identifier).name];
if (decoratorCall.arguments.length >= index + 1) {
return decoratorCall.arguments[index];
}
return undefined;
}

View File

@@ -0,0 +1,158 @@
import {
ESLintUtils,
TSESTree,
} from '@typescript-eslint/utils';
import { RuleContext } from '@typescript-eslint/utils/ts-eslint';
import {
DSpaceESLintRuleInfo,
NamedTests,
} from '../../util/structure';
import { isThemedComponentWrapper } from '../../util/theme-support';
export enum Message {
WRAPPER_HAS_INPUT_DEFAULTS = 'wrapperHasInputDefaults',
}
export const info: DSpaceESLintRuleInfo = {
name: 'themed-wrapper-no-input-defaults',
meta: {
docs: {
description: 'ThemedComponent wrappers should not declare input defaults (see [DSpace Angular #2164](https://github.com/DSpace/dspace-angular/pull/2164))',
},
messages: {
[Message.WRAPPER_HAS_INPUT_DEFAULTS]: 'ThemedComponent wrapper declares inputs with defaults',
},
type: 'problem',
schema: [],
},
optionDocs: [],
defaultOptions: [],
};
export const rule = ESLintUtils.RuleCreator.withoutDocs({
...info,
create(context: RuleContext<any, any>, options: any) {
return {
'ClassBody > PropertyDefinition > Decorator > CallExpression[callee.name=\'Input\']': (node: TSESTree.CallExpression) => {
const classDeclaration = (node?.parent?.parent?.parent as TSESTree.Decorator); // todo: clean this up
if (!isThemedComponentWrapper(classDeclaration)) {
return;
}
const propertyDefinition: TSESTree.PropertyDefinition = (node.parent.parent as any); // todo: clean this up
if (propertyDefinition.value !== null) {
context.report({
messageId: Message.WRAPPER_HAS_INPUT_DEFAULTS,
node: propertyDefinition.value,
// fix(fixer) {
// // todo: don't strip type annotations!
// // todo: replace default with appropriate type annotation if not present!
// return fixer.removeRange([propertyDefinition.key.range[1], (propertyDefinition.value as any).range[1]]);
// }
});
}
},
};
},
});
export const tests: NamedTests = {
plugin: info.name,
valid: [
{
name: 'ThemedComponent wrapper defines an input without a default value',
code: `
export class TTest extends ThemedComponent<Test> {
@Input()
test;
}
`,
},
{
name: 'Regular class defines an input with a default value',
code: `
export class Test {
@Input()
test = 'test';
}
`,
},
],
invalid: [
{
name: 'ThemedComponent wrapper defines an input with a default value',
code: `
export class TTest extends ThemedComponent<Test> {
@Input()
test1 = 'test';
@Input()
test2 = true;
@Input()
test2: number = 123;
@Input()
test3: number[] = [1,2,3];
}
`,
errors: [
{
messageId: 'wrapperHasInputDefaults',
},
{
messageId: 'wrapperHasInputDefaults',
},
{
messageId: 'wrapperHasInputDefaults',
},
{
messageId: 'wrapperHasInputDefaults',
},
],
// output: `
// export class TTest extends ThemedComponent<Test> {
//
// @Input()
// test1: string;
//
// @Input()
// test2: boolean;
//
// @Input()
// test2: number;
//
// @Input()
// test3: number[];
// }
// `,
},
{
name: 'ThemedComponent wrapper defines an input with an undefined default value',
code: `
export class TTest extends ThemedComponent<Test> {
@Input()
test = undefined;
}
`,
errors: [
{
messageId: 'wrapperHasInputDefaults',
},
],
// output: `
// export class TTest extends ThemedComponent<Test> {
//
// @Input()
// test;
// }
// `,
},
],
};

View File

@@ -0,0 +1,226 @@
import {
AST_NODE_TYPES,
ESLintUtils,
TSESLint,
TSESTree,
} from '@typescript-eslint/utils';
import { isTestFile } from '../../util/filter';
import {
DSpaceESLintRuleInfo,
NamedTests,
OptionDoc,
} from '../../util/structure';
export enum Message {
DUPLICATE_DECORATOR_CALL = 'duplicateDecoratorCall',
}
/**
* Saves the decorators by decoratorName → file → Set<String>
*/
const decoratorCalls: Map<string, Map<string, Set<string>>> = new Map();
/**
* Keep a list of the files wo contain a decorator. This is done in order to prevent the `Program` selector from being
* run for every file.
*/
const fileWithDecorators: Set<string> = new Set();
export interface UniqueDecoratorsOptions {
decorators: string[];
}
export interface UniqueDecoratorsDocOptions {
decorators: OptionDoc;
}
export const info: DSpaceESLintRuleInfo<[UniqueDecoratorsOptions], [UniqueDecoratorsDocOptions]> = {
name: 'unique-decorators',
meta: {
docs: {
description: 'Some decorators must be called with unique arguments (e.g. when they construct a mapping based on the argument values)',
},
messages: {
[Message.DUPLICATE_DECORATOR_CALL]: 'Duplicate decorator call',
},
type: 'problem',
schema: [
{
type: 'object',
properties: {
decorators: {
type: 'array',
items: {
type: 'string',
},
},
},
},
],
},
optionDocs: [
{
decorators: {
title: '`decorators`',
description: 'The list of all the decorators for which you want to enforce this behavior.',
},
},
],
defaultOptions: [
{
decorators: [
'listableObjectComponent', // todo: must take default arguments into account!
],
},
],
};
export const rule = ESLintUtils.RuleCreator.withoutDocs({
...info,
create(context: TSESLint.RuleContext<Message, unknown[]>, options: any) {
return {
['Program']: () => {
if (fileWithDecorators.has(context.physicalFilename)) {
for (const decorator of options[0].decorators) {
decoratorCalls.get(decorator)?.get(context.physicalFilename)?.clear();
}
}
},
[`ClassDeclaration > Decorator > CallExpression[callee.name=/^(${options[0].decorators.join('|')})$/]`]: (node: TSESTree.CallExpression) => {
if (isTestFile(context)) {
return;
}
if (node.callee.type !== AST_NODE_TYPES.Identifier) {
// We only support regular method identifiers
return;
}
fileWithDecorators.add(context.physicalFilename);
if (!isUnique(node, context.physicalFilename)) {
context.report({
messageId: Message.DUPLICATE_DECORATOR_CALL,
node: node,
});
}
},
};
},
});
export const tests: NamedTests = {
plugin: info.name,
valid: [
{
name: 'checked decorator, no repetitions',
code: `
@listableObjectComponent(a)
export class A {
}
@listableObjectComponent(a, 'b')
export class B {
}
@listableObjectComponent(a, 'b', 3)
export class C {
}
@listableObjectComponent(a, 'b', 3, Enum.TEST1)
export class C {
}
@listableObjectComponent(a, 'b', 3, Enum.TEST2)
export class C {
}
`,
},
{
name: 'unchecked decorator, some repetitions',
code: `
@something(a)
export class A {
}
@something(a)
export class B {
}
`,
},
],
invalid: [
{
name: 'checked decorator, some repetitions',
code: `
@listableObjectComponent(a)
export class A {
}
@listableObjectComponent(a)
export class B {
}
`,
errors: [
{
messageId: 'duplicateDecoratorCall',
},
],
},
],
};
function callKey(node: TSESTree.CallExpression): string {
let key = '';
for (const arg of node.arguments) {
switch ((arg as TSESTree.Node).type) {
// todo: can we make this more generic somehow?
case AST_NODE_TYPES.Identifier:
key += (arg as TSESTree.Identifier).name;
break;
case AST_NODE_TYPES.Literal:
// eslint-disable-next-line @typescript-eslint/no-base-to-string
key += (arg as TSESTree.Literal).value;
break;
case AST_NODE_TYPES.MemberExpression:
key += (arg as any).object.name + '.' + (arg as any).property.name;
break;
default:
throw new Error(`Unrecognized decorator argument type: ${arg.type}`);
}
key += ', ';
}
return key;
}
function isUnique(node: TSESTree.CallExpression, filePath: string): boolean {
const decorator = (node.callee as TSESTree.Identifier).name;
if (!decoratorCalls.has(decorator)) {
decoratorCalls.set(decorator, new Map());
}
if (!decoratorCalls.get(decorator)!.has(filePath)) {
decoratorCalls.get(decorator)!.set(filePath, new Set());
}
const key = callKey(node);
let unique = true;
for (const decoratorCallsByFile of decoratorCalls.get(decorator)!.values()) {
if (decoratorCallsByFile.has(key)) {
unique = !unique;
break;
}
}
decoratorCalls.get(decorator)?.get(filePath)?.add(key);
return unique;
}

10
lint/src/util/filter.ts Normal file
View File

@@ -0,0 +1,10 @@
import { RuleContext } from '@typescript-eslint/utils/ts-eslint';
/**
* Determine whether the current file is a test file
* @param context the current ESLint rule context
*/
export function isTestFile(context: RuleContext<any, any>): boolean {
// note: shouldn't use plain .filename (doesn't work in DSpace Angular 7.4)
return context.getFilename()?.endsWith('.spec.ts') ;
}

View File

@@ -17,10 +17,16 @@ export type Meta = RuleMetaData<string, unknown[]>;
export type Valid = ValidTestCase<unknown[]>;
export type Invalid = InvalidTestCase<string, unknown[]>;
export interface DSpaceESLintRuleInfo {
export interface DSpaceESLintRuleInfo<T = unknown[], D = unknown[]> {
name: string;
meta: Meta,
defaultOptions: unknown[],
optionDocs: D,
defaultOptions: T,
}
export interface OptionDoc {
title: string;
description: string;
}
export interface NamedTests {

View File

@@ -7,6 +7,11 @@ _______
[Source code](../../../../lint/src/rules/<%- plugin.name.replace('dspace-angular-', '') %>/<%- rule.name %>.ts)
<% if (rule.optionDocs?.length > 0) { %>
### Options
<%- rule.optionDocs.map(optionDoc => Object.keys(optionDoc).map(option => '\n#### ' + optionDoc[option].title + '\n\n' + optionDoc[option].description)) %>
<% } %>
### Examples
<% if (tests.valid) {%>
@@ -19,6 +24,13 @@ Filename: `<%- test.filename %>`
```<%- plugin.language.toLowerCase() %>
<%- test.code.trim() %>
```
<% if (test?.options?.length > 0) { %>
With options:
```json
<%- JSON.stringify(test.options[0], null, 2) %>
```
<% }%>
<% }) %>
<% } %>
@@ -31,6 +43,15 @@ Filename: `<%- test.filename %>`
<% } %>
```<%- plugin.language.toLowerCase() %>
<%- test.code.trim() %>
<% if (test?.options?.length > 0) { %>
With options:
```json
<%- JSON.stringify(test.options[0], null, 2) %>
```
<% }%>
```
Will produce the following error(s):
```

View File

@@ -6,9 +6,11 @@
* http://www.dspace.org/license/
*/
import { readFileSync } from 'node:fs';
import { basename } from 'node:path';
import { TSESTree } from '@typescript-eslint/utils';
import { readFileSync } from 'fs';
import { basename } from 'path';
import { RuleContext } from '@typescript-eslint/utils/ts-eslint';
import ts, { Identifier } from 'typescript';
import {
@@ -263,3 +265,18 @@ export const DISALLOWED_THEME_SELECTORS = 'ds-(base|themed)-';
export function fixSelectors(text: string): string {
return text.replaceAll(/ds-(base|themed)-/g, 'ds-');
}
/**
* Determine the theme of the current file based on its path in the project.
* @param context the current ESLint rule context
*/
export function getFileTheme(context: RuleContext<any, any>): string | undefined {
// note: shouldn't use plain .filename (doesn't work in DSpace Angular 7.4)
const m = context.getFilename()?.match(/\/src\/themes\/([^/]+)\//);
if (m?.length === 2) {
return m[1];
}
return undefined;
}

View File

@@ -6,6 +6,8 @@
* http://www.dspace.org/license/
*/
import { RuleMetaData } from '@typescript-eslint/utils/ts-eslint';
import { default as html } from '../src/rules/html';
import { default as ts } from '../src/rules/ts';
@@ -69,6 +71,16 @@ describe('plugin structure', () => {
expect(ruleExports.tests.valid.length).toBeGreaterThan(0);
expect(ruleExports.tests.invalid.length).toBeGreaterThan(0);
});
it('should contain a valid ESLint rule', () => {
// we don't have a better way to enforce this, but it's something at least
expect((ruleExports.rule as any).name).toBeUndefined(
'Rules should be passed to RuleCreator, omitting info.name since it is not part of the RuleWithMeta interface',
);
expect(ruleExports.rule.create).toBeTruthy();
expect(ruleExports.rule.meta).toEqual(ruleExports.info.meta as RuleMetaData<string, []>);
});
});
}
});

13162
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,11 @@
{
"name": "dspace-angular",
"version": "9.0.0-next",
"version": "9.2.0-next",
"scripts": {
"ng": "ng",
"config:watch": "nodemon",
"test:rest": "ts-node --project ./tsconfig.ts-node.json scripts/test-rest.ts",
"start": "npm run start:prod",
"start:dev": "nodemon --exec \"cross-env NODE_ENV=development npm run serve\"",
"start:dev": "cross-env NODE_ENV=development npm run serve --watch",
"start:prod": "npm run build:prod && cross-env NODE_ENV=production npm run serve:ssr",
"start:mirador:prod": "npm run build:mirador && npm run start:prod",
"preserve": "npm run base-href",
@@ -19,7 +18,7 @@
"build:ssr": "ng build --configuration production && ng run dspace-angular:server:production",
"build:lint": "rimraf 'lint/dist/**/*.js' 'lint/dist/**/*.js.map' && tsc -b lint/tsconfig.json",
"test": "ng test --source-map=true --watch=false --configuration test",
"test:watch": "nodemon --exec \"ng test --source-map=true --watch=true --configuration test\"",
"test:watch": "ng test --source-map=true --watch=true --configuration test",
"test:headless": "ng test --source-map=true --watch=false --configuration test --browsers=ChromeHeadless --code-coverage",
"test:lint": "npm run build:lint && npm run test:lint:nobuild",
"test:lint:nobuild": "jasmine --config=lint/jasmine.json",
@@ -57,106 +56,108 @@
"private": true,
"overrides": {
"@kolkov/ngx-gallery": {
"@angular/animations": "^17.3.11",
"@angular/common": "^17.3.11",
"@angular/core": "^17.3.11"
"@angular/animations": "^18.2.12",
"@angular/common": "^18.2.12",
"@angular/core": "^18.2.12"
},
"@ng-bootstrap/ng-bootstrap": {
"@angular/common": "^17.3.11",
"@angular/core": "^17.3.11",
"@angular/forms": "^17.3.11",
"@angular/localize": "^17.3.11"
"@angular/common": "^18.2.12",
"@angular/core": "^18.2.12",
"@angular/forms": "^18.2.12",
"@angular/localize": "^18.2.12"
},
"@ng-dynamic-forms/core": {
"@angular/common": "^17.3.11",
"@angular/core": "^17.3.11",
"@angular/forms": "^17.3.11"
"@angular/common": "^18.2.12",
"@angular/core": "^18.2.12",
"@angular/forms": "^18.2.12"
},
"@ng-dynamic-forms/ui-ng-bootstrap": {
"ngx-mask": "14.2.4"
},
"@ngtools/webpack": {
"@angular/compiler-cli": "^17.3.11",
"typescript": "~5.4.5"
"ngx-mask": "14.2.4",
"@ng-bootstrap/ng-bootstrap": "^12.0.0",
"bootstrap": "^5.3"
},
"@nicky-lenaers/ngx-scroll-to": {
"@angular/common": "^17.3.11",
"@angular/core": "^17.3.11"
"@angular/common": "^18.2.12",
"@angular/core": "^18.2.12"
},
"eslint-plugin-unused-imports": {
"@typescript-eslint/eslint-plugin": "^7.2.0"
},
"ng2-file-upload": {
"@angular/common": "^17.3.11",
"@angular/core": "^17.3.11"
},
"ngx-infinite-scroll": {
"@angular/common": "^17.3.11",
"@angular/core": "^17.3.11"
}
"@angular/common": "^18.2.12",
"@angular/core": "^18.2.12"
},
"notistack": "3.0.1"
},
"dependencies": {
"@angular/animations": "^17.3.12",
"@angular/cdk": "^17.3.10",
"@angular/common": "^17.3.12",
"@angular/compiler": "^17.3.12",
"@angular/core": "^17.3.12",
"@angular/forms": "^17.3.12",
"@angular/localize": "^17.3.12",
"@angular/platform-browser": "^17.3.12",
"@angular/platform-browser-dynamic": "^17.3.12",
"@angular/platform-server": "^17.3.12",
"@angular/router": "^17.3.12",
"@angular/ssr": "^17.3.11",
"@babel/runtime": "7.26.0",
"@angular/animations": "^18.2.12",
"@angular/cdk": "^18.2.12",
"@angular/common": "^18.2.12",
"@angular/compiler": "^18.2.12",
"@angular/core": "^18.2.12",
"@angular/forms": "^18.2.12",
"@angular/localize": "^18.2.12",
"@angular/platform-browser": "^18.2.12",
"@angular/platform-browser-dynamic": "^18.2.12",
"@angular/platform-server": "^18.2.12",
"@angular/router": "^18.2.12",
"@angular/ssr": "^18.2.20",
"@babel/runtime": "7.28.4",
"@kolkov/ngx-gallery": "^2.0.1",
"@ng-bootstrap/ng-bootstrap": "^11.0.0",
"@ng-bootstrap/ng-bootstrap": "^12.0.0",
"@ng-dynamic-forms/core": "^16.0.0",
"@ng-dynamic-forms/ui-ng-bootstrap": "^16.0.0",
"@ngrx/effects": "^17.1.1",
"@ngrx/router-store": "^17.1.1",
"@ngrx/store": "^17.1.1",
"@ngx-translate/core": "^14.0.0",
"@ngrx/effects": "^18.1.1",
"@ngrx/operators": "^18.0.0",
"@ngrx/router-store": "^18.1.1",
"@ngrx/store": "^18.1.1",
"@ngx-translate/core": "^16.0.3",
"@nicky-lenaers/ngx-scroll-to": "^14.0.0",
"@terraformer/wkt": "^2.2.1",
"altcha": "^0.9.0",
"angulartics2": "^12.2.0",
"axios": "^1.7.4",
"bootstrap": "^4.6.1",
"bootstrap": "^5.3",
"cerialize": "0.1.18",
"cli-progress": "^3.12.0",
"colors": "^1.4.0",
"compression": "^1.7.5",
"compression": "^1.8.1",
"cookie-parser": "1.4.7",
"core-js": "^3.39.0",
"core-js": "^3.45.1",
"date-fns": "^2.29.3",
"date-fns-tz": "^1.3.7",
"deepmerge": "^4.3.1",
"ejs": "^3.1.10",
"express": "^4.21.1",
"express": "^4.21.2",
"express-rate-limit": "^5.1.3",
"fast-json-patch": "^3.1.1",
"filesize": "^6.1.0",
"http-proxy-middleware": "^2.0.7",
"filesize": "^10.1.6",
"http-proxy-middleware": "^2.0.9",
"http-terminator": "^3.2.0",
"isbot": "^5.1.17",
"isbot": "^5.1.30",
"js-cookie": "2.2.1",
"js-yaml": "^4.1.0",
"json5": "^2.2.3",
"jsonschema": "1.4.1",
"jsonschema": "1.5.0",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
"leaflet": "^1.9.4",
"leaflet-providers": "^2.0.0",
"leaflet.markercluster": "^1.5.3",
"lodash-es": "^4.17.21",
"lru-cache": "^7.14.1",
"markdown-it": "^13.0.1",
"mirador": "^3.3.0",
"mirador": "^3.4.3",
"mirador-dl-plugin": "^0.13.0",
"mirador-share-plugin": "^0.16.0",
"morgan": "^1.10.0",
"ng2-file-upload": "5.0.0",
"morgan": "^1.10.1",
"ng2-file-upload": "7.0.1",
"ng2-nouislider": "^2.0.0",
"ngx-infinite-scroll": "^16.0.0",
"ngx-infinite-scroll": "^18.0.0",
"ngx-matomo-client": "^6.4.1",
"ngx-pagination": "6.0.3",
"ngx-ui-switch": "^14.1.0",
"ngx-skeleton-loader": "^9.0.0",
"ngx-ui-switch": "^15.0.0",
"nouislider": "^15.7.1",
"orejime": "^2.3.0",
"orejime": "^2.3.1",
"pem": "1.14.8",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.0",
@@ -164,30 +165,30 @@
"zone.js": "~0.14.10"
},
"devDependencies": {
"@angular-builders/custom-webpack": "~17.0.2",
"@angular-devkit/build-angular": "^17.3.11",
"@angular-eslint/builder": "^17.5.3",
"@angular-eslint/bundled-angular-compiler": "^17.5.3",
"@angular-eslint/eslint-plugin": "^17.5.3",
"@angular-eslint/eslint-plugin-template": "^17.5.3",
"@angular-eslint/schematics": "^17.5.3",
"@angular-eslint/template-parser": "^17.5.3",
"@angular-eslint/utils": "^17.5.3",
"@angular/cli": "^17.3.11",
"@angular/compiler-cli": "^17.3.11",
"@angular/language-service": "^17.3.12",
"@angular-builders/custom-webpack": "~18.0.0",
"@angular-devkit/build-angular": "^18.2.20",
"@angular-eslint/builder": "^18.4.1",
"@angular-eslint/bundled-angular-compiler": "^18.4.1",
"@angular-eslint/eslint-plugin": "^18.4.1",
"@angular-eslint/eslint-plugin-template": "^18.4.1",
"@angular-eslint/schematics": "^18.4.1",
"@angular-eslint/template-parser": "^18.4.1",
"@angular-eslint/utils": "^18.4.1",
"@angular/cli": "^18.2.20",
"@angular/compiler-cli": "^18.2.12",
"@angular/language-service": "^18.2.12",
"@cypress/schematic": "^1.5.0",
"@fortawesome/fontawesome-free": "^6.6.0",
"@ngrx/store-devtools": "^17.1.1",
"@ngtools/webpack": "^16.2.16",
"@fortawesome/fontawesome-free": "^6.7.2",
"@ngrx/store-devtools": "^18.1.1",
"@ngtools/webpack": "^18.2.20",
"@types/deep-freeze": "0.1.5",
"@types/ejs": "^3.1.2",
"@types/express": "^4.17.17",
"@types/grecaptcha": "^3.0.9",
"@types/jasmine": "~3.6.0",
"@types/js-cookie": "2.2.6",
"@types/lodash": "^4.17.13",
"@types/node": "^14.14.9",
"@types/lodash-es": "^4.17.12",
"@types/node": "^18.19.124",
"@typescript-eslint/eslint-plugin": "^7.18.0",
"@typescript-eslint/parser": "^7.18.0",
"@typescript-eslint/rule-tester": "^7.18.0",
@@ -196,22 +197,22 @@
"compression-webpack-plugin": "^9.2.0",
"copy-webpack-plugin": "^6.4.1",
"cross-env": "^7.0.3",
"cypress": "^13.16.0",
"cypress-axe": "^1.5.0",
"cypress": "^13.17.0",
"cypress-axe": "^1.7.0",
"deep-freeze": "0.0.1",
"eslint": "^8.39.0",
"eslint-plugin-deprecation": "^1.4.1",
"eslint-plugin-dspace-angular-html": "file:./lint/dist/src/rules/html",
"eslint-plugin-dspace-angular-ts": "file:./lint/dist/src/rules/ts",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-import-newlines": "^1.3.1",
"eslint-plugin-jsdoc": "^45.0.0",
"eslint-plugin-jsonc": "^2.6.0",
"eslint-plugin-jsonc": "^2.20.1",
"eslint-plugin-lodash": "^7.4.0",
"eslint-plugin-rxjs": "^5.0.3",
"eslint-plugin-simple-import-sort": "^10.0.0",
"eslint-plugin-unused-imports": "^3.2.0",
"express-static-gzip": "^2.1.8",
"express-static-gzip": "^2.2.0",
"jasmine": "^3.8.0",
"jasmine-core": "^3.8.0",
"jasmine-marbles": "0.9.2",
@@ -221,21 +222,20 @@
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"karma-mocha-reporter": "2.2.5",
"ng-mocks": "^14.13.1",
"ng-mocks": "^14.13.5",
"ngx-mask": "14.2.4",
"nodemon": "^2.0.22",
"postcss": "^8.4",
"postcss": "^8.5",
"postcss-import": "^14.0.0",
"postcss-loader": "^4.0.3",
"postcss-preset-env": "^7.4.2",
"rimraf": "^3.0.2",
"sass": "~1.80.6",
"sass": "~1.92.1",
"sass-loader": "^12.6.0",
"sass-resources-loader": "^2.2.5",
"ts-node": "^8.10.2",
"typescript": "~5.4.5",
"webpack": "5.96.1",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1"
"webpack": "^5.102.0",
"webpack-cli": "^6.0.1",
"webpack-dev-server": "^5.2.2"
}
}

View File

@@ -20,12 +20,11 @@ import 'reflect-metadata';
/* eslint-disable import/no-namespace */
import * as morgan from 'morgan';
import * as express from 'express';
import express from 'express';
import * as ejs from 'ejs';
import * as compression from 'compression';
import * as expressStaticGzip from 'express-static-gzip';
import 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';
@@ -58,6 +57,7 @@ import {
REQUEST,
RESPONSE,
} from './src/express.tokens';
import { SsrExcludePatterns } from "./src/config/ssr-config.interface";
/*
* Set path for the browser application's dist folder
@@ -81,6 +81,9 @@ let anonymousCache: LRU<string, any>;
// extend environment with app config for server
extendEnvironmentWithAppConfig(environment, appConfig);
// The REST server base URL
const REST_BASE_URL = environment.rest.ssrBaseUrl || environment.rest.baseUrl;
// The Express app is exported so that it can be used by serverless Functions.
export function app() {
@@ -156,7 +159,7 @@ export function app() {
* Proxy the sitemaps
*/
router.use('/sitemap**', createProxyMiddleware({
target: `${environment.rest.baseUrl}/sitemaps`,
target: `${REST_BASE_URL}/sitemaps`,
pathRewrite: path => path.replace(environment.ui.nameSpace, '/'),
changeOrigin: true,
}));
@@ -165,7 +168,7 @@ export function app() {
* Proxy the linksets
*/
router.use('/signposting**', createProxyMiddleware({
target: `${environment.rest.baseUrl}`,
target: `${REST_BASE_URL}`,
pathRewrite: path => path.replace(environment.ui.nameSpace, '/'),
changeOrigin: true,
}));
@@ -218,7 +221,7 @@ export function app() {
* The callback function to serve server side angular
*/
function ngApp(req, res, next) {
if (environment.ssr.enabled) {
if (environment.ssr.enabled && req.method === 'GET' && (req.path === '/' || !isExcludedFromSsr(req.path, environment.ssr.excludePathPatterns))) {
// Render the page to user via SSR (server side rendering)
serverSideRender(req, res, next);
} else {
@@ -265,7 +268,18 @@ function serverSideRender(req, res, next, sendToUser: boolean = true) {
],
})
.then((html) => {
// If headers were already sent, then do nothing else, it is probably a
// redirect response
if (res.headersSent) {
return;
}
if (hasValue(html)) {
// Replace REST URL with UI URL
if (environment.ssr.replaceRestUrl && REST_BASE_URL !== environment.rest.baseUrl) {
html = html.replace(new RegExp(REST_BASE_URL, 'g'), environment.rest.baseUrl);
}
// save server side rendered page to cache (if any are enabled)
saveToCache(req, html);
if (sendToUser) {
@@ -552,8 +566,8 @@ function createHttpsServer(keys) {
* Create an HTTP server with the configured port and host.
*/
function run() {
const port = environment.ui.port || 4000;
const host = environment.ui.host || '/';
const port = environment.ui.port;
const host = environment.ui.host;
// Start up the Node server
const server = app();
@@ -619,14 +633,29 @@ function start() {
}
}
/**
* Check if SSR should be skipped for path
*
* @param path
* @param excludePathPattern
*/
function isExcludedFromSsr(path: string, excludePathPattern: SsrExcludePatterns[]): boolean {
const patterns = excludePathPattern.map(p =>
new RegExp(p.pattern, p.flag || '')
);
return patterns.some((regex) => {
return regex.test(path)
});
}
/*
* The callback function to serve health check requests
*/
function healthCheck(req, res) {
const baseUrl = `${environment.rest.baseUrl}${environment.actuators.endpointPath}`;
axios.get(baseUrl)
const baseUrl = `${REST_BASE_URL}${environment.actuators.endpointPath}`;
fetch(baseUrl)
.then((response) => {
res.status(response.status).send(response.data);
res.status(response.status).send(response);
})
.catch((error) => {
res.status(error.response.status).send({

View File

@@ -1,19 +1,13 @@
<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">
<ng-template ngbPanelTitle>
<div class="w-100 d-flex gap-3 justify-content-between collapse-toggle" (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">
[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>
@@ -22,11 +16,11 @@
<li [ngbNavItem]="'search'" role="presentation">
<a ngbNavLink>{{'admin.access-control.bulk-access-browse.search.header' | translate}}</a>
<ng-template ngbNavContent>
<div class="mx-n3">
<div class="bulk-access-search">
<ds-search [configuration]="'administrativeBulkAccess'"
[selectable]="true"
[selectionConfig]="{ repeatable: true, listId: listId }"
[showThumbnails]="false"></ds-search>
[selectable]="true"
[selectionConfig]="{ repeatable: true, listId: listId }"
[showThumbnails]="false"></ds-search>
</div>
</ng-template>
</li>
@@ -42,21 +36,25 @@
[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>
@if ((objectsSelected$|async)?.hasSucceeded) {
<ul class="list-unstyled ms-4">
@for (object of (objectsSelected$|async)?.payload?.page | paginate: { itemsPerPage: (paginationOptions$ | async).pageSize,
currentPage: (paginationOptions$ | async).currentPage, totalItems: (objectsSelected$|async)?.payload?.page.length }; track object; let i = $index; let last = $last) {
<li
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>

View File

@@ -0,0 +1,4 @@
.bulk-access-search {
margin-right: calc(var(--bs-gutter-x, 1.5rem) / -2);
margin-left: calc(var(--bs-gutter-x, 1.5rem) / -2);
}

View File

@@ -1,8 +1,4 @@
import {
AsyncPipe,
NgForOf,
NgIf,
} from '@angular/common';
import { AsyncPipe } from '@angular/common';
import {
Component,
Input,
@@ -55,18 +51,16 @@ import { BrowserOnlyPipe } from '../../../shared/utils/browser-only.pipe';
},
],
imports: [
PaginationComponent,
AsyncPipe,
NgbAccordionModule,
TranslateModule,
NgIf,
NgbNavModule,
ThemedSearchComponent,
BrowserOnlyPipe,
NgForOf,
NgxPaginationModule,
SelectableListItemControlComponent,
ListableObjectComponentLoaderComponent,
NgbAccordionModule,
NgbNavModule,
NgxPaginationModule,
PaginationComponent,
SelectableListItemControlComponent,
ThemedSearchComponent,
TranslateModule,
],
standalone: true,
})

View File

@@ -7,10 +7,10 @@
<hr>
<div class="d-flex justify-content-end">
<button class="btn btn-outline-primary mr-3" (click)="reset()">
<button class="btn btn-outline-primary me-3" (click)="reset()">
{{ 'access-control-cancel' | translate }}
</button>
<button class="btn btn-primary" [disabled]="!canExport()" (click)="submit()">
<button class="btn btn-primary" [dsBtnDisabled]="!canExport()" (click)="submit()">
{{ 'access-control-execute' | translate }}
</button>
</div>

View File

@@ -1,4 +1,7 @@
import { NO_ERRORS_SCHEMA } from '@angular/core';
import {
Component,
NO_ERRORS_SCHEMA,
} from '@angular/core';
import {
ComponentFixture,
TestBed,
@@ -62,10 +65,17 @@ describe('BulkAccessComponent', () => {
'file': { },
};
const mockSettings: any = jasmine.createSpyObj('AccessControlFormContainerComponent', {
getValue: jasmine.createSpy('getValue'),
reset: jasmine.createSpy('reset'),
});
@Component({
selector: 'ds-bulk-access-settings',
template: '',
exportAs: 'dsBulkSettings',
standalone: true,
})
class MockBulkAccessSettingsComponent {
isFormValid = jasmine.createSpy('isFormValid').and.returnValue(false);
getValue = jasmine.createSpy('getValue');
reset = jasmine.createSpy('reset');
}
const selection: any[] = [{ indexableObject: { uuid: '1234' } }, { indexableObject: { uuid: '5678' } }];
const selectableListState: SelectableListState = { id: 'test', selection };
const expectedIdList = ['1234', '5678'];
@@ -93,6 +103,9 @@ describe('BulkAccessComponent', () => {
BulkAccessSettingsComponent,
],
},
add: {
imports: [MockBulkAccessSettingsComponent],
},
})
.compileComponents();
});
@@ -109,13 +122,12 @@ describe('BulkAccessComponent', () => {
fixture.destroy();
});
describe('when there are no elements selected', () => {
describe('when there are no elements selected and step two form is invalid', () => {
beforeEach(() => {
(component as any).selectableListService.getSelectableList.and.returnValue(of(selectableListStateEmpty));
fixture.detectChanges();
component.settings = mockSettings;
});
it('should create', () => {
@@ -138,7 +150,6 @@ describe('BulkAccessComponent', () => {
(component as any).selectableListService.getSelectableList.and.returnValue(of(selectableListState));
fixture.detectChanges();
component.settings = mockSettings;
});
it('should create', () => {
@@ -149,15 +160,29 @@ describe('BulkAccessComponent', () => {
expect(component.objectsSelected$.value).toEqual(expectedIdList);
});
it('should enable the execute button when there are objects selected', () => {
it('should not enable the execute button when there are objects selected and step two form is invalid', () => {
component.objectsSelected$.next(['1234']);
expect(component.canExport()).toBe(true);
expect(component.canExport()).toBe(false);
});
it('should call the settings reset method when reset is called', () => {
component.reset();
expect(component.settings.reset).toHaveBeenCalled();
});
});
describe('when there are elements selected and the step two form is valid', () => {
beforeEach(() => {
(component as any).selectableListService.getSelectableList.and.returnValue(of(selectableListState));
fixture.detectChanges();
(component as any).settings.isFormValid.and.returnValue(true);
});
it('should enable the execute button when there are objects selected and step two form is valid', () => {
component.objectsSelected$.next(['1234']);
expect(component.canExport()).toBe(true);
});
it('should call the bulkAccessControlService executeScript method when submit is called', () => {
(component.settings as any).getValue.and.returnValue(mockFormState);

View File

@@ -1,4 +1,5 @@
import {
ChangeDetectionStrategy,
Component,
OnInit,
ViewChild,
@@ -14,6 +15,7 @@ import {
} from 'rxjs/operators';
import { BulkAccessControlService } from '../../shared/access-control-form-container/bulk-access-control.service';
import { BtnDisabledDirective } from '../../shared/btn-disabled.directive';
import { SelectableListState } from '../../shared/object-list/selectable-list/selectable-list.reducer';
import { SelectableListService } from '../../shared/object-list/selectable-list/selectable-list.service';
import { BulkAccessBrowseComponent } from './browse/bulk-access-browse.component';
@@ -24,11 +26,13 @@ import { BulkAccessSettingsComponent } from './settings/bulk-access-settings.com
templateUrl: './bulk-access.component.html',
styleUrls: ['./bulk-access.component.scss'],
imports: [
TranslateModule,
BulkAccessSettingsComponent,
BtnDisabledDirective,
BulkAccessBrowseComponent,
BulkAccessSettingsComponent,
TranslateModule,
],
standalone: true,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class BulkAccessComponent implements OnInit {
@@ -68,7 +72,7 @@ export class BulkAccessComponent implements OnInit {
}
canExport(): boolean {
return this.objectsSelected$.value?.length > 0;
return this.objectsSelected$.value?.length > 0 && this.settings?.isFormValid();
}
/**

View File

@@ -1,17 +1,11 @@
<ngb-accordion #acc="ngbAccordion" [activeIds]="'settings'">
<ngb-panel [id]="'settings'">
<ng-template ngbPanelHeader>
<ng-template ngbPanelTitle>
<div class="w-100 d-flex gap-3 justify-content-between collapse-toggle" ngbPanelToggle (click)="acc.toggle('settings')" data-test="settings">
<button type="button" class="btn btn-link p-0" (click)="$event.preventDefault()" [attr.aria-expanded]="acc.isExpanded('settings')"
aria-controls="bulk-access-settings-panel-content">
{{ 'admin.access-control.bulk-access-settings.header' | translate }}
</button>
<div class="text-right d-flex gap-2">
<div class="d-flex my-auto">
<span *ngIf="acc.isExpanded('settings')" class="fas fa-chevron-up fa-fw"></span>
<span *ngIf="!acc.isExpanded('settings')" class="fas fa-chevron-down fa-fw"></span>
</div>
</div>
</div>
</ng-template>
<ng-template ngbPanelContent>

View File

@@ -1,4 +1,4 @@
import { NgIf } from '@angular/common';
import {
Component,
ViewChild,
@@ -14,10 +14,9 @@ import { AccessControlFormContainerComponent } from '../../../shared/access-cont
styleUrls: ['./bulk-access-settings.component.scss'],
exportAs: 'dsBulkSettings',
imports: [
AccessControlFormContainerComponent,
NgbAccordionModule,
TranslateModule,
NgIf,
AccessControlFormContainerComponent,
],
standalone: true,
})
@@ -43,4 +42,8 @@ export class BulkAccessSettingsComponent {
this.controlForm.reset();
}
isFormValid() {
return this.controlForm.isValid();
}
}

View File

@@ -5,10 +5,10 @@
<h1 id="header" class="pb-2">{{labelPrefix + 'head' | translate}}</h1>
<div>
<button class="mr-auto btn btn-success addEPerson-button"
[routerLink]="'create'">
<button class="me-auto btn btn-success addEPerson-button"
[routerLink]="'create'">
<i class="fas fa-plus"></i>
<span class="d-none d-sm-inline ml-1">{{labelPrefix + 'button.add' | translate}}</span>
<span class="d-none d-sm-inline ms-1">{{labelPrefix + 'button.add' | translate}}</span>
</button>
</div>
</div>
@@ -18,77 +18,84 @@
</h2>
<form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)" class="d-flex justify-content-between">
<div>
<select name="scope" id="scope" formControlName="scope" class="form-control" aria-label="Search scope">
<select name="scope" id="scope" formControlName="scope" class="form-select" aria-label="Search scope">
<option value="metadata">{{labelPrefix + 'search.scope.metadata' | translate}}</option>
<option value="email">{{labelPrefix + 'search.scope.email' | translate}}</option>
</select>
</div>
<div class="flex-grow-1 mr-3 ml-3">
<div class="form-group input-group">
<div class="flex-grow-1 me-3 ms-3">
<div class="mb-3 input-group">
<input type="text" name="query" id="query" formControlName="query"
class="form-control" [attr.aria-label]="labelPrefix + 'search.placeholder' | translate"
[placeholder]="(labelPrefix + 'search.placeholder' | translate)">
class="form-control" [attr.aria-label]="labelPrefix + 'search.placeholder' | translate"
[placeholder]="(labelPrefix + 'search.placeholder' | translate)">
<span class="input-group-append">
<button type="submit" class="search-button btn btn-primary">
<i class="fas fa-search"></i> {{ labelPrefix + 'search.button' | translate }}
</button>
</span>
<button type="submit" class="search-button btn btn-primary">
<i class="fas fa-search"></i> {{ labelPrefix + 'search.button' | translate }}
</button>
</span>
</div>
</div>
<div>
<button (click)="clearFormAndResetResult();"
class="search-button btn btn-secondary">{{labelPrefix + 'button.see-all' | translate}}</button>
class="search-button btn btn-secondary">{{labelPrefix + 'button.see-all' | translate}}</button>
</div>
</form>
<ds-loading *ngIf="searching$ | async"></ds-loading>
<ds-pagination
*ngIf="(pageInfoState$ | async)?.totalElements > 0 && (searching$ | async) !== true"
[paginationOptions]="config"
[collectionSize]="(pageInfoState$ | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="epeople" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col">{{labelPrefix + 'table.id' | translate}}</th>
<th scope="col">{{labelPrefix + 'table.name' | translate}}</th>
<th scope="col">{{labelPrefix + 'table.email' | translate}}</th>
<th>{{labelPrefix + 'table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let epersonDto of (ePeopleDto$ | async)?.page"
[ngClass]="{'table-primary' : (activeEPerson$ | async) === epersonDto.eperson}">
<td>{{epersonDto.eperson.id}}</td>
<td>{{ dsoNameService.getName(epersonDto.eperson) }}</td>
<td>{{epersonDto.eperson.email}}</td>
<td>
<div class="btn-group edit-field">
<button [routerLink]="getEditEPeoplePage(epersonDto.eperson.id)"
@if (searching$ | async) {
<ds-loading></ds-loading>
}
@if ((pageInfoState$ | async)?.totalElements > 0 && (searching$ | async) !== true) {
<ds-pagination
[paginationOptions]="config"
[collectionSize]="(pageInfoState$ | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="epeople" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col">{{labelPrefix + 'table.id' | translate}}</th>
<th scope="col">{{labelPrefix + 'table.name' | translate}}</th>
<th scope="col">{{labelPrefix + 'table.email' | translate}}</th>
<th>{{labelPrefix + 'table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
@for (epersonDto of (ePeopleDto$ | async)?.page; track epersonDto) {
<tr
[ngClass]="{'table-primary' : (activeEPerson$ | async) === epersonDto.eperson}">
<td>{{epersonDto.eperson.id}}</td>
<td>{{ dsoNameService.getName(epersonDto.eperson) }}</td>
<td>{{epersonDto.eperson.email}}</td>
<td>
<div class="btn-group edit-field">
<button [routerLink]="getEditEPeoplePage(epersonDto.eperson.id)"
class="btn btn-outline-primary btn-sm access-control-editEPersonButton"
title="{{labelPrefix + 'table.edit.buttons.edit' | translate: { name: dsoNameService.getName(epersonDto.eperson) } }}">
<i class="fas fa-edit fa-fw"></i>
</button>
<button *ngIf="epersonDto.ableToDelete" (click)="deleteEPerson(epersonDto.eperson)"
class="delete-button btn btn-outline-danger btn-sm access-control-deleteEPersonButton"
title="{{labelPrefix + 'table.edit.buttons.remove' | translate: { name: dsoNameService.getName(epersonDto.eperson) } }}">
<i class="fas fa-trash-alt fa-fw"></i>
</button>
</div>
</td>
</tr>
</tbody>
</table>
<i class="fas fa-edit fa-fw"></i>
</button>
@if (epersonDto.ableToDelete) {
<button (click)="deleteEPerson(epersonDto.eperson)"
class="delete-button btn btn-outline-danger btn-sm access-control-deleteEPersonButton"
title="{{labelPrefix + 'table.edit.buttons.remove' | translate: { name: dsoNameService.getName(epersonDto.eperson) } }}">
<i class="fas fa-trash-alt fa-fw"></i>
</button>
}
</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</ds-pagination>
}
@if ((pageInfoState$ | async)?.totalElements === 0) {
<div class="alert alert-info w-100 mb-2" role="alert">
{{labelPrefix + 'no-items' | translate}}
</div>
</ds-pagination>
<div *ngIf="(pageInfoState$ | async)?.totalElements === 0" class="alert alert-info w-100 mb-2" role="alert">
{{labelPrefix + 'no-items' | translate}}
</div>
}
</div>
</div>
</div>

View File

@@ -27,7 +27,7 @@ import {
import { TranslateModule } from '@ngx-translate/core';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
import { AuthorizationDataService } from '../../core/data/feature-authorization/authorization-data.service';
@@ -42,6 +42,7 @@ import { EPersonDataService } from '../../core/eperson/eperson-data.service';
import { EPerson } from '../../core/eperson/models/eperson.model';
import { PaginationService } from '../../core/pagination/pagination.service';
import { PageInfo } from '../../core/shared/page-info.model';
import { BtnDisabledDirective } from '../../shared/btn-disabled.directive';
import { FormBuilderService } from '../../shared/form/builder/form-builder.service';
import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component';
import { getMockFormBuilderService } from '../../shared/mocks/form-builder-service.mock';
@@ -84,7 +85,7 @@ describe('EPeopleRegistryComponent', () => {
}), this.allEpeople));
},
getActiveEPerson(): Observable<EPerson> {
return observableOf(this.activeEPerson);
return of(this.activeEPerson);
},
searchByScope(scope: string, query: string, options: FindListOptions = {}): Observable<RemoteData<PaginatedList<EPerson>>> {
if (scope === 'email') {
@@ -128,7 +129,7 @@ describe('EPeopleRegistryComponent', () => {
this.allEpeople = this.allEpeople.filter((ePerson2: EPerson) => {
return (ePerson2.uuid !== ePerson.uuid);
});
return observableOf(true);
return of(true);
},
editEPerson(ePerson: EPerson) {
this.activeEPerson = ePerson;
@@ -144,14 +145,14 @@ describe('EPeopleRegistryComponent', () => {
},
};
authorizationService = jasmine.createSpyObj('authorizationService', {
isAuthorized: observableOf(true),
isAuthorized: of(true),
});
builderService = getMockFormBuilderService();
paginationService = new PaginationServiceStub();
TestBed.configureTestingModule({
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule, RouterTestingModule.withRoutes([]),
TranslateModule.forRoot(), EPeopleRegistryComponent],
TranslateModule.forRoot(), EPeopleRegistryComponent, BtnDisabledDirective],
providers: [
{ provide: EPersonDataService, useValue: ePersonDataServiceStub },
{ provide: NotificationsService, useValue: new NotificationsServiceStub() },
@@ -179,7 +180,7 @@ describe('EPeopleRegistryComponent', () => {
fixture = TestBed.createComponent(EPeopleRegistryComponent);
component = fixture.componentInstance;
modalService = TestBed.inject(NgbModal);
spyOn(modalService, 'open').and.returnValue(Object.assign({ componentInstance: Object.assign({ response: observableOf(true) }) }));
spyOn(modalService, 'open').and.returnValue(Object.assign({ componentInstance: Object.assign({ response: of(true) }) }));
fixture.detectChanges();
});
@@ -260,7 +261,7 @@ describe('EPeopleRegistryComponent', () => {
it('should hide delete EPerson button when the isAuthorized returns false', () => {
spyOn(authorizationService, 'isAuthorized').and.returnValue(observableOf(false));
spyOn(authorizationService, 'isAuthorized').and.returnValue(of(false));
component.initialisePage();
fixture.detectChanges();

View File

@@ -1,8 +1,6 @@
import {
AsyncPipe,
NgClass,
NgForOf,
NgIf,
} from '@angular/common';
import {
Component,
@@ -69,16 +67,14 @@ import { EPersonFormComponent } from './eperson-form/eperson-form.component';
selector: 'ds-epeople-registry',
templateUrl: './epeople-registry.component.html',
imports: [
TranslateModule,
RouterModule,
AsyncPipe,
NgIf,
EPersonFormComponent,
ReactiveFormsModule,
ThemedLoadingComponent,
PaginationComponent,
NgClass,
NgForOf,
PaginationComponent,
ReactiveFormsModule,
RouterModule,
ThemedLoadingComponent,
TranslateModule,
],
standalone: true,
})

View File

@@ -2,97 +2,111 @@
<div class="group-form row">
<div class="col-12">
<div *ngIf="activeEPerson$ | async; then editHeader; else createHeader"></div>
<ng-template #createHeader>
<h1 class="border-bottom pb-2">{{messagePrefix + '.create' | translate}}</h1>
</ng-template>
<ng-template #editHeader>
@if (activeEPerson$ | async) {
<h1 class="border-bottom pb-2">{{messagePrefix + '.edit' | translate}}</h1>
</ng-template>
} @else {
<h1 class="border-bottom pb-2">{{messagePrefix + '.create' | translate}}</h1>
}
<ds-form [formId]="formId"
[formModel]="formModel"
[formGroup]="formGroup"
[formLayout]="formLayout"
[displayCancel]="false"
[submitLabel]="submitLabel"
(submitForm)="onSubmit()">
[formModel]="formModel"
[formGroup]="formGroup"
[formLayout]="formLayout"
[displayCancel]="false"
[submitLabel]="submitLabel"
(submitForm)="onSubmit()">
<div before class="btn-group">
<button (click)="onCancel()" type="button" class="btn btn-outline-secondary">
<i class="fas fa-arrow-left"></i> {{messagePrefix + '.return' | translate}}
</button>
</div>
<div *ngIf="displayResetPassword" between class="btn-group">
<button class="btn btn-primary" [disabled]="(canReset$ | async) !== true" type="button" (click)="resetPassword()">
<i class="fa fa-key"></i> {{'admin.access-control.epeople.actions.reset' | translate}}
@if (displayResetPassword) {
<div between class="btn-group">
<button class="btn btn-primary" [dsBtnDisabled]="(canReset$ | async) !== true" type="button" (click)="resetPassword()">
<i class="fa fa-key"></i> {{'admin.access-control.epeople.actions.reset' | translate}}
</button>
</div>
}
@if (canImpersonate$ | async) {
<div between class="btn-group">
@if (!isImpersonated) {
<button class="btn btn-primary" type="button" (click)="impersonate()">
<i class="fa fa-user-secret"></i> {{'admin.access-control.epeople.actions.impersonate' | translate}}
</button>
}
@if (isImpersonated) {
<button class="btn btn-primary" type="button" (click)="stopImpersonating()">
<i class="fa fa-user-secret"></i> {{'admin.access-control.epeople.actions.stop-impersonating' | translate}}
</button>
}
</div>
}
@if (canDelete$ | async) {
<button after class="btn btn-danger delete-button" type="button" (click)="delete()">
<i class="fas fa-trash"></i> {{'admin.access-control.epeople.actions.delete' | translate}}
</button>
</div>
<div *ngIf="canImpersonate$ | async" between class="btn-group">
<button *ngIf="!isImpersonated" class="btn btn-primary" type="button" (click)="impersonate()">
<i class="fa fa-user-secret"></i> {{'admin.access-control.epeople.actions.impersonate' | translate}}
</button>
<button *ngIf="isImpersonated" class="btn btn-primary" type="button" (click)="stopImpersonating()">
<i class="fa fa-user-secret"></i> {{'admin.access-control.epeople.actions.stop-impersonating' | translate}}
</button>
</div>
<button *ngIf="canDelete$ | async" after class="btn btn-danger delete-button" type="button" (click)="delete()">
<i class="fas fa-trash"></i> {{'admin.access-control.epeople.actions.delete' | translate}}
</button>
}
</ds-form>
<ds-loading [showMessage]="false" *ngIf="!formGroup"></ds-loading>
@if (!formGroup) {
<ds-loading [showMessage]="false"></ds-loading>
}
<div *ngIf="activeEPerson$ | async">
<h2>{{messagePrefix + '.groupsEPersonIsMemberOf' | translate}}</h2>
<ds-loading [showMessage]="false" *ngIf="groups$ | async | dsHasNoValue"></ds-loading>
<ds-pagination
*ngIf="(groups$ | async)?.payload?.totalElements > 0"
[paginationOptions]="config"
[collectionSize]="(groups$ | async)?.payload?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true"
(pageChange)="onPageChange($event)">
<div class="table-responsive">
<table id="groups" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.collectionOrCommunity' | translate}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let group of (groups$ | async)?.payload?.page">
<td class="align-middle">{{group.id}}</td>
<td class="align-middle">
<a (click)="groupsDataService.startEditingNewGroup(group)"
[routerLink]="[groupsDataService.getGroupEditPageRouterLink(group)]">
{{ dsoNameService.getName(group) }}
</a>
</td>
<td class="align-middle">
{{ dsoNameService.getName((group.object | async)?.payload) }}
</td>
</tr>
</tbody>
</table>
</div>
</ds-pagination>
<div *ngIf="(groups$ | async)?.payload?.totalElements === 0" class="alert alert-info w-100 mb-2" role="alert">
<div>{{messagePrefix + '.memberOfNoGroups' | translate}}</div>
<div>
<button [routerLink]="[groupsDataService.getGroupRegistryRouterLink()]"
class="btn btn-primary">{{messagePrefix + '.goToGroups' | translate}}</button>
</div>
@if (activeEPerson$ | async) {
<div>
<h2>{{messagePrefix + '.groupsEPersonIsMemberOf' | translate}}</h2>
@if (groups$ | async | dsHasNoValue) {
<ds-loading [showMessage]="false"></ds-loading>
}
@if ((groups$ | async)?.payload?.totalElements > 0) {
<ds-pagination
[paginationOptions]="config"
[collectionSize]="(groups$ | async)?.payload?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true"
(pageChange)="onPageChange($event)">
<div class="table-responsive">
<table id="groups" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.collectionOrCommunity' | translate}}</th>
</tr>
</thead>
<tbody>
@for (group of (groups$ | async)?.payload?.page; track group) {
<tr>
<td class="align-middle">{{group.id}}</td>
<td class="align-middle">
<a (click)="groupsDataService.startEditingNewGroup(group)"
[routerLink]="[groupsDataService.getGroupEditPageRouterLink(group)]">
{{ dsoNameService.getName(group) }}
</a>
</td>
<td class="align-middle">
{{ dsoNameService.getName((group.object | async)?.payload) }}
</td>
</tr>
}
</tbody>
</table>
</div>
</ds-pagination>
}
@if ((groups$ | async)?.payload?.totalElements === 0) {
<div class="alert alert-info w-100 mb-2" role="alert">
<div>{{messagePrefix + '.memberOfNoGroups' | translate}}</div>
<div>
<button [routerLink]="[groupsDataService.getGroupRegistryRouterLink()]"
class="btn btn-primary">{{messagePrefix + '.goToGroups' | translate}}</button>
</div>
</div>
}
</div>
</div>
}
</div>
</div>
</div>

View File

@@ -25,7 +25,7 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import { TranslateModule } from '@ngx-translate/core';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
import { AuthService } from '../../../core/auth/auth.service';
@@ -43,6 +43,7 @@ import { GroupDataService } from '../../../core/eperson/group-data.service';
import { EPerson } from '../../../core/eperson/models/eperson.model';
import { PaginationService } from '../../../core/pagination/pagination.service';
import { PageInfo } from '../../../core/shared/page-info.model';
import { BtnDisabledDirective } from '../../../shared/btn-disabled.directive';
import { FormBuilderService } from '../../../shared/form/builder/form-builder.service';
import { FormComponent } from '../../../shared/form/form.component';
import { ThemedLoadingComponent } from '../../../shared/loading/themed-loading.component';
@@ -90,7 +91,7 @@ describe('EPersonFormComponent', () => {
activeEPerson: null,
allEpeople: mockEPeople,
getActiveEPerson(): Observable<EPerson> {
return observableOf(this.activeEPerson);
return of(this.activeEPerson);
},
searchByScope(scope: string, query: string, options: FindListOptions = {}): Observable<RemoteData<PaginatedList<EPerson>>> {
if (scope === 'email') {
@@ -114,7 +115,7 @@ describe('EPersonFormComponent', () => {
this.allEpeople = this.allEpeople.filter((ePerson2: EPerson) => {
return (ePerson2.uuid !== ePerson.uuid);
});
return observableOf(true);
return of(true);
},
create(ePerson: EPerson): Observable<RemoteData<EPerson>> {
this.allEpeople = [...this.allEpeople, ePerson];
@@ -209,7 +210,7 @@ describe('EPersonFormComponent', () => {
});
authService = new AuthServiceStub();
authorizationService = jasmine.createSpyObj('authorizationService', {
isAuthorized: observableOf(true),
isAuthorized: of(true),
});
groupsDataService = jasmine.createSpyObj('groupsDataService', {
@@ -221,7 +222,7 @@ describe('EPersonFormComponent', () => {
route = new ActivatedRouteStub();
router = new RouterStub();
TestBed.configureTestingModule({
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BtnDisabledDirective, BrowserModule,
RouterModule.forRoot([]),
TranslateModule.forRoot(),
EPersonFormComponent,
@@ -388,7 +389,7 @@ describe('EPersonFormComponent', () => {
});
describe('without active EPerson', () => {
beforeEach(() => {
spyOn(ePersonDataServiceStub, 'getActiveEPerson').and.returnValue(observableOf(undefined));
spyOn(ePersonDataServiceStub, 'getActiveEPerson').and.returnValue(of(undefined));
component.onSubmit();
fixture.detectChanges();
});
@@ -428,7 +429,7 @@ describe('EPersonFormComponent', () => {
},
},
});
spyOn(ePersonDataServiceStub, 'getActiveEPerson').and.returnValue(observableOf(expectedWithId));
spyOn(ePersonDataServiceStub, 'getActiveEPerson').and.returnValue(of(expectedWithId));
component.ngOnInit();
component.onSubmit();
fixture.detectChanges();
@@ -484,10 +485,10 @@ describe('EPersonFormComponent', () => {
spyOn(authService, 'impersonate').and.callThrough();
eperson = EPersonMock;
component.epersonInitial = eperson;
component.canDelete$ = observableOf(true);
spyOn(component.epersonService, 'getActiveEPerson').and.returnValue(observableOf(eperson));
component.canDelete$ = of(true);
spyOn(component.epersonService, 'getActiveEPerson').and.returnValue(of(eperson));
modalService = (component as any).modalService;
spyOn(modalService, 'open').and.returnValue(Object.assign({ componentInstance: Object.assign({ response: observableOf(true) }) }));
spyOn(modalService, 'open').and.returnValue(Object.assign({ componentInstance: Object.assign({ response: of(true) }) }));
component.ngOnInit();
fixture.detectChanges();
});
@@ -498,7 +499,7 @@ describe('EPersonFormComponent', () => {
});
it('the delete button should be hidden if the ePerson cannot be deleted', () => {
component.canDelete$ = observableOf(false);
component.canDelete$ = of(false);
fixture.detectChanges();
const deleteButton = fixture.debugElement.query(By.css('.delete-button'));
expect(deleteButton).toBeNull();
@@ -516,7 +517,8 @@ describe('EPersonFormComponent', () => {
// ePersonDataServiceStub.activeEPerson = eperson;
spyOn(component.epersonService, 'deleteEPerson').and.returnValue(createSuccessfulRemoteDataObject$('No Content', 204));
const deleteButton = fixture.debugElement.query(By.css('.delete-button'));
expect(deleteButton.nativeElement.disabled).toBe(false);
expect(deleteButton.nativeElement.getAttribute('aria-disabled')).toBeNull();
expect(deleteButton.nativeElement.classList.contains('disabled')).toBeFalse();
deleteButton.triggerEventHandler('click', null);
fixture.detectChanges();
expect(component.epersonService.deleteEPerson).toHaveBeenCalledWith(eperson);

View File

@@ -1,9 +1,4 @@
import {
AsyncPipe,
NgClass,
NgFor,
NgIf,
} from '@angular/common';
import { AsyncPipe } from '@angular/common';
import {
ChangeDetectorRef,
Component,
@@ -32,7 +27,7 @@ import {
import {
combineLatest as observableCombineLatest,
Observable,
of as observableOf,
of,
Subscription,
} from 'rxjs';
import {
@@ -65,6 +60,7 @@ import {
import { PageInfo } from '../../../core/shared/page-info.model';
import { Registration } from '../../../core/shared/registration.model';
import { TYPE_REQUEST_FORGOT } from '../../../register-email-form/register-email-form.component';
import { BtnDisabledDirective } from '../../../shared/btn-disabled.directive';
import { ConfirmationModalComponent } from '../../../shared/confirmation-modal/confirmation-modal.component';
import { hasValue } from '../../../shared/empty.util';
import { FormBuilderService } from '../../../shared/form/builder/form-builder.service';
@@ -82,16 +78,14 @@ import { ValidateEmailNotTaken } from './validators/email-taken.validator';
selector: 'ds-eperson-form',
templateUrl: './eperson-form.component.html',
imports: [
FormComponent,
NgIf,
NgFor,
AsyncPipe,
TranslateModule,
NgClass,
ThemedLoadingComponent,
BtnDisabledDirective,
FormComponent,
HasNoValuePipe,
PaginationComponent,
RouterLink,
HasNoValuePipe,
ThemedLoadingComponent,
TranslateModule,
],
standalone: true,
})
@@ -363,7 +357,7 @@ export class EPersonFormComponent implements OnInit, OnDestroy {
this.groups$ = this.activeEPerson$.pipe(
switchMap((eperson) => {
return observableCombineLatest([observableOf(eperson), this.paginationService.getFindListOptions(this.config.id, {
return observableCombineLatest([of(eperson), this.paginationService.getFindListOptions(this.config.id, {
currentPage: 1,
elementsPerPage: this.config.pageSize,
})]);
@@ -372,7 +366,7 @@ export class EPersonFormComponent implements OnInit, OnDestroy {
if (eperson != null) {
return this.groupsDataService.findListByHref(eperson._links.groups.href, findListOptions, true, true, followLink('object'));
}
return observableOf(undefined);
return of(undefined);
}),
);
@@ -385,14 +379,14 @@ export class EPersonFormComponent implements OnInit, OnDestroy {
if (hasValue(eperson)) {
return this.authorizationService.isAuthorized(FeatureID.LoginOnBehalfOf, eperson.self);
} else {
return observableOf(false);
return of(false);
}
}),
);
this.canDelete$ = this.activeEPerson$.pipe(
switchMap((eperson) => this.authorizationService.isAuthorized(FeatureID.CanDelete, hasValue(eperson) ? eperson.self : undefined)),
);
this.canReset$ = observableOf(true);
this.canReset$ = of(true);
}
/**
@@ -546,16 +540,16 @@ export class EPersonFormComponent implements OnInit, OnDestroy {
take(1),
switchMap((confirm: boolean) => {
if (confirm && hasValue(eperson.id)) {
this.canDelete$ = observableOf(false);
this.canDelete$ = of(false);
return this.epersonService.deleteEPerson(eperson).pipe(
getFirstCompletedRemoteData(),
map((restResponse: RemoteData<NoContent>) => ({ restResponse, eperson })),
);
} else {
return observableOf(null);
return of(null);
}
}),
finalize(() => this.canDelete$ = observableOf(true)),
finalize(() => this.canDelete$ = of(true)),
);
}),
).subscribe(({ restResponse, eperson }: { restResponse: RemoteData<NoContent> | null, eperson: EPerson }) => {

View File

@@ -2,13 +2,7 @@
<div class="group-form row">
<div class="col-12">
<div *ngIf="activeGroup$ | async; then editHeader; else createHeader"></div>
<ng-template #createHeader>
<h1 class="border-bottom pb-2">{{messagePrefix + '.head.create' | translate}}</h1>
</ng-template>
<ng-template #editHeader>
@if (activeGroup$ | async) {
<h1 class="border-bottom pb-2">
<span
*dsContextHelp="{
@@ -17,47 +11,61 @@
iconPlacement: 'right',
tooltipPlacement: ['right', 'bottom']
}"
>
>
{{messagePrefix + '.head.edit' | translate}}
</span>
</h1>
</ng-template>
} @else {
<h1 class="border-bottom pb-2">{{messagePrefix + '.head.create' | translate}}</h1>
}
<ng-container *ngIf="(activeGroup$ | async) as groupBeingEdited">
<ds-alert *ngIf="groupBeingEdited?.permanent" [type]="AlertType.Warning"
[content]="messagePrefix + '.alert.permanent'"></ds-alert>
<ng-container *ngIf="(activeGroupLinkedDSO$ | async) as activeGroupLinkedDSO">
<ds-alert *ngIf="(canEdit$ | async) !== true" [type]="AlertType.Warning"
[content]="(messagePrefix + '.alert.workflowGroup' | translate:{ name: dsoNameService.getName(activeGroupLinkedDSO), comcol: activeGroupLinkedDSO.type, comcolEditRolesRoute: (linkedEditRolesRoute$ | async) })">
</ds-alert>
</ng-container>
</ng-container>
@if ((activeGroup$ | async); as groupBeingEdited) {
@if (groupBeingEdited?.permanent) {
<ds-alert [type]="AlertType.Warning"
[content]="messagePrefix + '.alert.permanent'"></ds-alert>
}
@if ((activeGroupLinkedDSO$ | async); as activeGroupLinkedDSO) {
@if ((canEdit$ | async) !== true) {
<ds-alert [type]="AlertType.Warning"
[content]="(messagePrefix + '.alert.workflowGroup' | translate:{ name: dsoNameService.getName(activeGroupLinkedDSO), comcol: activeGroupLinkedDSO.type, comcolEditRolesRoute: (linkedEditRolesRoute$ | async) })">
</ds-alert>
}
}
}
<ds-form [formId]="formId"
[formModel]="formModel"
[formGroup]="formGroup"
[formLayout]="formLayout"
[displayCancel]="false"
(submitForm)="onSubmit()">
[formModel]="formModel"
[formGroup]="formGroup"
[formLayout]="formLayout"
[displayCancel]="false"
(submitForm)="onSubmit()">
<div before class="btn-group">
<button (click)="onCancel()" type="button"
class="btn btn-outline-secondary"><i class="fas fa-arrow-left"></i> {{messagePrefix + '.return' | translate}}</button>
</div>
<div after *ngIf="(canEdit$ | async) && !(activeGroup$ | async)?.permanent" class="btn-group">
<button (click)="delete()" class="btn btn-danger delete-button" type="button">
<i class="fa fa-trash"></i> {{ messagePrefix + '.actions.delete' | translate}}
</button>
</div>
</ds-form>
class="btn btn-outline-secondary"><i class="fas fa-arrow-left"></i> {{messagePrefix + '.return' | translate}}</button>
</div>
@if ((canEdit$ | async) && !(activeGroup$ | async)?.permanent) {
<div after class="btn-group">
<button (click)="delete()" class="btn btn-danger delete-button" type="button">
<i class="fa fa-trash"></i> {{ messagePrefix + '.actions.delete' | translate}}
</button>
</div>
}
</ds-form>
<ng-container *ngIf="(activeGroup$ | async) as groupBeingEdited">
<div class="mb-5">
<ds-members-list *ngIf="groupBeingEdited !== undefined"
[messagePrefix]="messagePrefix + '.members-list'"></ds-members-list>
</div>
<ds-subgroups-list *ngIf="groupBeingEdited !== undefined"
[messagePrefix]="messagePrefix + '.subgroups-list'"></ds-subgroups-list>
</ng-container>
@if ((activeGroup$ | async); as groupBeingEdited) {
<div class="mb-5">
@if (groupBeingEdited !== undefined) {
<ds-members-list
[messagePrefix]="messagePrefix + '.members-list'"></ds-members-list>
}
</div>
@if (groupBeingEdited !== undefined) {
<ds-subgroups-list
[messagePrefix]="messagePrefix + '.subgroups-list'"></ds-subgroups-list>
}
}
</div>
</div>
</div>
</div>

View File

@@ -27,7 +27,7 @@ import { TranslateModule } from '@ngx-translate/core';
import { Operation } from 'fast-json-patch';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
import { DSONameService } from '../../../core/breadcrumbs/dso-name.service';
@@ -116,7 +116,7 @@ describe('GroupFormComponent', () => {
activeGroup: null,
createdGroup: null,
getActiveGroup(): Observable<Group> {
return observableOf(this.activeGroup);
return of(this.activeGroup);
},
getGroupRegistryRouterLink(): string {
return '/access-control/groups';
@@ -137,7 +137,7 @@ describe('GroupFormComponent', () => {
this.activeGroup = null;
},
findById(id: string) {
return observableOf({ payload: null, hasSucceeded: true });
return of({ payload: null, hasSucceeded: true });
},
findByHref(href: string) {
return createSuccessfulRemoteDataObject$(this.createdGroup);
@@ -164,7 +164,7 @@ describe('GroupFormComponent', () => {
},
};
authorizationService = jasmine.createSpyObj('authorizationService', {
isAuthorized: observableOf(true),
isAuthorized: of(true),
});
dsoDataServiceStub = {
findByHref(href: string): Observable<RemoteData<DSpaceObject>> {
@@ -330,7 +330,7 @@ describe('GroupFormComponent', () => {
},
},
});
spyOn(groupsDataServiceStub, 'getActiveGroup').and.returnValue(observableOf(expected));
spyOn(groupsDataServiceStub, 'getActiveGroup').and.returnValue(of(expected));
spyOn(groupsDataServiceStub, 'patch').and.returnValue(createSuccessfulRemoteDataObject$(expected2));
component.ngOnInit();
});
@@ -417,7 +417,7 @@ describe('GroupFormComponent', () => {
},
});
spyOn(component.submitForm, 'emit');
spyOn(dsoDataServiceStub, 'findByHref').and.returnValue(observableOf(expected));
spyOn(dsoDataServiceStub, 'findByHref').and.returnValue(of(expected));
fixture.detectChanges();
component.initialisePage();
@@ -471,11 +471,11 @@ describe('GroupFormComponent', () => {
beforeEach(async () => {
spyOn(groupsDataServiceStub, 'delete').and.callThrough();
component.activeGroup$ = observableOf({
component.activeGroup$ = of({
id: 'active-group',
permanent: false,
} as Group);
component.canEdit$ = observableOf(true);
component.canEdit$ = of(true);
component.initialisePage();

View File

@@ -1,7 +1,4 @@
import {
AsyncPipe,
NgIf,
} from '@angular/common';
import { AsyncPipe } from '@angular/common';
import {
ChangeDetectorRef,
Component,
@@ -90,14 +87,13 @@ import { ValidateGroupExists } from './validators/group-exists.validator';
selector: 'ds-group-form',
templateUrl: './group-form.component.html',
imports: [
FormComponent,
AlertComponent,
NgIf,
AsyncPipe,
TranslateModule,
ContextHelpDirective,
FormComponent,
MembersListComponent,
SubgroupsListComponent,
TranslateModule,
],
standalone: true,
})

View File

@@ -3,63 +3,70 @@
<h3>{{messagePrefix + '.headMembers' | translate}}</h3>
<ds-pagination *ngIf="(ePeopleMembersOfGroup | async)?.totalElements > 0"
[paginationOptions]="config"
[collectionSize]="(ePeopleMembersOfGroup | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
@if ((ePeopleMembersOfGroup | async)?.totalElements > 0) {
<ds-pagination
[paginationOptions]="config"
[collectionSize]="(ePeopleMembersOfGroup | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="ePeopleMembersOfGroup" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.identity' | translate}}</th>
<th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
@for (epersonDTO of (ePeopleMembersOfGroup | async)?.page; track epersonDTO) {
<tr>
<td class="align-middle">{{epersonDTO.eperson.id}}</td>
<td class="align-middle">
<a [routerLink]="getEPersonEditRoute(epersonDTO.eperson.id)">
{{ dsoNameService.getName(epersonDTO.eperson) }}
</a>
</td>
<td class="align-middle">
{{messagePrefix + '.table.email' | translate}}: {{ epersonDTO.eperson.email ? epersonDTO.eperson.email : '-' }}<br/>
{{messagePrefix + '.table.netid' | translate}}: {{ epersonDTO.eperson.netid ? epersonDTO.eperson.netid : '-' }}
</td>
<td class="align-middle">
<div class="btn-group edit-field">
@if (epersonDTO.ableToDelete) {
<button (click)="deleteMemberFromGroup(epersonDTO.eperson)"
[dsBtnDisabled]="actionConfig.remove.disabled"
[ngClass]="['btn btn-sm', actionConfig.remove.css]"
title="{{messagePrefix + '.table.edit.buttons.remove' | translate: { name: dsoNameService.getName(epersonDTO.eperson) } }}">
<i [ngClass]="actionConfig.remove.icon"></i>
</button>
}
@if (!epersonDTO.ableToDelete) {
<button
(click)="addMemberToGroup(epersonDTO.eperson)"
[dsBtnDisabled]="actionConfig.add.disabled"
[ngClass]="['btn btn-sm', actionConfig.add.css]"
title="{{messagePrefix + '.table.edit.buttons.add' | translate: { name: dsoNameService.getName(epersonDTO.eperson) } }}">
<i [ngClass]="actionConfig.add.icon"></i>
</button>
}
</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</ds-pagination>
}
<div class="table-responsive">
<table id="ePeopleMembersOfGroup" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.identity' | translate}}</th>
<th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let epersonDTO of (ePeopleMembersOfGroup | async)?.page">
<td class="align-middle">{{epersonDTO.eperson.id}}</td>
<td class="align-middle">
<a [routerLink]="getEPersonEditRoute(epersonDTO.eperson.id)">
{{ dsoNameService.getName(epersonDTO.eperson) }}
</a>
</td>
<td class="align-middle">
{{messagePrefix + '.table.email' | translate}}: {{ epersonDTO.eperson.email ? epersonDTO.eperson.email : '-' }}<br/>
{{messagePrefix + '.table.netid' | translate}}: {{ epersonDTO.eperson.netid ? epersonDTO.eperson.netid : '-' }}
</td>
<td class="align-middle">
<div class="btn-group edit-field">
<button (click)="deleteMemberFromGroup(epersonDTO.eperson)"
*ngIf="epersonDTO.ableToDelete"
[disabled]="actionConfig.remove.disabled"
[ngClass]="['btn btn-sm', actionConfig.remove.css]"
title="{{messagePrefix + '.table.edit.buttons.remove' | translate: { name: dsoNameService.getName(epersonDTO.eperson) } }}">
<i [ngClass]="actionConfig.remove.icon"></i>
</button>
<button *ngIf="!epersonDTO.ableToDelete"
(click)="addMemberToGroup(epersonDTO.eperson)"
[disabled]="actionConfig.add.disabled"
[ngClass]="['btn btn-sm', actionConfig.add.css]"
title="{{messagePrefix + '.table.edit.buttons.add' | translate: { name: dsoNameService.getName(epersonDTO.eperson) } }}">
<i [ngClass]="actionConfig.add.icon"></i>
</button>
</div>
</td>
</tr>
</tbody>
</table>
@if ((ePeopleMembersOfGroup | async) === undefined || (ePeopleMembersOfGroup | async)?.totalElements === 0) {
<div class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-members-yet' | translate}}
</div>
</ds-pagination>
<div *ngIf="(ePeopleMembersOfGroup | async) === undefined || (ePeopleMembersOfGroup | async)?.totalElements === 0" class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-members-yet' | translate}}
</div>
}
<h3 id="search" class="border-bottom pb-2">
<span
@@ -69,77 +76,81 @@
iconPlacement: 'right',
tooltipPlacement: ['top', 'right', 'bottom']
}"
>
>
{{messagePrefix + '.search.head' | translate}}
</span>
</h3>
<form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)" class="d-flex justify-content-between">
<div class="flex-grow-1 mr-3">
<div class="form-group input-group mr-3">
<div class="flex-grow-1 me-3">
<div class="mb-3 input-group me-3">
<input type="text" name="query" id="query" formControlName="query"
class="form-control" aria-label="Search input">
class="form-control" aria-label="Search input">
<span class="input-group-append">
<button type="submit" class="search-button btn btn-primary">
<i class="fas fa-search"></i> {{ messagePrefix + '.search.button' | translate }}</button>
</span>
<button type="submit" class="search-button btn btn-primary">
<i class="fas fa-search"></i> {{ messagePrefix + '.search.button' | translate }}</button>
</span>
</div>
</div>
</div>
<div>
<button (click)="clearFormAndResetResult();"
class="btn btn-secondary">{{messagePrefix + '.button.see-all' | translate}}</button>
</div>
</form>
<div>
<button (click)="clearFormAndResetResult();"
class="btn btn-secondary">{{messagePrefix + '.button.see-all' | translate}}</button>
</div>
</form>
<ds-pagination *ngIf="(ePeopleSearch | async)?.totalElements > 0"
[paginationOptions]="configSearch"
[collectionSize]="(ePeopleSearch | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
@if ((ePeopleSearch | async)?.totalElements > 0) {
<ds-pagination
[paginationOptions]="configSearch"
[collectionSize]="(ePeopleSearch | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="epersonsSearch" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.identity' | translate}}</th>
<th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
@for (eperson of (ePeopleSearch | async)?.page; track eperson) {
<tr>
<td class="align-middle">{{eperson.id}}</td>
<td class="align-middle">
<a [routerLink]="getEPersonEditRoute(eperson.id)">
{{ dsoNameService.getName(eperson) }}
</a>
</td>
<td class="align-middle">
{{messagePrefix + '.table.email' | translate}}: {{ eperson.email ? eperson.email : '-' }}<br/>
{{messagePrefix + '.table.netid' | translate}}: {{ eperson.netid ? eperson.netid : '-' }}
</td>
<td class="align-middle">
<div class="btn-group edit-field">
<button (click)="addMemberToGroup(eperson)"
[dsBtnDisabled]="actionConfig.add.disabled"
[ngClass]="['btn btn-sm', actionConfig.add.css]"
title="{{messagePrefix + '.table.edit.buttons.add' | translate: { name: dsoNameService.getName(eperson) } }}">
<i [ngClass]="actionConfig.add.icon"></i>
</button>
</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</ds-pagination>
}
<div class="table-responsive">
<table id="epersonsSearch" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.identity' | translate}}</th>
<th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let eperson of (ePeopleSearch | async)?.page">
<td class="align-middle">{{eperson.id}}</td>
<td class="align-middle">
<a [routerLink]="getEPersonEditRoute(eperson.id)">
{{ dsoNameService.getName(eperson) }}
</a>
</td>
<td class="align-middle">
{{messagePrefix + '.table.email' | translate}}: {{ eperson.email ? eperson.email : '-' }}<br/>
{{messagePrefix + '.table.netid' | translate}}: {{ eperson.netid ? eperson.netid : '-' }}
</td>
<td class="align-middle">
<div class="btn-group edit-field">
<button (click)="addMemberToGroup(eperson)"
[disabled]="actionConfig.add.disabled"
[ngClass]="['btn btn-sm', actionConfig.add.css]"
title="{{messagePrefix + '.table.edit.buttons.add' | translate: { name: dsoNameService.getName(eperson) } }}">
<i [ngClass]="actionConfig.add.icon"></i>
</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
@if ((ePeopleSearch | async)?.totalElements === 0 && searchDone) {
<div
class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-items' | translate}}
</div>
}
</ds-pagination>
<div *ngIf="(ePeopleSearch | async)?.totalElements === 0 && searchDone"
class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-items' | translate}}
</div>
</ng-container>
</ng-container>

View File

@@ -32,7 +32,7 @@ import {
} from '@ngx-translate/core';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
import { DSONameService } from '../../../../core/breadcrumbs/dso-name.service';
@@ -113,7 +113,7 @@ describe('MembersListComponent', () => {
epersonMembers: epersonMembers,
epersonNonMembers: epersonNonMembers,
getActiveGroup(): Observable<Group> {
return observableOf(activeGroup);
return of(activeGroup);
},
getEPersonMembers() {
return this.epersonMembers;
@@ -127,7 +127,7 @@ describe('MembersListComponent', () => {
this.epersonNonMembers.splice(index, 1);
}
});
return observableOf(new RestResponse(true, 200, 'Success'));
return of(new RestResponse(true, 200, 'Success'));
},
clearGroupsRequests() {
// empty
@@ -147,7 +147,7 @@ describe('MembersListComponent', () => {
});
// Add eperson to list of non-members
this.epersonNonMembers = [...this.epersonNonMembers, epersonToDelete];
return observableOf(new RestResponse(true, 200, 'Success'));
return of(new RestResponse(true, 200, 'Success'));
},
};
builderService = getMockFormBuilderService();

View File

@@ -1,8 +1,6 @@
import {
AsyncPipe,
NgClass,
NgForOf,
NgIf,
} from '@angular/common';
import {
Component,
@@ -27,7 +25,7 @@ import {
combineLatest as observableCombineLatest,
Observable,
ObservedValueOf,
of as observableOf,
of,
Subscription,
} from 'rxjs';
import {
@@ -54,6 +52,7 @@ import {
getFirstCompletedRemoteData,
getRemoteDataPayload,
} from '../../../../core/shared/operators';
import { BtnDisabledDirective } from '../../../../shared/btn-disabled.directive';
import { ContextHelpDirective } from '../../../../shared/context-help.directive';
import { NotificationsService } from '../../../../shared/notifications/notifications.service';
import { PaginationComponent } from '../../../../shared/pagination/pagination.component';
@@ -104,15 +103,14 @@ export interface EPersonListActionConfig {
selector: 'ds-members-list',
templateUrl: './members-list.component.html',
imports: [
TranslateModule,
ContextHelpDirective,
ReactiveFormsModule,
PaginationComponent,
NgIf,
AsyncPipe,
RouterLink,
BtnDisabledDirective,
ContextHelpDirective,
NgClass,
NgForOf,
PaginationComponent,
ReactiveFormsModule,
RouterLink,
TranslateModule,
],
standalone: true,
})
@@ -262,7 +260,7 @@ export class MembersListComponent implements OnInit, OnDestroy {
* @param possibleMember EPerson that is a possible member (being tested) of the group currently being edited
*/
isMemberOfGroup(possibleMember: EPerson): Observable<boolean> {
return observableOf(true);
return of(true);
}
/**

View File

@@ -3,51 +3,56 @@
<h4>{{messagePrefix + '.headSubgroups' | translate}}</h4>
<ds-pagination *ngIf="(subGroups$ | async)?.payload?.totalElements > 0"
[paginationOptions]="config"
[collectionSize]="(subGroups$ | async)?.payload?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="subgroupsOfGroup" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.collectionOrCommunity' | translate}}</th>
<th>{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let group of (subGroups$ | async)?.payload?.page">
<td class="align-middle">{{group.id}}</td>
<td class="align-middle">
<a (click)="groupDataService.startEditingNewGroup(group)"
[routerLink]="[groupDataService.getGroupEditPageRouterLink(group)]">
{{ dsoNameService.getName(group) }}
</a>
</td>
<td class="align-middle">{{ dsoNameService.getName((group.object | async)?.payload)}}</td>
<td class="align-middle">
<div class="btn-group edit-field">
<button (click)="deleteSubgroupFromGroup(group)"
@if ((subGroups$ | async)?.payload?.totalElements > 0) {
<ds-pagination
[paginationOptions]="config"
[collectionSize]="(subGroups$ | async)?.payload?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="subgroupsOfGroup" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.collectionOrCommunity' | translate}}</th>
<th>{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
@for (group of (subGroups$ | async)?.payload?.page; track group) {
<tr>
<td class="align-middle">{{group.id}}</td>
<td class="align-middle">
<a (click)="groupDataService.startEditingNewGroup(group)"
[routerLink]="[groupDataService.getGroupEditPageRouterLink(group)]">
{{ dsoNameService.getName(group) }}
</a>
</td>
<td class="align-middle">{{ dsoNameService.getName((group.object | async)?.payload)}}</td>
<td class="align-middle">
<div class="btn-group edit-field">
<button (click)="deleteSubgroupFromGroup(group)"
class="btn btn-outline-danger btn-sm deleteButton"
title="{{messagePrefix + '.table.edit.buttons.remove' | translate: { name: dsoNameService.getName(group) } }}">
<i class="fas fa-trash-alt fa-fw"></i>
</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</ds-pagination>
<i class="fas fa-trash-alt fa-fw"></i>
</button>
</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</ds-pagination>
}
<div *ngIf="(subGroups$ | async)?.payload?.totalElements === 0" class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-subgroups-yet' | translate}}
</div>
@if ((subGroups$ | async)?.payload?.totalElements === 0) {
<div class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-subgroups-yet' | translate}}
</div>
}
<h4 id="search" class="border-bottom pb-2">
<span *dsContextHelp="{
@@ -56,75 +61,80 @@
iconPlacement: 'right',
tooltipPlacement: ['top', 'right', 'bottom']
}"
>
>
{{messagePrefix + '.search.head' | translate}}
</span>
</h4>
<form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)" class="d-flex justify-content-between">
<div class="flex-grow-1 mr-3">
<div class="form-group input-group mr-3">
<div class="flex-grow-1 me-3">
<div class="mb-3 input-group me-3">
<input type="text" name="query" id="query" formControlName="query"
class="form-control" aria-label="Search input">
class="form-control" aria-label="Search input">
<span class="input-group-append">
<button type="submit" class="search-button btn btn-primary">
<i class="fas fa-search"></i> {{ messagePrefix + '.search.button' | translate }}
</button>
<button type="submit" class="search-button btn btn-primary">
<i class="fas fa-search"></i> {{ messagePrefix + '.search.button' | translate }}
</button>
</span>
</div>
</div>
<div>
<button (click)="clearFormAndResetResult();" class="btn btn-secondary float-right">
<button (click)="clearFormAndResetResult();" class="btn btn-secondary float-end">
{{messagePrefix + '.button.see-all' | translate}}
</button>
</div>
</form>
<ds-pagination *ngIf="(searchResults$ | async)?.payload?.totalElements > 0"
[paginationOptions]="configSearch"
[collectionSize]="(searchResults$ | async)?.payload?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="groupsSearch" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.collectionOrCommunity' | translate}}</th>
<th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let group of (searchResults$ | async)?.payload?.page">
<td class="align-middle">{{group.id}}</td>
<td class="align-middle">
<a (click)="groupDataService.startEditingNewGroup(group)"
[routerLink]="[groupDataService.getGroupEditPageRouterLink(group)]">
{{ dsoNameService.getName(group) }}
</a>
</td>
<td class="align-middle">{{ dsoNameService.getName((group.object | async)?.payload) }}</td>
<td class="align-middle">
<div class="btn-group edit-field">
<button (click)="addSubgroupToGroup(group)"
@if ((searchResults$ | async)?.payload?.totalElements > 0) {
<ds-pagination
[paginationOptions]="configSearch"
[collectionSize]="(searchResults$ | async)?.payload?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="groupsSearch" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col" class="align-middle">{{messagePrefix + '.table.id' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.name' | translate}}</th>
<th scope="col" class="align-middle">{{messagePrefix + '.table.collectionOrCommunity' | translate}}</th>
<th class="align-middle">{{messagePrefix + '.table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
@for (group of (searchResults$ | async)?.payload?.page; track group) {
<tr>
<td class="align-middle">{{group.id}}</td>
<td class="align-middle">
<a (click)="groupDataService.startEditingNewGroup(group)"
[routerLink]="[groupDataService.getGroupEditPageRouterLink(group)]">
{{ dsoNameService.getName(group) }}
</a>
</td>
<td class="align-middle">{{ dsoNameService.getName((group.object | async)?.payload) }}</td>
<td class="align-middle">
<div class="btn-group edit-field">
<button (click)="addSubgroupToGroup(group)"
class="btn btn-outline-primary btn-sm addButton"
title="{{messagePrefix + '.table.edit.buttons.add' | translate: { name: dsoNameService.getName(group) } }}">
<i class="fas fa-plus fa-fw"></i>
</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</ds-pagination>
<i class="fas fa-plus fa-fw"></i>
</button>
</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</ds-pagination>
}
<div *ngIf="(searchResults$ | async)?.payload?.totalElements === 0 && searchDone" class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-items' | translate}}
</div>
@if ((searchResults$ | async)?.payload?.totalElements === 0 && searchDone) {
<div class="alert alert-info w-100 mb-2"
role="alert">
{{messagePrefix + '.no-items' | translate}}
</div>
}
</ng-container>

View File

@@ -31,7 +31,7 @@ import {
} from '@ngx-translate/core';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
import { EPersonMock2 } from 'src/app/shared/testing/eperson.mock';
@@ -108,7 +108,7 @@ describe('SubgroupsListComponent', () => {
subgroups: subgroups,
groupNonMembers: groupNonMembers,
getActiveGroup(): Observable<Group> {
return observableOf(this.activeGroup);
return of(this.activeGroup);
},
getSubgroups(): Group {
return this.subgroups;
@@ -138,7 +138,7 @@ describe('SubgroupsListComponent', () => {
this.groupNonMembers.splice(index, 1);
}
});
return observableOf(new RestResponse(true, 200, 'Success'));
return of(new RestResponse(true, 200, 'Success'));
},
clearGroupsRequests() {
// empty
@@ -155,7 +155,7 @@ describe('SubgroupsListComponent', () => {
});
// Add group to list of non-members
this.groupNonMembers = [...this.groupNonMembers, subgroupToDelete];
return observableOf(new RestResponse(true, 200, 'Success'));
return of(new RestResponse(true, 200, 'Success'));
},
};
routerStub = new RouterMock();

View File

@@ -1,8 +1,4 @@
import {
AsyncPipe,
NgForOf,
NgIf,
} from '@angular/common';
import { AsyncPipe } from '@angular/common';
import {
Component,
Input,
@@ -63,14 +59,12 @@ enum SubKey {
selector: 'ds-subgroups-list',
templateUrl: './subgroups-list.component.html',
imports: [
RouterLink,
AsyncPipe,
NgForOf,
ContextHelpDirective,
TranslateModule,
ReactiveFormsModule,
PaginationComponent,
NgIf,
ReactiveFormsModule,
RouterLink,
TranslateModule,
],
standalone: true,
})

View File

@@ -9,7 +9,7 @@ import {
} from '@angular/router';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
import { AuthService } from '../../core/auth/auth.service';
@@ -37,7 +37,7 @@ describe('GroupPageGuard', () => {
function init() {
halEndpointService = jasmine.createSpyObj(['getEndpoint']);
( halEndpointService as any ).getEndpoint.and.returnValue(observableOf(groupsEndpointUrl));
( halEndpointService as any ).getEndpoint.and.returnValue(of(groupsEndpointUrl));
authorizationService = jasmine.createSpyObj(['isAuthorized']);
// NOTE: value is set in beforeEach
@@ -46,7 +46,7 @@ describe('GroupPageGuard', () => {
( router as any ).parseUrl.and.returnValue = {};
authService = jasmine.createSpyObj(['isAuthenticated']);
( authService as any ).isAuthenticated.and.returnValue(observableOf(true));
( authService as any ).isAuthenticated.and.returnValue(of(true));
TestBed.configureTestingModule({
providers: [
@@ -69,7 +69,7 @@ describe('GroupPageGuard', () => {
describe('canActivate', () => {
describe('when the current user can manage the group', () => {
beforeEach(() => {
( authorizationService as any ).isAuthorized.and.returnValue(observableOf(true));
( authorizationService as any ).isAuthorized.and.returnValue(of(true));
});
it('should return true', (done) => {
@@ -89,7 +89,7 @@ describe('GroupPageGuard', () => {
describe('when the current user can not manage the group', () => {
beforeEach(() => {
(authorizationService as any).isAuthorized.and.returnValue(observableOf(false));
(authorizationService as any).isAuthorized.and.returnValue(of(false));
});
it('should not return true', (done) => {

View File

@@ -6,7 +6,7 @@ import {
} from '@angular/router';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
import { map } from 'rxjs/operators';
@@ -33,6 +33,6 @@ export const groupPageGuard = (
getObjectUrl = defaultGroupPageGetObjectUrl,
getEPersonUuid?: StringGuardParamFn,
): CanActivateFn => someFeatureAuthorizationGuard(
() => observableOf([FeatureID.CanManageGroup]),
() => of([FeatureID.CanManageGroup]),
getObjectUrl,
getEPersonUuid);

View File

@@ -4,21 +4,21 @@
<div class="d-flex justify-content-between border-bottom mb-3">
<h1 id="header" class="pb-2">{{messagePrefix + 'head' | translate}}</h1>
<div>
<button class="mr-auto btn btn-success"
[routerLink]="'create'">
<button class="me-auto btn btn-success"
[routerLink]="'create'">
<i class="fas fa-plus"></i>
<span class="d-none d-sm-inline ml-1">{{messagePrefix + 'button.add' | translate}}</span>
<span class="d-none d-sm-inline ms-1">{{messagePrefix + 'button.add' | translate}}</span>
</button>
</div>
</div>
<h2 id="search" class="border-bottom pb-2">{{messagePrefix + 'search.head' | translate}}</h2>
<form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)" class="d-flex justify-content-between">
<div class="flex-grow-1 mr-3">
<div class="form-group input-group">
<div class="flex-grow-1 me-3">
<div class="mb-3 input-group">
<input type="text" name="query" id="query" formControlName="query"
class="form-control" [attr.aria-label]="messagePrefix + 'search.placeholder' | translate"
[placeholder]="(messagePrefix + 'search.placeholder' | translate)" >
class="form-control" [attr.aria-label]="messagePrefix + 'search.placeholder' | translate"
[placeholder]="(messagePrefix + 'search.placeholder' | translate)" >
<span class="input-group-append">
<button type="submit" class="search-button btn btn-primary">
<i class="fas fa-search"></i> {{ messagePrefix + 'search.button' | translate }}
@@ -33,66 +33,78 @@
</div>
</form>
<ds-loading *ngIf="loading$ | async"></ds-loading>
<ds-pagination
*ngIf="(pageInfoState$ | async)?.totalElements > 0 && (loading$ | async) !== true"
[paginationOptions]="config"
[collectionSize]="(pageInfoState$ | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
@if (loading$ | async) {
<ds-loading></ds-loading>
}
@if ((pageInfoState$ | async)?.totalElements > 0 && (loading$ | async) !== true) {
<ds-pagination
[paginationOptions]="config"
[collectionSize]="(pageInfoState$ | async)?.totalElements"
[hideGear]="true"
[hidePagerWhenSinglePage]="true">
<div class="table-responsive">
<table id="groups" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col">{{messagePrefix + 'table.id' | translate}}</th>
<th scope="col">{{messagePrefix + 'table.name' | translate}}</th>
<th scope="col">{{messagePrefix + 'table.collectionOrCommunity' | translate}}</th>
<th scope="col">{{messagePrefix + 'table.members' | translate}}</th>
<th>{{messagePrefix + 'table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
@for (groupDto of (groupsDto$ | async)?.page; track groupDto) {
<tr>
<td>{{groupDto.group.id}}</td>
<td>{{ dsoNameService.getName(groupDto.group) }}</td>
<td>{{ dsoNameService.getName((groupDto.group.object | async)?.payload) }}</td>
<td>{{groupDto.epersons?.totalElements + groupDto.subgroups?.totalElements}}</td>
<td>
<div class="btn-group edit-field">
@switch (groupDto.ableToEdit) {
@case (true) {
<button
[routerLink]="groupService.getGroupEditPageRouterLink(groupDto.group)"
class="btn btn-outline-primary btn-sm btn-edit"
title="{{messagePrefix + 'table.edit.buttons.edit' | translate: {name: dsoNameService.getName(groupDto.group) } }}"
>
<i class="fas fa-edit fa-fw"></i>
</button>
}
@case (false) {
<button
[dsBtnDisabled]="true"
class="btn btn-outline-primary btn-sm btn-edit"
placement="left"
[ngbTooltip]="'admin.access-control.epeople.table.edit.buttons.edit-disabled' | translate"
>
<i class="fas fa-edit fa-fw"></i>
</button>
}
}
@if (!groupDto.group?.permanent && groupDto.ableToDelete) {
<button
(click)="confirmDelete(groupDto)" class="btn btn-outline-danger btn-sm btn-delete"
title="{{messagePrefix + 'table.edit.buttons.remove' | translate: {name: dsoNameService.getName(groupDto.group) } }}">
<i class="fas fa-trash-alt fa-fw"></i>
</button>
}
</div>
</td>
</tr>
}
</tbody>
</table>
</div>
</ds-pagination>
}
<div class="table-responsive">
<table id="groups" class="table table-striped table-hover table-bordered">
<thead>
<tr>
<th scope="col">{{messagePrefix + 'table.id' | translate}}</th>
<th scope="col">{{messagePrefix + 'table.name' | translate}}</th>
<th scope="col">{{messagePrefix + 'table.collectionOrCommunity' | translate}}</th>
<th scope="col">{{messagePrefix + 'table.members' | translate}}</th>
<th>{{messagePrefix + 'table.edit' | translate}}</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let groupDto of (groupsDto$ | async)?.page">
<td>{{groupDto.group.id}}</td>
<td>{{ dsoNameService.getName(groupDto.group) }}</td>
<td>{{ dsoNameService.getName((groupDto.group.object | async)?.payload) }}</td>
<td>{{groupDto.epersons?.totalElements + groupDto.subgroups?.totalElements}}</td>
<td>
<div class="btn-group edit-field">
<ng-container [ngSwitch]="groupDto.ableToEdit">
<button *ngSwitchCase="true"
[routerLink]="groupService.getGroupEditPageRouterLink(groupDto.group)"
class="btn btn-outline-primary btn-sm btn-edit"
title="{{messagePrefix + 'table.edit.buttons.edit' | translate: {name: dsoNameService.getName(groupDto.group) } }}"
>
<i class="fas fa-edit fa-fw"></i>
</button>
<button *ngSwitchCase="false"
[disabled]="true"
class="btn btn-outline-primary btn-sm btn-edit"
placement="left"
[ngbTooltip]="'admin.access-control.epeople.table.edit.buttons.edit-disabled' | translate"
>
<i class="fas fa-edit fa-fw"></i>
</button>
</ng-container>
<button *ngIf="!groupDto.group?.permanent && groupDto.ableToDelete"
(click)="deleteGroup(groupDto)" class="btn btn-outline-danger btn-sm btn-delete"
title="{{messagePrefix + 'table.edit.buttons.remove' | translate: {name: dsoNameService.getName(groupDto.group) } }}">
<i class="fas fa-trash-alt fa-fw"></i>
</button>
</div>
</td>
</tr>
</tbody>
</table>
@if ((pageInfoState$ | async)?.totalElements === 0) {
<div class="alert alert-info w-100 mb-2" role="alert">
{{messagePrefix + 'no-items' | translate}}
</div>
</ds-pagination>
<div *ngIf="(pageInfoState$ | async)?.totalElements === 0" class="alert alert-info w-100 mb-2" role="alert">
{{messagePrefix + 'no-items' | translate}}
</div>
}
</div>
</div>

View File

@@ -25,7 +25,6 @@ import { provideMockStore } from '@ngrx/store/testing';
import { TranslateModule } from '@ngx-translate/core';
import {
Observable,
of as observableOf,
of,
} from 'rxjs';
@@ -50,6 +49,7 @@ import { RouteService } from '../../core/services/route.service';
import { DSpaceObject } from '../../core/shared/dspace-object.model';
import { NoContent } from '../../core/shared/NoContent.model';
import { PageInfo } from '../../core/shared/page-info.model';
import { BtnDisabledDirective } from '../../shared/btn-disabled.directive';
import {
DSONameServiceMock,
UNDEFINED_NAME,
@@ -94,11 +94,11 @@ describe('GroupsRegistryComponent', () => {
(authorizationService as any).isAuthorized.and.callFake((featureId?: FeatureID) => {
switch (featureId) {
case FeatureID.AdministratorOf:
return observableOf(isAdmin);
return of(isAdmin);
case FeatureID.CanManageGroup:
return observableOf(canManageGroup);
return of(canManageGroup);
case FeatureID.CanDelete:
return observableOf(true);
return of(true);
default:
throw new Error(`setIsAuthorized: this fake implementation does not support ${featureId}.`);
}
@@ -208,6 +208,7 @@ describe('GroupsRegistryComponent', () => {
imports: [CommonModule, NgbModule, FormsModule, ReactiveFormsModule, BrowserModule,
TranslateModule.forRoot(),
GroupsRegistryComponent,
BtnDisabledDirective,
],
providers: [GroupsRegistryComponent,
{ provide: DSONameService, useValue: new DSONameServiceMock() },
@@ -278,7 +279,8 @@ describe('GroupsRegistryComponent', () => {
const editButtonsFound = fixture.debugElement.queryAll(By.css('#groups tr td:nth-child(5) button.btn-edit'));
expect(editButtonsFound.length).toEqual(2);
editButtonsFound.forEach((editButtonFound) => {
expect(editButtonFound.nativeElement.disabled).toBeFalse();
expect(editButtonFound.nativeElement.getAttribute('aria-disabled')).toBeNull();
expect(editButtonFound.nativeElement.classList.contains('disabled')).toBeFalse();
});
});
@@ -312,7 +314,8 @@ describe('GroupsRegistryComponent', () => {
const editButtonsFound = fixture.debugElement.queryAll(By.css('#groups tr td:nth-child(5) button.btn-edit'));
expect(editButtonsFound.length).toEqual(2);
editButtonsFound.forEach((editButtonFound) => {
expect(editButtonFound.nativeElement.disabled).toBeFalse();
expect(editButtonFound.nativeElement.getAttribute('aria-disabled')).toBeNull();
expect(editButtonFound.nativeElement.classList.contains('disabled')).toBeFalse();
});
});
});
@@ -331,7 +334,8 @@ describe('GroupsRegistryComponent', () => {
const editButtonsFound = fixture.debugElement.queryAll(By.css('#groups tr td:nth-child(5) button.btn-edit'));
expect(editButtonsFound.length).toEqual(2);
editButtonsFound.forEach((editButtonFound) => {
expect(editButtonFound.nativeElement.disabled).toBeTrue();
expect(editButtonFound.nativeElement.getAttribute('aria-disabled')).toBe('true');
expect(editButtonFound.nativeElement.classList.contains('disabled')).toBeTrue();
});
});
});
@@ -377,6 +381,8 @@ describe('GroupsRegistryComponent', () => {
deleteButton.click();
fixture.detectChanges();
(document as any).querySelector('.modal-footer .confirm').click();
expect(groupsDataServiceStub.delete).toHaveBeenCalledWith(mockGroups[0].id);
});
});

View File

@@ -1,10 +1,4 @@
import {
AsyncPipe,
NgForOf,
NgIf,
NgSwitch,
NgSwitchCase,
} from '@angular/common';
import { AsyncPipe } from '@angular/common';
import {
Component,
OnDestroy,
@@ -15,7 +9,10 @@ import {
UntypedFormBuilder,
} from '@angular/forms';
import { RouterLink } from '@angular/router';
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
import {
NgbModal,
NgbTooltipModule,
} from '@ng-bootstrap/ng-bootstrap';
import {
TranslateModule,
TranslateService,
@@ -25,7 +22,7 @@ import {
combineLatest as observableCombineLatest,
EMPTY,
Observable,
of as observableOf,
of,
Subscription,
} from 'rxjs';
import {
@@ -33,6 +30,7 @@ import {
defaultIfEmpty,
map,
switchMap,
takeUntil,
tap,
} from 'rxjs/operators';
@@ -62,6 +60,8 @@ import {
getRemoteDataPayload,
} from '../../core/shared/operators';
import { PageInfo } from '../../core/shared/page-info.model';
import { BtnDisabledDirective } from '../../shared/btn-disabled.directive';
import { ConfirmationModalComponent } from '../../shared/confirmation-modal/confirmation-modal.component';
import { hasValue } from '../../shared/empty.util';
import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component';
import { NotificationsService } from '../../shared/notifications/notifications.service';
@@ -73,17 +73,14 @@ import { followLink } from '../../shared/utils/follow-link-config.model';
selector: 'ds-groups-registry',
templateUrl: './groups-registry.component.html',
imports: [
AsyncPipe,
BtnDisabledDirective,
NgbTooltipModule,
PaginationComponent,
ReactiveFormsModule,
RouterLink,
ThemedLoadingComponent,
TranslateModule,
RouterLink,
ReactiveFormsModule,
AsyncPipe,
NgIf,
PaginationComponent,
NgSwitch,
NgSwitchCase,
NgbTooltipModule,
NgForOf,
],
standalone: true,
})
@@ -150,6 +147,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy {
private paginationService: PaginationService,
public requestService: RequestService,
public dsoNameService: DSONameService,
private modalService: NgbModal,
) {
this.currentSearchQuery = '';
this.searchForm = this.formBuilder.group(({
@@ -187,7 +185,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy {
getRemoteDataPayload(),
switchMap((groups: PaginatedList<Group>) => {
if (groups.page.length === 0) {
return observableOf(buildPaginatedList(groups.pageInfo, []));
return of(buildPaginatedList(groups.pageInfo, []));
}
return this.authorizationService.isAuthorized(FeatureID.AdministratorOf).pipe(
switchMap((isSiteAdmin: boolean) => {
@@ -232,7 +230,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy {
canManageGroup$(isSiteAdmin: boolean, group: Group): Observable<boolean> {
if (isSiteAdmin) {
return observableOf(true);
return of(true);
} else {
return this.authorizationService.isAuthorized(FeatureID.CanManageGroup, group.self);
}
@@ -291,7 +289,7 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy {
return this.dSpaceObjectDataService.findByHref(group._links.object.href).pipe(
getFirstSucceededRemoteData(),
map((rd: RemoteData<DSpaceObject>) => hasValue(rd) && hasValue(rd.payload)),
catchError(() => observableOf(false)),
catchError(() => of(false)),
);
}
@@ -322,4 +320,30 @@ export class GroupsRegistryComponent implements OnInit, OnDestroy {
this.paginationService.clearPagination(this.config.id);
}
confirmDelete(group: GroupDtoModel): void {
const modalRef = this.modalService.open(ConfirmationModalComponent);
modalRef.componentInstance.name = this.dsoNameService.getName(group.group);
modalRef.componentInstance.headerLabel = 'admin.access-control.epeople.table.edit.buttons.remove.modal.header';
modalRef.componentInstance.infoLabel = 'admin.access-control.epeople.table.edit.buttons.remove.modal.info';
modalRef.componentInstance.cancelLabel = 'admin.access-control.epeople.table.edit.buttons.remove.modal.cancel';
modalRef.componentInstance.confirmLabel = 'admin.access-control.epeople.table.edit.buttons.remove.modal.confirm';
modalRef.componentInstance.brandColor = 'danger';
modalRef.componentInstance.confirmIcon = 'fas fa-trash';
const modalSub: Subscription = modalRef.componentInstance.response.pipe(
takeUntil(modalRef.closed),
).subscribe((result: boolean) => {
if (result === true) {
this.deleteGroup(group);
}
});
void modalRef.result.then().finally(() => {
modalRef.close();
if (modalSub && !modalSub.closed) {
modalSub.unsubscribe();
}
});
}
}

View File

@@ -0,0 +1,11 @@
import { Config } from '../../config/config.interface';
/**
* Configuration interface used by the AccessibilitySettingsService
*/
export class AccessibilitySettingsConfig implements Config {
/**
* The duration in days after which the accessibility settings cookie expires
*/
cookieExpirationDuration: number;
}

View File

@@ -0,0 +1,419 @@
import {
fakeAsync,
flush,
} from '@angular/core/testing';
import { of } from 'rxjs';
import { AppConfig } from '../../config/app-config.interface';
import { AuthService } from '../core/auth/auth.service';
import { EPersonDataService } from '../core/eperson/eperson-data.service';
import { EPerson } from '../core/eperson/models/eperson.model';
import { CookieService } from '../core/services/cookie.service';
import { OrejimeServiceStub } from '../shared/cookies/orejime.service.stub';
import { CookieServiceMock } from '../shared/mocks/cookie.service.mock';
import {
createFailedRemoteDataObject$,
createSuccessfulRemoteDataObject$,
} from '../shared/remote-data.utils';
import { AuthServiceStub } from '../shared/testing/auth-service.stub';
import {
ACCESSIBILITY_COOKIE,
ACCESSIBILITY_SETTINGS_METADATA_KEY,
AccessibilitySettings,
AccessibilitySettingsFormValues,
AccessibilitySettingsService,
FullAccessibilitySettings,
} from './accessibility-settings.service';
describe('accessibilitySettingsService', () => {
let service: AccessibilitySettingsService;
let cookieService: CookieServiceMock;
let authService: AuthServiceStub;
let ePersonService: EPersonDataService;
let orejimeService: OrejimeServiceStub;
let appConfig: AppConfig;
beforeEach(() => {
cookieService = new CookieServiceMock();
authService = new AuthServiceStub();
orejimeService = new OrejimeServiceStub();
appConfig = { accessibility: { cookieExpirationDuration: 10 } } as AppConfig;
orejimeService.getSavedPreferences.and.returnValue(of({ accessibility: true }));
ePersonService = jasmine.createSpyObj('ePersonService', {
createPatchFromCache: of([{
op: 'add',
value: null,
}]),
patch: of({}),
});
service = new AccessibilitySettingsService(
cookieService as unknown as CookieService,
authService as unknown as AuthService,
ePersonService,
orejimeService,
appConfig,
);
});
describe('get', () => {
it('should return the setting if it is set', () => {
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.getAll = jasmine.createSpy('getAll').and.returnValue(of(settings));
service.get('notificationTimeOut', 'default').subscribe(value =>
expect(value).toEqual('1000'),
);
});
it('should return the default value if the setting is not set', () => {
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.getAll = jasmine.createSpy('getAll').and.returnValue(of(settings));
service.get('liveRegionTimeOut', 'default').subscribe(value =>
expect(value).toEqual('default'),
);
});
});
describe('getAsNumber', () => {
it('should return the setting as number if the value for the setting can be parsed to a number', () => {
service.get = jasmine.createSpy('get').and.returnValue(of('1000'));
service.getAsNumber('notificationTimeOut').subscribe(value =>
expect(value).toEqual(1000),
);
});
it('should return the default value if no value is set for the setting', () => {
service.get = jasmine.createSpy('get').and.returnValue(of(null));
service.getAsNumber('notificationTimeOut', 123).subscribe(value =>
expect(value).toEqual(123),
);
});
it('should return the default value if the value for the setting can not be parsed to a number', () => {
service.get = jasmine.createSpy('get').and.returnValue(of('text'));
service.getAsNumber('notificationTimeOut', 123).subscribe(value =>
expect(value).toEqual(123),
);
});
});
describe('getAll', () => {
it('should attempt to get the settings from metadata first', () => {
service.getAllSettingsFromAuthenticatedUserMetadata =
jasmine.createSpy('getAllSettingsFromAuthenticatedUserMetadata').and.returnValue(of({ }));
service.getAll().subscribe();
expect(service.getAllSettingsFromAuthenticatedUserMetadata).toHaveBeenCalled();
});
it('should attempt to get the settings from the cookie if the settings from metadata are empty', () => {
service.getAllSettingsFromAuthenticatedUserMetadata =
jasmine.createSpy('getAllSettingsFromAuthenticatedUserMetadata').and.returnValue(of({ }));
service.getAllSettingsFromCookie = jasmine.createSpy('getAllSettingsFromCookie').and.returnValue({ });
service.getAll().subscribe();
expect(service.getAllSettingsFromCookie).toHaveBeenCalled();
});
it('should not attempt to get the settings from the cookie if the settings from metadata are not empty', () => {
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.getAllSettingsFromAuthenticatedUserMetadata =
jasmine.createSpy('getAllSettingsFromAuthenticatedUserMetadata').and.returnValue(of(settings));
service.getAllSettingsFromCookie = jasmine.createSpy('getAllSettingsFromCookie').and.returnValue({ });
service.getAll().subscribe();
expect(service.getAllSettingsFromCookie).not.toHaveBeenCalled();
});
it('should return an empty object if both are empty', () => {
service.getAllSettingsFromAuthenticatedUserMetadata =
jasmine.createSpy('getAllSettingsFromAuthenticatedUserMetadata').and.returnValue(of({ }));
service.getAllSettingsFromCookie = jasmine.createSpy('getAllSettingsFromCookie').and.returnValue({ });
service.getAll().subscribe(value => expect(value).toEqual({}));
});
});
describe('getAllSettingsFromCookie', () => {
it('should retrieve the settings from the cookie', () => {
cookieService.get = jasmine.createSpy();
service.getAllSettingsFromCookie();
expect(cookieService.get).toHaveBeenCalledWith(ACCESSIBILITY_COOKIE);
});
});
describe('getAllSettingsFromAuthenticatedUserMetadata', () => {
it('should retrieve all settings from the user\'s metadata', () => {
const settings = { 'liveRegionTimeOut': '1000' };
const user = new EPerson();
user.setMetadata(ACCESSIBILITY_SETTINGS_METADATA_KEY, null, JSON.stringify(settings));
authService.getAuthenticatedUserFromStoreIfAuthenticated =
jasmine.createSpy('getAuthenticatedUserFromStoreIfAuthenticated').and.returnValue(of(user));
service.getAllSettingsFromAuthenticatedUserMetadata().subscribe(value =>
expect(value).toEqual(settings),
);
});
});
describe('set', () => {
it('should correctly update the chosen setting', () => {
service.updateSettings = jasmine.createSpy('updateSettings');
service.set('liveRegionTimeOut', '500');
expect(service.updateSettings).toHaveBeenCalledWith({ liveRegionTimeOut: '500' });
});
});
describe('setSettings', () => {
beforeEach(() => {
service.setSettingsInCookie = jasmine.createSpy('setSettingsInCookie').and.returnValue(of('cookie'));
});
it('should attempt to set settings in metadata', () => {
service.setSettingsInAuthenticatedUserMetadata =
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('failed'));
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.setSettings(settings).subscribe();
expect(service.setSettingsInAuthenticatedUserMetadata).toHaveBeenCalledWith(settings);
});
it('should set settings in cookie if metadata failed', () => {
service.setSettingsInAuthenticatedUserMetadata =
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(false));
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.setSettings(settings).subscribe();
expect(service.setSettingsInCookie).toHaveBeenCalled();
});
it('should not set settings in cookie if metadata succeeded', () => {
service.setSettingsInAuthenticatedUserMetadata =
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('metadata'));
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.setSettings(settings).subscribe();
expect(service.setSettingsInCookie).not.toHaveBeenCalled();
});
it('should return \'metadata\' if settings are stored in metadata', () => {
service.setSettingsInAuthenticatedUserMetadata =
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of('metadata'));
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.setSettings(settings).subscribe(value =>
expect(value).toEqual('metadata'),
);
});
it('should return \'cookie\' if settings are stored in cookie', () => {
service.setSettingsInAuthenticatedUserMetadata =
jasmine.createSpy('setSettingsInAuthenticatedUserMetadata').and.returnValue(of(false));
const settings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.setSettings(settings).subscribe(value =>
expect(value).toEqual('cookie'),
);
});
});
describe('updateSettings', () => {
it('should call setSettings with the updated settings', () => {
const beforeSettings: AccessibilitySettings = {
notificationTimeOut: '1000',
};
service.getAll = jasmine.createSpy('getAll').and.returnValue(of(beforeSettings));
service.setSettings = jasmine.createSpy('setSettings').and.returnValue(of('cookie'));
const newSettings: AccessibilitySettings = {
liveRegionTimeOut: '2000',
};
const combinedSettings: AccessibilitySettings = {
notificationTimeOut: '1000',
liveRegionTimeOut: '2000',
};
service.updateSettings(newSettings).subscribe();
expect(service.setSettings).toHaveBeenCalledWith(combinedSettings);
});
});
describe('setSettingsInAuthenticatedUserMetadata', () => {
beforeEach(() => {
service.setSettingsInMetadata = jasmine.createSpy('setSettingsInMetadata').and.returnValue(of(null));
});
it('should store settings in metadata when the user is authenticated', fakeAsync(() => {
const user = new EPerson();
authService.getAuthenticatedUserFromStoreIfAuthenticated = jasmine.createSpy().and.returnValue(of(user));
service.setSettingsInAuthenticatedUserMetadata({}).subscribe();
flush();
expect(service.setSettingsInMetadata).toHaveBeenCalled();
}));
it('should emit "failed" when the user is not authenticated', fakeAsync(() => {
authService.getAuthenticatedUserFromStoreIfAuthenticated = jasmine.createSpy().and.returnValue(of(null));
service.setSettingsInAuthenticatedUserMetadata({})
.subscribe(value => expect(value).toEqual('failed'));
flush();
expect(service.setSettingsInMetadata).not.toHaveBeenCalled();
}));
});
describe('setSettingsInMetadata', () => {
const ePerson = new EPerson();
beforeEach(() => {
ePerson.setMetadata = jasmine.createSpy('setMetadata');
ePerson.removeMetadata = jasmine.createSpy('removeMetadata');
});
it('should set the settings in metadata', () => {
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' }).subscribe();
expect(ePerson.setMetadata).toHaveBeenCalled();
});
it('should remove the metadata when the settings are emtpy', () => {
service.setSettingsInMetadata(ePerson, {}).subscribe();
expect(ePerson.setMetadata).not.toHaveBeenCalled();
expect(ePerson.removeMetadata).toHaveBeenCalled();
});
it('should create a patch with the metadata changes', () => {
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' }).subscribe();
expect(ePersonService.createPatchFromCache).toHaveBeenCalled();
});
it('should send the patch request', () => {
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' }).subscribe();
expect(ePersonService.patch).toHaveBeenCalled();
});
it('should emit "metadata" when the update succeeded', fakeAsync(() => {
ePersonService.patch = jasmine.createSpy().and.returnValue(createSuccessfulRemoteDataObject$({}));
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
.subscribe(value => {
expect(value).toEqual('metadata');
});
flush();
}));
it('should emit "failed" when the update failed', fakeAsync(() => {
ePersonService.patch = jasmine.createSpy().and.returnValue(createFailedRemoteDataObject$());
service.setSettingsInMetadata(ePerson, { ['liveRegionTimeOut']: '500' })
.subscribe(value => {
expect(value).toEqual('failed');
});
flush();
}));
});
describe('setSettingsInCookie', () => {
beforeEach(() => {
cookieService.set = jasmine.createSpy('set');
cookieService.remove = jasmine.createSpy('remove');
});
it('should fail to store settings in the cookie when the user has not accepted the cookie', fakeAsync(() => {
orejimeService.getSavedPreferences.and.returnValue(of({ accessibility: false }));
service.setSettingsInCookie({ ['liveRegionTimeOut']: '500' }).subscribe(value => {
expect(value).toEqual('failed');
});
flush();
expect(cookieService.set).not.toHaveBeenCalled();
}));
it('should store the settings in a cookie', fakeAsync(() => {
service.setSettingsInCookie({ ['liveRegionTimeOut']: '500' }).subscribe(value => {
expect(value).toEqual('cookie');
});
flush();
expect(cookieService.set).toHaveBeenCalled();
}));
it('should remove the cookie when the settings are empty', fakeAsync(() => {
service.setSettingsInCookie({}).subscribe(value => {
expect(value).toEqual('cookie');
});
flush();
expect(cookieService.set).not.toHaveBeenCalled();
expect(cookieService.remove).toHaveBeenCalled();
}));
});
describe('convertFormValuesToStoredValues', () => {
it('should reset the notificationTimeOut when timeOut is enabled but set to "0"', () => {
const formValues: AccessibilitySettingsFormValues = {
notificationTimeOutEnabled: true,
notificationTimeOut: '0',
liveRegionTimeOut: null,
};
const storedValues: FullAccessibilitySettings = service.convertFormValuesToStoredValues(formValues);
expect('notificationTimeOut' in storedValues).toBeFalse();
});
});
it('should keep the notificationTimeOut when timeOut is enabled and differs from "0"', () => {
const formValues: AccessibilitySettingsFormValues = {
notificationTimeOutEnabled: true,
notificationTimeOut: '3',
liveRegionTimeOut: null,
};
const storedValues: FullAccessibilitySettings = service.convertFormValuesToStoredValues(formValues);
expect('notificationTimeOut' in storedValues).toBeTrue();
});
});

View File

@@ -0,0 +1,45 @@
import { of } from 'rxjs';
import { AccessibilitySettingsService } from './accessibility-settings.service';
export function getAccessibilitySettingsServiceStub(): AccessibilitySettingsService {
return new AccessibilitySettingsServiceStub() as unknown as AccessibilitySettingsService;
}
export class AccessibilitySettingsServiceStub {
getAllAccessibilitySettingKeys = jasmine.createSpy('getAllAccessibilitySettingKeys').and.returnValue([]);
get = jasmine.createSpy('get').and.returnValue(of(null));
getAsNumber = jasmine.createSpy('getAsNumber').and.returnValue(of(0));
getAll = jasmine.createSpy('getAll').and.returnValue(of({}));
getAllSettingsFromCookie = jasmine.createSpy('getAllSettingsFromCookie').and.returnValue({});
getAllSettingsFromAuthenticatedUserMetadata = jasmine.createSpy('getAllSettingsFromAuthenticatedUserMetadata')
.and.returnValue(of({}));
set = jasmine.createSpy('setSettings').and.returnValue(of('cookie'));
updateSettings = jasmine.createSpy('updateSettings').and.returnValue(of('cookie'));
setSettingsInAuthenticatedUserMetadata = jasmine.createSpy('setSettingsInAuthenticatedUserMetadata')
.and.returnValue(of(false));
setSettingsInMetadata = jasmine.createSpy('setSettingsInMetadata').and.returnValue(of(false));
setSettingsInCookie = jasmine.createSpy('setSettingsInCookie');
getInputType = jasmine.createSpy('getInputType').and.returnValue('text');
convertFormValuesToStoredValues = jasmine.createSpy('convertFormValuesToStoredValues').and.returnValue({});
convertStoredValuesToFormValues = jasmine.createSpy('convertStoredValuesToFormValues').and.returnValue({});
getDefaultValue = jasmine.createSpy('getPlaceholder').and.returnValue('placeholder');
isValid = jasmine.createSpy('isValid').and.returnValue(true);
formValuesValid = jasmine.createSpy('allValid').and.returnValue(true);
}

View File

@@ -0,0 +1,381 @@
import {
Inject,
Injectable,
Optional,
} from '@angular/core';
import cloneDeep from 'lodash/cloneDeep';
import {
combineLatest,
Observable,
of,
switchMap,
} from 'rxjs';
import {
map,
take,
} from 'rxjs/operators';
import {
APP_CONFIG,
AppConfig,
} from '../../config/app-config.interface';
import { environment } from '../../environments/environment';
import { AuthService } from '../core/auth/auth.service';
import { EPersonDataService } from '../core/eperson/eperson-data.service';
import { EPerson } from '../core/eperson/models/eperson.model';
import { CookieService } from '../core/services/cookie.service';
import { getFirstCompletedRemoteData } from '../core/shared/operators';
import { OrejimeService } from '../shared/cookies/orejime.service';
import {
hasNoValue,
hasValue,
isNotEmpty,
} from '../shared/empty.util';
import { createSuccessfulRemoteDataObject$ } from '../shared/remote-data.utils';
/**
* Name of the cookie used to store the settings locally
*/
export const ACCESSIBILITY_COOKIE = 'dsAccessibilityCookie';
/**
* Name of the metadata field to store settings on the ePerson
*/
export const ACCESSIBILITY_SETTINGS_METADATA_KEY = 'dspace.accessibility.settings';
/**
* Array containing all possible accessibility settings.
* When adding new settings, make sure to add the new setting to the accessibility-settings component form.
* The converter methods to convert from stored format to form format (and vice-versa) need to be updated as well.
*/
export const accessibilitySettingKeys = ['notificationTimeOut', 'liveRegionTimeOut'] as const;
/**
* Type representing the possible accessibility settings
*/
export type AccessibilitySetting = typeof accessibilitySettingKeys[number];
/**
* Type representing an object that contains accessibility settings values for all accessibility settings.
*/
export type FullAccessibilitySettings = { [key in AccessibilitySetting]: string };
/**
* Type representing an object that contains accessibility settings values for some accessibility settings.
*/
export type AccessibilitySettings = Partial<FullAccessibilitySettings>;
/**
* The accessibility settings object format used by the accessibility-settings component form.
*/
export interface AccessibilitySettingsFormValues {
notificationTimeOutEnabled: boolean,
notificationTimeOut: string,
liveRegionTimeOut: string,
}
/**
* Service handling the retrieval and configuration of accessibility settings.
*
* This service stores the configured settings in either a cookie or on the user's metadata depending on whether
* the user is authenticated.
*/
@Injectable({
providedIn: 'root',
})
export class AccessibilitySettingsService {
constructor(
protected cookieService: CookieService,
protected authService: AuthService,
protected ePersonService: EPersonDataService,
@Optional() protected orejimeService: OrejimeService,
@Inject(APP_CONFIG) protected appConfig: AppConfig,
) {
}
/**
* Get the stored value for the provided {@link AccessibilitySetting}. If the value does not exist or if it is empty,
* the provided defaultValue is emitted instead.
*/
get(setting: AccessibilitySetting, defaultValue: string = null): Observable<string> {
return this.getAll().pipe(
map(settings => settings[setting]),
map(value => isNotEmpty(value) ? value : defaultValue),
);
}
/**
* Get the stored value for the provided {@link AccessibilitySetting} as a number. If the stored value
* could not be converted to a number, the value of the defaultValue parameter is emitted instead.
*/
getAsNumber(setting: AccessibilitySetting, defaultValue: number = null): Observable<number> {
return this.get(setting).pipe(
map(value => hasValue(value) ? parseInt(value, 10) : NaN),
map(number => !isNaN(number) ? number : defaultValue),
);
}
/**
* Get all currently stored accessibility settings
*/
getAll(): Observable<AccessibilitySettings> {
return this.getAllSettingsFromAuthenticatedUserMetadata().pipe(
map(value => isNotEmpty(value) ? value : this.getAllSettingsFromCookie()),
map(value => isNotEmpty(value) ? value : {}),
);
}
/**
* Get all settings from the accessibility settings cookie
*/
getAllSettingsFromCookie(): AccessibilitySettings {
return this.cookieService.get(ACCESSIBILITY_COOKIE);
}
/**
* Attempts to retrieve all settings from the authenticated user's metadata.
* Returns an empty object when no user is authenticated.
*/
getAllSettingsFromAuthenticatedUserMetadata(): Observable<AccessibilitySettings> {
return this.authService.getAuthenticatedUserFromStoreIfAuthenticated().pipe(
take(1),
map(user => hasValue(user) && hasValue(user.firstMetadataValue(ACCESSIBILITY_SETTINGS_METADATA_KEY)) ?
JSON.parse(user.firstMetadataValue(ACCESSIBILITY_SETTINGS_METADATA_KEY)) :
{},
),
);
}
/**
* Set a single accessibility setting value, leaving all other settings unchanged.
* When setting all values, {@link AccessibilitySettingsService#setSettings} should be used.
* When updating multiple values, {@link AccessibilitySettingsService#updateSettings} should be used.
*
* Returns 'cookie' when the changes were stored in the cookie.
* Returns 'metadata' when the changes were stored in metadata.
* Returns 'failed' when both options failed.
*/
set(setting: AccessibilitySetting, value: string): Observable<'metadata' | 'cookie' | 'failed'> {
return this.updateSettings({ [setting]: value });
}
/**
* Set all accessibility settings simultaneously.
* This method removes existing settings if they are missing from the provided {@link AccessibilitySettings} object.
* Removes all settings if the provided object is empty.
*
* Returns 'cookie' when the changes were stored in the cookie.
* Returns 'metadata' when the changes were stored in metadata.
* Returns 'failed' when both options failed.
*/
setSettings(settings: AccessibilitySettings): Observable<'metadata' | 'cookie' | 'failed'> {
return this.setSettingsInAuthenticatedUserMetadata(settings).pipe(
take(1),
map(saveLocation => saveLocation === 'metadata'),
switchMap((savedInMetadata) =>
savedInMetadata ? ofMetadata() : this.setSettingsInCookie(settings),
),
);
}
/**
* Update multiple accessibility settings simultaneously.
* This method does not change the settings that are missing from the provided {@link AccessibilitySettings} object.
*
* Returns 'cookie' when the changes were stored in the cookie.
* Returns 'metadata' when the changes were stored in metadata.
* Returns 'failed' when both options failed.
*/
updateSettings(settings: AccessibilitySettings): Observable<'metadata' | 'cookie' | 'failed'> {
return this.getAll().pipe(
take(1),
map(currentSettings => Object.assign({}, currentSettings, settings)),
switchMap(newSettings => this.setSettings(newSettings)),
);
}
/**
* Attempts to set the provided settings on the currently authorized user's metadata.
* Emits false when no user is authenticated or when the metadata update failed.
* Emits 'metadata' when the metadata update succeeded, and 'failed' otherwise.
*/
setSettingsInAuthenticatedUserMetadata(settings: AccessibilitySettings): Observable<'metadata' | 'failed'> {
return this.authService.getAuthenticatedUserFromStoreIfAuthenticated().pipe(
take(1),
switchMap(user => {
if (hasValue(user)) {
// EPerson has to be cloned, otherwise the EPerson's metadata can't be modified
const clonedUser = cloneDeep(user);
return this.setSettingsInMetadata(clonedUser, settings);
} else {
return ofFailed();
}
}),
);
}
/**
* Attempts to set the provided settings on the user's metadata.
* Emits false when the update failed, true when the update succeeded.
*/
setSettingsInMetadata(
user: EPerson,
settings: AccessibilitySettings,
): Observable<'metadata' | 'failed'> {
if (isNotEmpty(settings)) {
user.setMetadata(ACCESSIBILITY_SETTINGS_METADATA_KEY, null, JSON.stringify(settings));
} else {
user.removeMetadata(ACCESSIBILITY_SETTINGS_METADATA_KEY);
}
return this.ePersonService.createPatchFromCache(user).pipe(
take(1),
switchMap(operations =>
isNotEmpty(operations) ? this.ePersonService.patch(user, operations) : createSuccessfulRemoteDataObject$({})),
getFirstCompletedRemoteData(),
switchMap(rd => rd.hasSucceeded ? ofMetadata() : ofFailed()),
);
}
/**
* Attempts to set the provided settings in a cookie.
* Emits 'failed' when setting in a cookie failed due to the cookie not being accepted, 'cookie' when it succeeded.
*/
setSettingsInCookie(settings: AccessibilitySettings): Observable<'cookie' | 'failed'> {
if (hasNoValue(this.orejimeService)) {
return of('failed');
}
return this.orejimeService.getSavedPreferences().pipe(
map(preferences => preferences.accessibility),
map((accessibilityCookieAccepted: boolean) => {
if (accessibilityCookieAccepted) {
if (isNotEmpty(settings)) {
this.cookieService.set(ACCESSIBILITY_COOKIE, settings, { expires: this.appConfig.accessibility.cookieExpirationDuration });
} else {
this.cookieService.remove(ACCESSIBILITY_COOKIE);
}
return 'cookie';
} else {
return 'failed';
}
}),
);
}
/**
* Clears all settings in the cookie and attempts to clear settings in metadata.
* Emits an array mentioning which settings succeeded or failed.
*/
clearSettings(): Observable<['cookie' | 'failed', 'metadata' | 'failed']> {
return combineLatest([
this.setSettingsInCookie({}),
this.setSettingsInAuthenticatedUserMetadata({}),
]);
}
/**
* Retrieve the default value to be used for the provided AccessibilitySetting.
* Returns an empty string when no default value is specified for the provided setting.
*/
getDefaultValue(setting: AccessibilitySetting): string {
switch (setting) {
case 'notificationTimeOut':
return millisecondsToSeconds(environment.notifications.timeOut.toString());
case 'liveRegionTimeOut':
return millisecondsToSeconds(environment.liveRegion.messageTimeOutDurationMs.toString());
default:
return '';
}
}
/**
* Convert values in the provided accessibility settings object to values ready to be stored.
*/
convertFormValuesToStoredValues(settings: AccessibilitySettingsFormValues): FullAccessibilitySettings {
const storedValues = {
notificationTimeOut: settings.notificationTimeOutEnabled ?
secondsToMilliseconds(settings.notificationTimeOut) : '0',
liveRegionTimeOut: secondsToMilliseconds(settings.liveRegionTimeOut),
};
// When the user enables the timeout but does not change the timeout duration from 0,
// it is removed from the values to be stored so the default value is used.
// Keeping it at 0 would mean the notifications are not automatically removed.
if (settings.notificationTimeOutEnabled && settings.notificationTimeOut === '0') {
delete storedValues.notificationTimeOut;
}
return storedValues;
}
/**
* Convert values in the provided accessibility settings object to values ready to show in the form.
*/
convertStoredValuesToFormValues(settings: AccessibilitySettings): AccessibilitySettingsFormValues {
return {
notificationTimeOutEnabled: parseFloat(settings.notificationTimeOut) !== 0,
notificationTimeOut: millisecondsToSeconds(settings.notificationTimeOut),
liveRegionTimeOut: millisecondsToSeconds(settings.liveRegionTimeOut),
};
}
/**
* Returns true if the provided AccessibilitySetting is valid in regard to the provided formValues.
*/
isValid(setting: AccessibilitySetting, formValues: AccessibilitySettingsFormValues): boolean {
switch (setting) {
case 'notificationTimeOut':
return formValues.notificationTimeOutEnabled ?
hasNoValue(formValues.notificationTimeOut) || parseFloat(formValues.notificationTimeOut) > 0 :
true;
case 'liveRegionTimeOut':
return hasNoValue(formValues.liveRegionTimeOut) || parseFloat(formValues.liveRegionTimeOut) > 0;
default:
throw new Error(`Unhandled accessibility setting during validity check: ${setting}`);
}
}
/**
* Returns true if all settings in the provided AccessibilitySettingsFormValues object are valid
*/
formValuesValid(formValues: AccessibilitySettingsFormValues) {
return accessibilitySettingKeys.every(setting => this.isValid(setting, formValues));
}
}
/**
* Converts a string representing seconds to a string representing milliseconds
* Returns null if the input could not be parsed to a float
*/
function secondsToMilliseconds(secondsStr: string): string {
const seconds = parseFloat(secondsStr);
if (isNaN(seconds)) {
return null;
} else {
return (seconds * 1000).toString();
}
}
/**
* Converts a string representing milliseconds to a string representing seconds
* Returns null if the input could not be parsed to a float
*/
function millisecondsToSeconds(millisecondsStr: string): string {
const milliseconds = parseFloat(millisecondsStr);
if (isNaN(milliseconds)) {
return null;
} else {
return (milliseconds / 1000).toString();
}
}
function ofMetadata(): Observable<'metadata'> {
return of('metadata');
}
function ofFailed(): Observable<'failed'> {
return of('failed');
}

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