Skip to content

Commit fb4abc3

Browse files
authored
[DB-6705] Angular 20 (#66)
* DB-6705 angular 20 * DB-6705 styles * DB-6705 upgraded nodeJS * DB-6705 fix css of checkboxes on query page * disable standalone and inject error eslint * changed version of nodejs in Dockerfile * changed version of nodejs in Dockerfile * DB-6705 css fix of ng-select * DB-6711 Added AutoFocusDirective to import of QueryComponent
1 parent c9886ff commit fb4abc3

File tree

15 files changed

+104
-74
lines changed

15 files changed

+104
-74
lines changed

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
image: $CI_REGISTRY/swe-database-team/gitlab-ci/whois-build:v0.0.6
1+
image: $CI_REGISTRY/swe-database-team/gitlab-ci/whois-build:v0.0.11
22

33
variables:
44
MAVEN_OPTS: -Dmaven.repo.local=.m2/repository

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ FROM maven:3.9-amazoncorretto-21-al2023 AS build
55

66
WORKDIR /src
77

8-
# INSTALL: node 18
9-
RUN curl -sL https://rpm.nodesource.com/setup_18.x | bash - && \
8+
# INSTALL: node 22
9+
RUN curl -sL https://rpm.nodesource.com/setup_22.x | bash - && \
1010
dnf install -y nodejs && \
1111
dnf clean all && \
1212
rm -rf /var/cache/dnf

frontend/.eslintrc.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
},
1111
"extends": ["plugin:@angular-eslint/recommended", "plugin:@angular-eslint/template/process-inline-templates"],
1212
"rules": {
13+
"@angular-eslint/prefer-standalone": "off",
14+
"@angular-eslint/prefer-inject": "off",
1315
"@angular-eslint/component-selector": ["off"],
1416
"@angular-eslint/directive-selector": ["off"],
1517
"@angular-eslint/no-input-rename": ["error"],

frontend/angular.json

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
{
5353
"type": "initial",
5454
"maximumWarning": "3mb",
55-
"maximumError": "15mb"
55+
"maximumError": "16mb"
5656
},
5757
{
5858
"type": "anyComponentStyle",
@@ -118,10 +118,9 @@
118118
}
119119
},
120120
"serve": {
121-
"builder": "@angular-devkit/build-angular:dev-server",
121+
"builder": "@angular/build:dev-server",
122122
"options": {
123123
"proxyConfig": "proxy.conf.json",
124-
"disableHostCheck": true,
125124
"buildTarget": "frontend:build"
126125
},
127126
"configurations": {
@@ -134,16 +133,16 @@
134133
}
135134
},
136135
"extract-i18n": {
137-
"builder": "@angular-devkit/build-angular:extract-i18n",
136+
"builder": "@angular/build:extract-i18n",
138137
"options": {
139138
"buildTarget": "frontend:build"
140139
}
141140
},
142141
"test": {
143-
"builder": "@angular-devkit/build-angular:karma",
142+
"builder": "@angular/build:karma",
144143
"options": {
145144
"main": "test/unit/test.ts",
146-
"polyfills": "src/polyfills.ts",
145+
"polyfills": ["src/polyfills.ts"],
147146
"tsConfig": "test/unit/tsconfig.spec.json",
148147
"assets": ["src/assets"],
149148
"styles": ["src/styles.scss"],
@@ -176,5 +175,31 @@
176175
"cli": {
177176
"analytics": "81bf981f-ca1c-4e1b-9aff-651e1a4771f3",
178177
"schematicCollections": ["@angular-eslint/schematics"]
178+
},
179+
"schematics": {
180+
"@schematics/angular:component": {
181+
"type": "component"
182+
},
183+
"@schematics/angular:directive": {
184+
"type": "directive"
185+
},
186+
"@schematics/angular:service": {
187+
"type": "service"
188+
},
189+
"@schematics/angular:guard": {
190+
"typeSeparator": "."
191+
},
192+
"@schematics/angular:interceptor": {
193+
"typeSeparator": "."
194+
},
195+
"@schematics/angular:module": {
196+
"typeSeparator": "."
197+
},
198+
"@schematics/angular:pipe": {
199+
"typeSeparator": "."
200+
},
201+
"@schematics/angular:resolver": {
202+
"typeSeparator": "."
203+
}
179204
}
180205
}

frontend/package.json

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@
2424
},
2525
"private": true,
2626
"devDependencies": {
27-
"@angular-builders/custom-webpack": "19.0.1",
28-
"@angular-devkit/build-angular": "19.2.13",
29-
"@angular-eslint/builder": "18.4.3",
30-
"@angular-eslint/eslint-plugin": "18.4.3",
31-
"@angular-eslint/eslint-plugin-template": "18.4.3",
32-
"@angular-eslint/schematics": "18.4.3",
33-
"@angular-eslint/template-parser": "18.4.3",
34-
"@angular/cli": "19.2.13",
35-
"@angular/compiler-cli": "19.2.13",
36-
"@angular/language-service": "19.2.13",
27+
"@angular-builders/custom-webpack": "20.0.0",
28+
"@angular-eslint/builder": "20.4.0",
29+
"@angular-eslint/eslint-plugin": "20.4.0",
30+
"@angular-eslint/eslint-plugin-template": "20.4.0",
31+
"@angular-eslint/schematics": "20.4.0",
32+
"@angular-eslint/template-parser": "20.4.0",
33+
"@angular/build": "^20.3.6",
34+
"@angular/cli": "20.3.6",
35+
"@angular/compiler-cli": "20.3.6",
36+
"@angular/language-service": "20.3.6",
3737
"@babel/core": "7.26.10",
3838
"@babel/preset-env": "7.26.9",
3939
"@babel/runtime": "7.26.10",
@@ -68,24 +68,24 @@
6868
"typescript": "5.8.3"
6969
},
7070
"engines": {
71-
"node": "18.16.0"
71+
"node": "22.21.0"
7272
},
7373
"dependencies": {
74-
"@angular/animations": "19.2.13",
75-
"@angular/cdk": "19.2.17",
76-
"@angular/common": "19.2.13",
77-
"@angular/compiler": "19.2.13",
78-
"@angular/core": "19.2.13",
79-
"@angular/forms": "19.2.13",
80-
"@angular/localize": "19.2.13",
81-
"@angular/material": "19.2.17",
82-
"@angular/material-moment-adapter": "19.2.17",
83-
"@angular/platform-browser": "19.2.13",
84-
"@angular/platform-browser-dynamic": "19.2.13",
85-
"@angular/router": "19.2.13",
74+
"@angular/animations": "20.3.6",
75+
"@angular/cdk": "20.2.9",
76+
"@angular/common": "20.3.6",
77+
"@angular/compiler": "20.3.6",
78+
"@angular/core": "20.3.6",
79+
"@angular/forms": "20.3.6",
80+
"@angular/localize": "20.3.6",
81+
"@angular/material": "20.2.9",
82+
"@angular/material-moment-adapter": "20.2.9",
83+
"@angular/platform-browser": "20.3.6",
84+
"@angular/platform-browser-dynamic": "20.3.6",
85+
"@angular/router": "20.3.6",
8686
"@cypress/schematic": "2.4.0",
87-
"@ng-bootstrap/ng-bootstrap": "18.0.0",
88-
"@ng-select/ng-select": "14.9.0",
87+
"@ng-bootstrap/ng-bootstrap": "19.0.1",
88+
"@ng-select/ng-select": "15.2.0",
8989
"@ngx-loading-bar/core": "6.0.2",
9090
"@ngx-loading-bar/http-client": "6.0.2",
9191
"@technical-design/ripe-app-webcomponents": "4.3.0",
@@ -103,7 +103,7 @@
103103
"lodash": "4.17.21",
104104
"moment": "^2.30.1",
105105
"moment-timezone": "^0.6.0",
106-
"ngx-cookie-service": "19.1.2",
106+
"ngx-cookie-service": "20.1.0",
107107
"npm": "10.5.2",
108108
"rxjs": "7.5.5",
109109
"sanitize-html": "^2.7.0",

frontend/src/app/apikeys/api-key-confirmation-dialog/api-key-confirmation-dialog.component.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.mat-mdc-card {
22
margin-bottom: 16px;
3+
color: #3d3d3d;
34

45
.mat-mdc-card-content {
56
background-color: #f7f7fa;

frontend/src/app/apikeys/create-new-api-key/create-new-api-key.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, EventEmitter, OnInit, Output } from '@angular/core';
22
import { MatDialog } from '@angular/material/dialog';
3-
import * as moment from 'moment-timezone';
3+
import moment from 'moment-timezone';
44
import { Subject, switchMap } from 'rxjs';
55
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
66
import { AlertsService } from '../../shared/alert/alerts.service';

frontend/src/app/shared/table-scroller.directive.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { DOCUMENT } from '@angular/common';
2-
import { Directive, ElementRef, EventEmitter, HostListener, Inject, Output } from '@angular/core';
1+
import { Directive, DOCUMENT, ElementRef, EventEmitter, HostListener, Inject, Output } from '@angular/core';
32

43
export function debounce(delay: number = 25): MethodDecorator {
54
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {

frontend/src/styles.scss

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
11
/* Extended CSS */
2-
@import 'src/styles/scss/extend.scss';
2+
@import './styles/scss/extend.scss';
33
/* Generic CSS */
4-
@import 'src/styles/scss/web-components.scss';
5-
@import 'src/styles/scss/general.scss';
6-
@import 'src/styles/scss/paginator.scss';
7-
@import 'src/styles/scss/query.scss';
8-
@import 'src/styles/scss/hierarchy-flags-panel.scss';
9-
@import 'src/styles/scss/advance-filter-panel.scss';
4+
@import './styles/scss/web-components.scss';
5+
@import './styles/scss/general.scss';
6+
@import './styles/scss/paginator.scss';
7+
@import './styles/scss/query.scss';
8+
@import './styles/scss/hierarchy-flags-panel.scss';
9+
@import './styles/scss/advance-filter-panel.scss';
1010
/* View based CSS */
11-
@import 'src/styles/scss/create-obj.scss';
12-
@import 'src/styles/scss/datatables.scss';
13-
@import 'src/styles/scss/display.scss';
14-
@import 'src/styles/scss/multisync.scss';
15-
@import 'src/styles/scss/resources.scss';
16-
@import 'src/styles/scss/ip-usage-of-all-resources.scss';
17-
@import 'src/styles/scss/ip-usage.scss';
18-
@import 'src/styles/scss/whois-object.scss';
11+
@import './styles/scss/create-obj.scss';
12+
@import './styles/scss/datatables.scss';
13+
@import './styles/scss/display.scss';
14+
@import './styles/scss/multisync.scss';
15+
@import './styles/scss/resources.scss';
16+
@import './styles/scss/ip-usage-of-all-resources.scss';
17+
@import './styles/scss/ip-usage.scss';
18+
@import './styles/scss/whois-object.scss';
1919
/* Module based CSS */
20-
@import 'src/styles/scss/uiselect-custom.scss';
21-
@import 'src/styles/scss/bootstrap-custom.scss';
22-
@import 'src/styles/scss/material-custom.scss';
20+
@import './styles/scss/uiselect-custom.scss';
21+
@import './styles/scss/bootstrap-custom.scss';
22+
@import './styles/scss/material-custom.scss';
2323
/* Custom directives */
24-
@import 'src/styles/scss/flag.scss';
25-
@import 'src/styles/scss/forgot-maintainer-password.scss';
26-
@import 'src/styles/scss/font.scss';
27-
@import 'src/styles/scss/live-chat.scss';
28-
@import 'src/styles/scss/alerts-drop-down.scss';
29-
@import 'src/styles/scss/transfer-drop-down.scss';
30-
@import 'src/styles/scss/org-drop-down.scss';
31-
@import 'src/styles/scss/query-flags.scss';
32-
@import 'src/styles/scss/hierarchy-selector.scss';
33-
@import 'src/styles/scss/feedback-support-dialog.scss';
34-
@import 'src/styles/scss/syncupdates.scss';
24+
@import './styles/scss/flag.scss';
25+
@import './styles/scss/forgot-maintainer-password.scss';
26+
@import './styles/scss/font.scss';
27+
@import './styles/scss/live-chat.scss';
28+
@import './styles/scss/alerts-drop-down.scss';
29+
@import './styles/scss/transfer-drop-down.scss';
30+
@import './styles/scss/org-drop-down.scss';
31+
@import './styles/scss/query-flags.scss';
32+
@import './styles/scss/hierarchy-selector.scss';
33+
@import './styles/scss/feedback-support-dialog.scss';
34+
@import './styles/scss/syncupdates.scss';
3535
@import '@ng-select/ng-select/themes/default.theme.css';
3636
@import 'bootstrap/dist/css/bootstrap.min.css';
3737
@import '@typeform/embed/build/css/widget.css';

frontend/src/styles/scss/_bootstrap-custom.scss

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,15 @@ ngb-popover-window.popover {
157157
}
158158
}
159159

160+
.ng-select.ng-select-opened .ng-select-container {
161+
z-index: 1 !important;
162+
}
160163
.ng-select.ng-select-disabled > .ng-select-container {
161164
background-color: #eee;
162165
}
166+
.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value {
167+
background: none !important;
168+
}
163169

164170
// bootstrap modal
165171
.modal,

0 commit comments

Comments
 (0)