Skip to content

Commit 3fd4be9

Browse files
committed
Merge remote-tracking branch 'upstream/main' into default-configuration-fix
2 parents 95ed508 + fd37c72 commit 3fd4be9

51 files changed

Lines changed: 5507 additions & 11618 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ WORKDIR /app
66
ADD . /app/
77
EXPOSE 4000
88

9+
# Ensure Python and other build tools are available
10+
# These are needed to install some node modules, especially on linux/arm64
11+
RUN apk add --update python3 make g++ && rm -rf /var/cache/apk/*
12+
913
# We run yarn install with an increased network timeout (5min) to avoid "ESOCKETTIMEDOUT" errors from hub.docker.com
1014
# See, for example https://github.com/yarnpkg/yarn/issues/5540
1115
RUN yarn install --network-timeout 300000

angular.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,10 @@
2525
}
2626
},
2727
"allowedCommonJsDependencies": [
28-
"angular2-text-mask",
2928
"cerialize",
3029
"core-js",
3130
"lodash",
3231
"jwt-decode",
33-
"url-parse",
3432
"uuid",
3533
"webfontloader",
3634
"zone.js"

config/config.example.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ auth:
5555

5656
# Form settings
5757
form:
58+
# Sets the spellcheck textarea attribute value
59+
spellCheck: true
5860
# NOTE: Map server-side validators to comparative Angular form validators
5961
validatorMap:
6062
required: required
@@ -143,6 +145,9 @@ languages:
143145
- code: nl
144146
label: Nederlands
145147
active: true
148+
- code: pl
149+
label: Polski
150+
active: true
146151
- code: pt-PT
147152
label: Português
148153
active: true
@@ -174,6 +179,7 @@ languages:
174179
label: Yкраї́нська
175180
active: true
176181

182+
177183
# Browse-By Pages
178184
browseBy:
179185
# Amount of years to display using jumps of one year (current year - oneYearLimit)

package.json

Lines changed: 24 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,18 @@
5454
"ts-node": "10.2.1"
5555
},
5656
"dependencies": {
57-
"@angular/animations": "~13.2.6",
57+
"@angular/animations": "~13.3.12",
5858
"@angular/cdk": "^13.2.6",
59-
"@angular/common": "~13.2.6",
60-
"@angular/compiler": "~13.2.6",
61-
"@angular/core": "~13.2.6",
62-
"@angular/forms": "~13.2.6",
63-
"@angular/localize": "13.2.6",
64-
"@angular/platform-browser": "~13.2.6",
65-
"@angular/platform-browser-dynamic": "~13.2.6",
66-
"@angular/platform-server": "~13.2.6",
67-
"@angular/router": "~13.2.6",
68-
"@babel/runtime": "^7.17.2",
59+
"@angular/common": "~13.3.12",
60+
"@angular/compiler": "~13.3.12",
61+
"@angular/core": "~13.3.12",
62+
"@angular/forms": "~13.3.12",
63+
"@angular/localize": "13.3.12",
64+
"@angular/platform-browser": "~13.3.12",
65+
"@angular/platform-browser-dynamic": "~13.3.12",
66+
"@angular/platform-server": "~13.3.12",
67+
"@angular/router": "~13.3.12",
68+
"@babel/runtime": "7.17.2",
6969
"@kolkov/ngx-gallery": "^2.0.1",
7070
"@material-ui/core": "^4.11.0",
7171
"@material-ui/icons": "^4.9.1",
@@ -77,15 +77,15 @@
7777
"@ngrx/store": "^13.0.2",
7878
"@nguniversal/express-engine": "^13.0.2",
7979
"@ngx-translate/core": "^13.0.0",
80-
"@nicky-lenaers/ngx-scroll-to": "^9.0.0",
80+
"@nicky-lenaers/ngx-scroll-to": "^13.0.0",
8181
"@types/grecaptcha": "^3.0.4",
8282
"angular-idle-preload": "3.0.0",
8383
"angulartics2": "^12.0.0",
8484
"axios": "^0.27.2",
85-
"bootstrap": "4.3.1",
86-
"caniuse-lite": "^1.0.30001165",
85+
"bootstrap": "^4.6.1",
8786
"cerialize": "0.1.18",
8887
"cli-progress": "^3.8.0",
88+
"colors": "^1.4.0",
8989
"compression": "^1.7.4",
9090
"cookie-parser": "1.4.5",
9191
"core-js": "^3.7.0",
@@ -95,11 +95,8 @@
9595
"express": "^4.17.1",
9696
"express-rate-limit": "^5.1.3",
9797
"fast-json-patch": "^3.0.0-1",
98-
"file-saver": "^2.0.5",
9998
"filesize": "^6.1.0",
100-
"font-awesome": "4.7.0",
10199
"http-proxy-middleware": "^1.0.5",
102-
"https": "1.0.0",
103100
"js-cookie": "2.2.1",
104101
"js-yaml": "^4.1.0",
105102
"json5": "^2.1.3",
@@ -119,43 +116,38 @@
119116
"ngx-infinite-scroll": "^10.0.1",
120117
"ngx-pagination": "5.0.0",
121118
"ngx-sortablejs": "^11.1.0",
122-
"ngx-ui-switch": "^11.0.1",
119+
"ngx-ui-switch": "^13.0.2",
123120
"nouislider": "^14.6.3",
124121
"pem": "1.14.4",
125-
"postcss-cli": "^9.1.0",
126122
"prop-types": "^15.7.2",
127123
"react-copy-to-clipboard": "^5.0.1",
128124
"reflect-metadata": "^0.1.13",
129125
"rxjs": "^7.5.5",
130126
"sanitize-html": "^2.7.2",
131127
"sortablejs": "1.13.0",
132-
"tslib": "^2.0.0",
133-
"url-parse": "^1.5.6",
134128
"uuid": "^8.3.2",
135129
"webfontloader": "1.6.28",
136130
"zone.js": "~0.11.5"
137131
},
138132
"devDependencies": {
139133
"@angular-builders/custom-webpack": "~13.1.0",
140-
"@angular-devkit/build-angular": "~13.2.6",
134+
"@angular-devkit/build-angular": "~13.3.10",
141135
"@angular-eslint/builder": "13.1.0",
142136
"@angular-eslint/eslint-plugin": "13.1.0",
143137
"@angular-eslint/eslint-plugin-template": "13.1.0",
144138
"@angular-eslint/schematics": "13.1.0",
145139
"@angular-eslint/template-parser": "13.1.0",
146-
"@angular/cli": "~13.2.6",
147-
"@angular/compiler-cli": "~13.2.6",
148-
"@angular/language-service": "~13.2.6",
140+
"@angular/cli": "~13.3.10",
141+
"@angular/compiler-cli": "~13.3.12",
142+
"@angular/language-service": "~13.3.12",
149143
"@cypress/schematic": "^1.5.0",
150-
"@fortawesome/fontawesome-free": "^5.5.0",
144+
"@fortawesome/fontawesome-free": "^6.2.1",
151145
"@ngrx/store-devtools": "^13.0.2",
152146
"@ngtools/webpack": "^13.2.6",
153-
"@nguniversal/builders": "^13.0.2",
147+
"@nguniversal/builders": "^13.1.1",
154148
"@types/deep-freeze": "0.1.2",
155149
"@types/express": "^4.17.9",
156-
"@types/file-saver": "^2.0.1",
157150
"@types/jasmine": "~3.6.0",
158-
"@types/jasminewd2": "~2.0.8",
159151
"@types/js-cookie": "2.2.6",
160152
"@types/lodash": "^4.14.165",
161153
"@types/node": "^14.14.9",
@@ -166,53 +158,39 @@
166158
"compression-webpack-plugin": "^9.2.0",
167159
"copy-webpack-plugin": "^6.4.1",
168160
"cross-env": "^7.0.3",
169-
"css-loader": "^6.2.0",
170-
"css-minimizer-webpack-plugin": "^3.4.1",
171-
"cssnano": "^5.0.6",
172161
"cypress": "9.7.0",
173162
"cypress-axe": "^0.14.0",
174-
"debug-loader": "^0.0.1",
175163
"deep-freeze": "0.0.1",
176-
"dotenv": "^8.2.0",
177164
"eslint": "^8.2.0",
178165
"eslint-plugin-deprecation": "^1.3.2",
179166
"eslint-plugin-import": "^2.25.4",
180-
"eslint-plugin-jsdoc": "^39.3.6",
167+
"eslint-plugin-jsdoc": "^39.6.4",
181168
"eslint-plugin-lodash": "^7.4.0",
182169
"eslint-plugin-unused-imports": "^2.0.0",
183170
"express-static-gzip": "^2.1.5",
184-
"fork-ts-checker-webpack-plugin": "^6.0.3",
185-
"html-loader": "^1.3.2",
186171
"jasmine-core": "^3.8.0",
187172
"jasmine-marbles": "0.9.2",
188-
"jasmine-spec-reporter": "~5.0.0",
189173
"karma": "^6.3.14",
190174
"karma-chrome-launcher": "~3.1.0",
191175
"karma-coverage-istanbul-reporter": "~3.0.2",
192176
"karma-jasmine": "~4.0.0",
193177
"karma-jasmine-html-reporter": "^1.5.0",
194178
"karma-mocha-reporter": "2.2.5",
195179
"ngx-mask": "^13.1.7",
196-
"nodemon": "^2.0.15",
180+
"nodemon": "^2.0.20",
197181
"postcss": "^8.1",
198182
"postcss-apply": "0.12.0",
199183
"postcss-import": "^14.0.0",
200184
"postcss-loader": "^4.0.3",
201185
"postcss-preset-env": "^7.4.2",
202186
"postcss-responsive-type": "1.0.0",
203-
"protractor": "^7.0.0",
204-
"protractor-istanbul-plugin": "2.0.0",
205-
"raw-loader": "0.5.1",
206187
"react": "^16.14.0",
207188
"react-dom": "^16.14.0",
208189
"rimraf": "^3.0.2",
209190
"rxjs-spy": "^8.0.2",
210-
"sass": "~1.32.6",
191+
"sass": "~1.33.0",
211192
"sass-loader": "^12.6.0",
212193
"sass-resources-loader": "^2.1.1",
213-
"string-replace-loader": "^3.1.0",
214-
"terser-webpack-plugin": "^2.3.1",
215-
"ts-loader": "^5.2.0",
216194
"ts-node": "^8.10.2",
217195
"typescript": "~4.5.5",
218196
"webpack": "^5.69.1",

src/app/access-control/group-registry/group-form/group-form.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import { followLink } from '../../../shared/utils/follow-link-config.model';
4646
import { NoContent } from '../../../core/shared/NoContent.model';
4747
import { Operation } from 'fast-json-patch';
4848
import { ValidateGroupExists } from './validators/group-exists.validator';
49+
import { environment } from '../../../../environments/environment';
4950

5051
@Component({
5152
selector: 'ds-group-form',
@@ -194,6 +195,7 @@ export class GroupFormComponent implements OnInit, OnDestroy {
194195
label: groupDescription,
195196
name: 'groupDescription',
196197
required: false,
198+
spellCheck: environment.form.spellCheck,
197199
});
198200
this.formModel = [
199201
this.groupName,

src/app/admin/admin-registries/bitstream-formats/format-form/format-form.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { Router } from '@angular/router';
1515
import { hasValue, isEmpty } from '../../../../shared/empty.util';
1616
import { TranslateService } from '@ngx-translate/core';
1717
import { getBitstreamFormatsModuleRoute } from '../../admin-registries-routing-paths';
18+
import { environment } from '../../../../../environments/environment';
1819

1920
/**
2021
* The component responsible for rendering the form to create/edit a bitstream format
@@ -90,6 +91,7 @@ export class FormatFormComponent implements OnInit {
9091
name: 'description',
9192
label: 'admin.registries.bitstream-formats.edit.description.label',
9293
hint: 'admin.registries.bitstream-formats.edit.description.hint',
94+
spellCheck: environment.form.spellCheck,
9395

9496
}),
9597
new DynamicSelectModel({

src/app/breadcrumbs/breadcrumbs.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</nav>
1111

1212
<ng-template #breadcrumb let-text="text" let-url="url">
13-
<li class="breadcrumb-item"><div class="breadcrumb-item-limiter"><a [routerLink]="url" class="text-truncate">{{text | translate}}</a></div></li>
13+
<li class="breadcrumb-item"><div class="breadcrumb-item-limiter"><a [routerLink]="url" class="text-truncate" [ngbTooltip]="text | translate" placement="bottom" >{{text | translate}}</a></div></li>
1414
</ng-template>
1515

1616
<ng-template #activeBreadcrumb let-text="text">

src/app/collection-page/collection-form/collection-form.models.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { DynamicFormControlModel, DynamicInputModel, DynamicTextAreaModel } from '@ng-dynamic-forms/core';
22
import { DynamicSelectModelConfig } from '@ng-dynamic-forms/core/lib/model/select/dynamic-select.model';
3+
import { environment } from '../../../environments/environment';
34

45
export const collectionFormEntityTypeSelectionConfig: DynamicSelectModelConfig<string> = {
56
id: 'entityType',
@@ -26,21 +27,26 @@ export const collectionFormModels: DynamicFormControlModel[] = [
2627
new DynamicTextAreaModel({
2728
id: 'description',
2829
name: 'dc.description',
30+
spellCheck: environment.form.spellCheck,
2931
}),
3032
new DynamicTextAreaModel({
3133
id: 'abstract',
3234
name: 'dc.description.abstract',
35+
spellCheck: environment.form.spellCheck,
3336
}),
3437
new DynamicTextAreaModel({
3538
id: 'rights',
3639
name: 'dc.rights',
40+
spellCheck: environment.form.spellCheck,
3741
}),
3842
new DynamicTextAreaModel({
3943
id: 'tableofcontents',
4044
name: 'dc.description.tableofcontents',
45+
spellCheck: environment.form.spellCheck,
4146
}),
4247
new DynamicTextAreaModel({
4348
id: 'license',
4449
name: 'dc.rights.license',
50+
spellCheck: environment.form.spellCheck,
4551
})
4652
];

src/app/collection-page/collection-page-routing.module.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ import { MenuItemType } from '../shared/menu/menu-item-type.model';
7272
id: 'statistics_collection_:id',
7373
active: true,
7474
visible: true,
75+
index: 2,
7576
model: {
7677
type: MenuItemType.LINK,
7778
text: 'menu.section.statistics',

src/app/community-page/community-form/community-form.component.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { CommunityDataService } from '../../core/data/community-data.service';
1313
import { AuthService } from '../../core/auth/auth.service';
1414
import { RequestService } from '../../core/data/request.service';
1515
import { ObjectCacheService } from '../../core/cache/object-cache.service';
16+
import { environment } from '../../../environments/environment';
1617

1718
/**
1819
* Form used for creating and editing communities
@@ -52,18 +53,22 @@ export class CommunityFormComponent extends ComColFormComponent<Community> {
5253
new DynamicTextAreaModel({
5354
id: 'description',
5455
name: 'dc.description',
56+
spellCheck: environment.form.spellCheck,
5557
}),
5658
new DynamicTextAreaModel({
5759
id: 'abstract',
5860
name: 'dc.description.abstract',
61+
spellCheck: environment.form.spellCheck,
5962
}),
6063
new DynamicTextAreaModel({
6164
id: 'rights',
6265
name: 'dc.rights',
66+
spellCheck: environment.form.spellCheck,
6367
}),
6468
new DynamicTextAreaModel({
6569
id: 'tableofcontents',
6670
name: 'dc.description.tableofcontents',
71+
spellCheck: environment.form.spellCheck,
6772
}),
6873
];
6974

0 commit comments

Comments
 (0)