chore(console): dependency update (#5653)

* cli, core

* cli, core

* material, cdk

* chore(deps-dev): bump @types/node from 18.13.0 to 18.15.11 in /console (#5594)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.13.0 to 18.15.11.
- [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-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump jasmine-core from 4.5.0 to 4.6.0 in /console (#5592)

Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v4.5.0...v4.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump zone.js from 0.12.0 to 0.13.0 in /console (#5586)

Bumps [zone.js](https://github.com/angular/angular/tree/HEAD/packages/zone.js) from 0.12.0 to 0.13.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.13.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump prettier from 2.8.4 to 2.8.7 in /console (#5589)

Bumps [prettier](https://github.com/prettier/prettier) from 2.8.4 to 2.8.7.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.4...2.8.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* lock

* tsconfig, index signature, angular.json

* cli core

* material cdk

* chore(deps): bump libphonenumber-js from 1.10.19 to 1.10.24 in /console (#5498)

Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.10.19 to 1.10.24.
- [Release notes](https://gitlab.com/catamphetamine/libphonenumber-js/tags)
- [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md)
- [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.10.19...v1.10.24)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* update packages

* rm redundant bindings

* disable button

* rm provider service

* rm environment.tss

* seo

* fresh lock

* eslint

* eslint

* increase budgets

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
Max Peintner 2023-04-18 15:42:29 +02:00 committed by GitHub
parent 429a91518b
commit 0ed2906b5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 3065 additions and 2080 deletions

View File

@ -1,12 +0,0 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries
# You can see what browsers were selected by your queries by running:
# npx browserslist
> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.

View File

@ -22,6 +22,7 @@
"main": "src/main.ts", "main": "src/main.ts",
"polyfills": ["zone.js"], "polyfills": ["zone.js"],
"tsConfig": "tsconfig.app.json", "tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": ["src/favicon.ico", "src/assets", "src/manifest.webmanifest"], "assets": ["src/favicon.ico", "src/assets", "src/manifest.webmanifest"],
"styles": ["src/styles.scss"], "styles": ["src/styles.scss"],
"scripts": ["./node_modules/tinycolor2/dist/tinycolor-min.js"], "scripts": ["./node_modules/tinycolor2/dist/tinycolor-min.js"],
@ -33,59 +34,16 @@
"@angular/common/locales/de", "@angular/common/locales/de",
"codemirror/mode/javascript/javascript", "codemirror/mode/javascript/javascript",
"codemirror/mode/xml/xml", "codemirror/mode/xml/xml",
"src/app/proto/generated/zitadel/admin_pb",
"src/app/proto/generated/zitadel/org_pb",
"src/app/proto/generated/zitadel/management_pb",
"src/app/proto/generated/zitadel/user_pb",
"src/app/proto/generated/**",
"google-protobuf/google/protobuf/empty_pb",
"file-saver", "file-saver",
"qrcode" "qrcode"
], ]
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": {
"scripts": true,
"fonts": {
"inline": true
},
"styles": {
"minify": true,
"inlineCritical": false
}
},
"namedChunks": true
}, },
"configurations": { "configurations": {
"production": { "production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
],
"optimization": {
"scripts": true,
"fonts": {
"inline": false
},
"styles": {
"minify": true,
"inlineCritical": false
}
},
"outputHashing": "all",
"sourceMap": false,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
"buildOptimizer": true,
"budgets": [ "budgets": [
{ {
"type": "initial", "type": "initial",
"maximumWarning": "7mb", "maximumWarning": "6mb",
"maximumError": "7mb" "maximumError": "7mb"
}, },
{ {
@ -94,16 +52,21 @@
"maximumError": "10kb" "maximumError": "10kb"
} }
], ],
"serviceWorker": false, "outputHashing": "all"
"ngswConfigPath": "ngsw-config.json"
}, },
"development": {} "development": {
"buildOptimizer": false,
"optimization": false,
"vendorChunk": true,
"extractLicenses": false,
"sourceMap": true,
"namedChunks": true
}
}, },
"defaultConfiguration": "production" "defaultConfiguration": "development"
}, },
"serve": { "serve": {
"builder": "@angular-devkit/build-angular:dev-server", "builder": "@angular-devkit/build-angular:dev-server",
"options": {},
"configurations": { "configurations": {
"production": { "production": {
"browserTarget": "console:build:production" "browserTarget": "console:build:production"
@ -123,13 +86,12 @@
"test": { "test": {
"builder": "@angular-devkit/build-angular:karma", "builder": "@angular-devkit/build-angular:karma",
"options": { "options": {
"main": "src/test.ts", "polyfills": ["zone.js", "zone.js/testing"],
"polyfills": ["zone.js"],
"tsConfig": "tsconfig.spec.json", "tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js", "inlineStyleLanguage": "scss",
"assets": ["src/favicon.ico", "src/assets", "src/manifest.webmanifest"], "assets": ["src/favicon.ico", "src/assets"],
"styles": ["./node_modules/@angular/material/prebuilt-themes/pink-bluegrey.css", "src/styles.scss"], "styles": ["src/styles.scss"],
"scripts": ["./node_modules/tinycolor2/dist/tinycolor-min.js"] "scripts": []
} }
}, },
"lint": { "lint": {
@ -137,35 +99,12 @@
"options": { "options": {
"lintFilePatterns": ["src/**/*.ts", "src/**/*.html"] "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"]
} }
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"options": {
"protractorConfig": "e2e/protractor.conf.js"
},
"configurations": {
"production": {
"devServerTarget": "console:serve:production"
},
"development": {
"devServerTarget": "console:serve:development"
}
},
"defaultConfiguration": "development"
} }
} }
} }
}, },
"cli": { "cli": {
"analytics": "2b4e8e6c-f053-4562-b7a6-00c6c06a6791", "analytics": false,
"schematicCollections": ["@angular-eslint/schematics"] "schematicCollections": ["@angular-eslint/schematics"]
},
"schematics": {
"@angular-eslint/schematics:application": {
"setParserOptionsProject": true
},
"@angular-eslint/schematics:library": {
"setParserOptionsProject": true
}
} }
} }

4793
console/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -12,18 +12,18 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^15.2.2", "@angular/animations": "^15.2.6",
"@angular/cdk": "^15.2.2", "@angular/cdk": "^15.2.6",
"@angular/common": "^15.2.2", "@angular/common": "^15.2.6",
"@angular/compiler": "^15.2.2", "@angular/compiler": "^15.2.6",
"@angular/core": "^15.2.2", "@angular/core": "^15.2.6",
"@angular/forms": "^15.2.2", "@angular/forms": "^15.2.6",
"@angular/material": "^15.2.2", "@angular/material": "^15.2.6",
"@angular/material-moment-adapter": "^15.2.2", "@angular/material-moment-adapter": "^15.2.6",
"@angular/platform-browser": "^15.2.2", "@angular/platform-browser": "^15.2.6",
"@angular/platform-browser-dynamic": "^15.2.2", "@angular/platform-browser-dynamic": "^15.2.6",
"@angular/router": "^15.2.2", "@angular/router": "^15.2.6",
"@angular/service-worker": "^15.2.2", "@angular/service-worker": "^15.2.6",
"@ctrl/ngx-codemirror": "^6.1.0", "@ctrl/ngx-codemirror": "^6.1.0",
"@grpc/grpc-js": "^1.8.12", "@grpc/grpc-js": "^1.8.12",
"@ngx-translate/core": "^14.0.0", "@ngx-translate/core": "^14.0.0",
@ -41,7 +41,7 @@
"google-protobuf": "^3.21.2", "google-protobuf": "^3.21.2",
"grpc-web": "^1.4.1", "grpc-web": "^1.4.1",
"i18n-iso-countries": "^7.5.0", "i18n-iso-countries": "^7.5.0",
"libphonenumber-js": "^1.10.19", "libphonenumber-js": "^1.10.24",
"material-design-icons-iconfont": "^6.1.1", "material-design-icons-iconfont": "^6.1.1",
"moment": "^2.29.4", "moment": "^2.29.4",
"ngx-color": "^8.0.3", "ngx-color": "^8.0.3",
@ -49,36 +49,36 @@
"tinycolor2": "^1.6.0", "tinycolor2": "^1.6.0",
"tslib": "^2.4.1", "tslib": "^2.4.1",
"uuid": "^9.0.0", "uuid": "^9.0.0",
"zone.js": "~0.12.0" "zone.js": "~0.13.0"
}, },
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "^15.2.2", "@angular-devkit/build-angular": "^15.2.5",
"@angular-eslint/builder": "^15.2.1", "@angular-eslint/builder": "15.2.1",
"@angular-eslint/eslint-plugin": "^15.2.1", "@angular-eslint/eslint-plugin": "15.2.1",
"@angular-eslint/eslint-plugin-template": "^15.2.1", "@angular-eslint/eslint-plugin-template": "15.2.1",
"@angular-eslint/schematics": "^15.2.1", "@angular-eslint/schematics": "15.2.1",
"@angular-eslint/template-parser": "^15.2.1", "@angular-eslint/template-parser": "15.2.1",
"@angular/cli": "^15.2.2", "@angular/cli": "^15.2.5",
"@angular/compiler-cli": "^15.2.2", "@angular/compiler-cli": "^15.2.6",
"@angular/language-service": "^15.2.2", "@angular/language-service": "^15.2.6",
"@bufbuild/buf": "^1.14.0", "@bufbuild/buf": "^1.14.0",
"@types/jasmine": "~4.3.0", "@types/jasmine": "~4.3.0",
"@types/jasminewd2": "~2.0.10", "@types/jasminewd2": "~2.0.10",
"@types/jsonwebtoken": "^9.0.1", "@types/jsonwebtoken": "^9.0.1",
"@types/node": "^18.13.0", "@types/node": "^18.15.11",
"@types/qrcode": "^1.5.0", "@types/qrcode": "^1.5.0",
"@typescript-eslint/eslint-plugin": "5.54.1", "@typescript-eslint/eslint-plugin": "5.48.2",
"@typescript-eslint/parser": "5.54.1", "@typescript-eslint/parser": "5.48.2",
"codelyzer": "^6.0.2", "codelyzer": "^6.0.2",
"eslint": "^8.33.0", "eslint": "^8.33.0",
"jasmine-core": "~4.5.0", "jasmine-core": "~4.6.0",
"jasmine-spec-reporter": "~7.0.0", "jasmine-spec-reporter": "~7.0.0",
"karma": "~6.4.1", "karma": "~6.4.1",
"karma-chrome-launcher": "~3.1.0", "karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~3.0.2", "karma-coverage-istanbul-reporter": "~3.0.2",
"karma-jasmine": "~5.1.0", "karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "^2.0.0", "karma-jasmine-html-reporter": "^2.0.0",
"prettier": "^2.8.4", "prettier": "^2.8.7",
"prettier-plugin-organize-imports": "^3.2.2", "prettier-plugin-organize-imports": "^3.2.2",
"protractor": "~7.0.0", "protractor": "~7.0.0",
"typescript": "^4.9.5" "typescript": "^4.9.5"

View File

@ -201,7 +201,7 @@ export class AppComponent implements OnDestroy {
} }
}); });
this.activatedRoute.queryParams.pipe(filter((params) => !!params.org)).subscribe((params) => { this.activatedRoute.queryParams.pipe(filter((params) => !!params['org'])).subscribe((params) => {
const { org } = params; const { org } = params;
this.authService.getActiveOrg(org); this.authService.getActiveOrg(org);
}); });
@ -252,7 +252,7 @@ export class AppComponent implements OnDestroy {
} }
public prepareRoute(outlet: RouterOutlet): boolean { public prepareRoute(outlet: RouterOutlet): boolean {
return outlet && outlet.activatedRouteData && outlet.activatedRouteData.animation; return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation'];
} }
public onSetTheme(theme: string): void { public onSetTheme(theme: string): void {

View File

@ -16,7 +16,7 @@ export class UserGuard implements CanActivate {
state: RouterStateSnapshot, state: RouterStateSnapshot,
): Observable<boolean> | Promise<boolean> | boolean { ): Observable<boolean> | Promise<boolean> | boolean {
return this.authService.user.pipe( return this.authService.user.pipe(
map((user) => user?.id !== route.params.id), map((user) => user?.id !== route.params['id']),
tap((isNotMe) => { tap((isNotMe) => {
if (!isNotMe) { if (!isNotMe) {
this.router.navigate(['/users', 'me']); this.router.navigate(['/users', 'me']);

View File

@ -16,9 +16,9 @@
<input cnslInput [matDatepicker]="picker" [min]="startDate" [formControl]="dateControl" /> <input cnslInput [matDatepicker]="picker" [min]="startDate" [formControl]="dateControl" />
<mat-datepicker-toggle style="top: 0" cnslSuffix [for]="picker"></mat-datepicker-toggle> <mat-datepicker-toggle style="top: 0" cnslSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker [startAt]="startDate"></mat-datepicker> <mat-datepicker #picker [startAt]="startDate"></mat-datepicker>
<span cnslError *ngIf="dateControl?.errors?.matDatepickerMin?.min"> <span cnslError *ngIf="dateControl && dateControl.errors && dateControl.errors['matDatepickerMin']?.min">
{{ 'USER.MACHINE.CHOOSEDATEAFTER' | translate }}: {{ 'USER.MACHINE.CHOOSEDATEAFTER' | translate }}:
{{ dateControl.errors?.matDatepickerMin.min.toDate() | localizedDate : 'EEE dd. MMM' }} {{ dateControl.errors['matDatepickerMin'].min.toDate() | localizedDate : 'EEE dd. MMM' }}
</span> </span>
</cnsl-form-field> </cnsl-form-field>
</div> </div>

View File

@ -7,9 +7,9 @@
<input cnslInput [matDatepicker]="picker" [min]="startDate" [formControl]="dateControl" /> <input cnslInput [matDatepicker]="picker" [min]="startDate" [formControl]="dateControl" />
<mat-datepicker-toggle style="top: 0" cnslSuffix [for]="picker"></mat-datepicker-toggle> <mat-datepicker-toggle style="top: 0" cnslSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker startView="year" [startAt]="startDate"></mat-datepicker> <mat-datepicker #picker startView="year" [startAt]="startDate"></mat-datepicker>
<span cnslError *ngIf="dateControl?.errors?.matDatepickerMin?.min"> <span cnslError *ngIf="dateControl && dateControl.errors && dateControl.errors['matDatepickerMin']?.min">
{{ 'USER.PERSONALACCESSTOKEN.ADD.CHOOSEDATEAFTER' | translate }}: {{ 'USER.PERSONALACCESSTOKEN.ADD.CHOOSEDATEAFTER' | translate }}:
{{ dateControl.errors?.matDatepickerMin.min.toDate() | localizedDate : 'EEE dd. MMM' }} {{ dateControl.errors['matDatepickerMin'].min.toDate() | localizedDate : 'EEE dd. MMM' }}
</span> </span>
</cnsl-form-field> </cnsl-form-field>
</div> </div>

View File

@ -16,8 +16,6 @@
<ng-template <ng-template
cdkConnectedOverlay cdkConnectedOverlay
[cdkConnectedOverlayHasBackdrop]="true" [cdkConnectedOverlayHasBackdrop]="true"
[flexibleDimensions]="true"
[lockPosition]="true"
[cdkConnectedOverlayOffsetY]="10" [cdkConnectedOverlayOffsetY]="10"
[cdkConnectedOverlayPositions]="positions" [cdkConnectedOverlayPositions]="positions"
[cdkConnectedOverlayOrigin]="triggereventfilter" [cdkConnectedOverlayOrigin]="triggereventfilter"

View File

@ -24,7 +24,7 @@ export class FilterOrgComponent extends FilterComponent implements OnInit {
public states: OrgState[] = [OrgState.ORG_STATE_ACTIVE, OrgState.ORG_STATE_INACTIVE, OrgState.ORG_STATE_REMOVED]; public states: OrgState[] = [OrgState.ORG_STATE_ACTIVE, OrgState.ORG_STATE_INACTIVE, OrgState.ORG_STATE_REMOVED];
constructor(router: Router, protected route: ActivatedRoute) { constructor(router: Router, protected override route: ActivatedRoute) {
super(router, route); super(router, route);
} }
@ -137,7 +137,7 @@ export class FilterOrgComponent extends FilterComponent implements OnInit {
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
} }
public emitFilter(): void { public override emitFilter(): void {
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
this.showFilter = false; this.showFilter = false;
this.filterOpen.emit(false); this.filterOpen.emit(false);

View File

@ -110,7 +110,7 @@ export class FilterProjectComponent extends FilterComponent implements OnInit {
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
} }
public emitFilter(): void { public override emitFilter(): void {
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
this.showFilter = false; this.showFilter = false;
this.filterOpen.emit(false); this.filterOpen.emit(false);

View File

@ -226,7 +226,7 @@ export class FilterUserGrantsComponent extends FilterComponent implements OnInit
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
} }
public emitFilter(): void { public override emitFilter(): void {
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
this.showFilter = false; this.showFilter = false;
this.filterOpen.emit(false); this.filterOpen.emit(false);

View File

@ -236,7 +236,7 @@ export class FilterUserComponent extends FilterComponent implements OnInit {
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
} }
public emitFilter(): void { public override emitFilter(): void {
this.filterChanged.emit(this.searchQueries ? this.searchQueries : []); this.filterChanged.emit(this.searchQueries ? this.searchQueries : []);
this.showFilter = false; this.showFilter = false;
this.filterOpen.emit(false); this.filterOpen.emit(false);

View File

@ -15,8 +15,6 @@
<ng-template <ng-template
cdkConnectedOverlay cdkConnectedOverlay
[cdkConnectedOverlayHasBackdrop]="true" [cdkConnectedOverlayHasBackdrop]="true"
[flexibleDimensions]="true"
[lockPosition]="true"
[cdkConnectedOverlayOffsetY]="10" [cdkConnectedOverlayOffsetY]="10"
[cdkConnectedOverlayPositions]="positions" [cdkConnectedOverlayPositions]="positions"
[cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOrigin]="trigger"

View File

@ -95,7 +95,7 @@ export class CnslFormFieldComponent extends CnslFormFieldBase implements OnDestr
} }
constructor( constructor(
public _elementRef: ElementRef, public override _elementRef: ElementRef,
private _changeDetectorRef: ChangeDetectorRef, private _changeDetectorRef: ChangeDetectorRef,
@Inject(ElementRef) @Inject(ElementRef)
_labelOptions: // Use `ElementRef` here so Angular has something to inject. _labelOptions: // Use `ElementRef` here so Angular has something to inject.

View File

@ -110,8 +110,6 @@
<ng-template <ng-template
cdkConnectedOverlay cdkConnectedOverlay
[cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOrigin]="trigger"
[flexibleDimensions]="true"
[lockPosition]="true"
[cdkConnectedOverlayOffsetY]="10" [cdkConnectedOverlayOffsetY]="10"
[cdkConnectedOverlayHasBackdrop]="true" [cdkConnectedOverlayHasBackdrop]="true"
[cdkConnectedOverlayPositions]="positions" [cdkConnectedOverlayPositions]="positions"
@ -221,8 +219,6 @@
<ng-template <ng-template
cdkConnectedOverlay cdkConnectedOverlay
[cdkConnectedOverlayOrigin]="accounttrigger" [cdkConnectedOverlayOrigin]="accounttrigger"
[flexibleDimensions]="true"
[lockPosition]="true"
[cdkConnectedOverlayOffsetY]="10" [cdkConnectedOverlayOffsetY]="10"
[cdkConnectedOverlayHasBackdrop]="true" [cdkConnectedOverlayHasBackdrop]="true"
[cdkConnectedOverlayPositions]="accountCardPositions" [cdkConnectedOverlayPositions]="accountCardPositions"

View File

@ -199,7 +199,7 @@ export class InputDirective
protected _type: string = 'text'; protected _type: string = 'text';
/** An object used to control when error messages are shown. */ /** An object used to control when error messages are shown. */
@Input() errorStateMatcher!: ErrorStateMatcher; @Input() override errorStateMatcher!: ErrorStateMatcher;
/** /**
* Implemented as part of MatFormFieldControl. * Implemented as part of MatFormFieldControl.
@ -241,7 +241,7 @@ export class InputDirective
protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, protected _elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>,
protected _platform: Platform, protected _platform: Platform,
/** @docs-private */ /** @docs-private */
@Optional() @Self() public ngControl: NgControl, @Optional() @Self() public override ngControl: NgControl,
@Optional() _parentForm: NgForm, @Optional() _parentForm: NgForm,
@Optional() _parentFormGroup: FormGroupDirective, @Optional() _parentFormGroup: FormGroupDirective,
_defaultErrorStateMatcher: ErrorStateMatcher, _defaultErrorStateMatcher: ErrorStateMatcher,

View File

@ -27,8 +27,8 @@ export class MetadataComponent implements OnChanges {
constructor() {} constructor() {}
ngOnChanges(changes: SimpleChanges): void { ngOnChanges(changes: SimpleChanges): void {
if (changes.metadata?.currentValue) { if (changes['metadata']?.currentValue) {
this.dataSource = new MatTableDataSource<Metadata.AsObject>(changes.metadata.currentValue); this.dataSource = new MatTableDataSource<Metadata.AsObject>(changes['metadata'].currentValue);
} }
} }
} }

View File

@ -111,7 +111,7 @@
<span class="label">{{ 'MENU.DASHBOARD' | translate }}</span> <span class="label">{{ 'MENU.DASHBOARD' | translate }}</span>
</a> </a>
<ng-container class="org-list" *ngIf="org" [@navAnimation]="org"> <ng-container class="org-list" *ngIf="org">
<ng-template cnslHasRole [hasRole]="['org.read']"> <ng-template cnslHasRole [hasRole]="['org.read']">
<a <a
class="nav-item" class="nav-item"
@ -232,8 +232,6 @@
<ng-template <ng-template
cdkConnectedOverlay cdkConnectedOverlay
[cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOrigin]="trigger"
[flexibleDimensions]="true"
[lockPosition]="true"
[cdkConnectedOverlayOffsetY]="10" [cdkConnectedOverlayOffsetY]="10"
[cdkConnectedOverlayHasBackdrop]="true" [cdkConnectedOverlayHasBackdrop]="true"
[cdkConnectedOverlayPositions]="positions" [cdkConnectedOverlayPositions]="positions"

View File

@ -4,7 +4,10 @@
<ng-template #showSpinner> <ng-template #showSpinner>
<div <div
*ngIf="password?.errors?.minlength || password?.value?.length === 0 as currentError; else trueminlength" *ngIf="
(password && password.errors && password.errors['minlength']) || password?.value?.length === 0 as currentError;
else trueminlength
"
class="complexity-sp-wrapper" class="complexity-sp-wrapper"
> >
<mat-progress-spinner <mat-progress-spinner
@ -28,23 +31,23 @@
</span> </span>
</div> </div>
<div class="val" *ngIf="this.policy.hasSymbol"> <div class="val" *ngIf="this.policy.hasSymbol">
<i *ngIf="password?.pristine || password?.errors?.errorssymbolerror" class="las la-times red"></i> <i *ngIf="password?.pristine || password?.errors?.['errorssymbolerror']" class="las la-times red"></i>
<i *ngIf="password?.dirty && !password?.errors?.errorssymbolerror" class="las la-check green"></i> <i *ngIf="password?.dirty && !password?.errors?.['errorssymbolerror']" class="las la-check green"></i>
<span class="cnsl-secondary-text"> {{ 'ERRORS.SYMBOLERROR' | translate }}</span> <span class="cnsl-secondary-text"> {{ 'ERRORS.SYMBOLERROR' | translate }}</span>
</div> </div>
<div class="val" *ngIf="this.policy.hasNumber"> <div class="val" *ngIf="this.policy.hasNumber">
<i *ngIf="password?.pristine || password?.errors?.errorsnumbererror" class="las la-times red"></i> <i *ngIf="password?.pristine || password?.errors?.['errorsnumbererror']" class="las la-times red"></i>
<i *ngIf="password?.dirty && !password?.errors?.errorsnumbererror" class="las la-check green"></i> <i *ngIf="password?.dirty && !password?.errors?.['errorsnumbererror']" class="las la-check green"></i>
<span class="cnsl-secondary-text"> {{ 'ERRORS.NUMBERERROR' | translate }}</span> <span class="cnsl-secondary-text"> {{ 'ERRORS.NUMBERERROR' | translate }}</span>
</div> </div>
<div class="val" *ngIf="this.policy.hasUppercase"> <div class="val" *ngIf="this.policy.hasUppercase">
<i *ngIf="password?.pristine || password?.errors?.errorsuppercasemissing" class="las la-times red"></i> <i *ngIf="password?.pristine || password?.errors?.['errorsuppercasemissing']" class="las la-times red"></i>
<i *ngIf="password?.dirty && !password?.errors?.errorsuppercasemissing" class="las la-check green"></i> <i *ngIf="password?.dirty && !password?.errors?.['errorsuppercasemissing']" class="las la-check green"></i>
<span class="cnsl-secondary-text"> {{ 'ERRORS.UPPERCASEMISSING' | translate }}</span> <span class="cnsl-secondary-text"> {{ 'ERRORS.UPPERCASEMISSING' | translate }}</span>
</div> </div>
<div class="val" *ngIf="this.policy.hasLowercase"> <div class="val" *ngIf="this.policy.hasLowercase">
<i *ngIf="password?.pristine || password?.errors?.errorslowercasemissing" class="las la-times red"></i> <i *ngIf="password?.pristine || password?.errors?.['errorslowercasemissing']" class="las la-times red"></i>
<i *ngIf="password?.dirty && !password?.errors?.errorslowercasemissing" class="las la-check green"></i> <i *ngIf="password?.dirty && !password?.errors?.['errorslowercasemissing']" class="las la-check green"></i>
<span class="cnsl-secondary-text">{{ 'ERRORS.LOWERCASEMISSING' | translate }}</span> <span class="cnsl-secondary-text">{{ 'ERRORS.LOWERCASEMISSING' | translate }}</span>
</div> </div>
</div> </div>

View File

@ -46,7 +46,7 @@
<div class="message-text-actions"> <div class="message-text-actions">
<button <button
class="reset-button" class="reset-button"
*ngIf="(getCustomInitMessageTextMap$ | async) && (getCustomInitMessageTextMap$ | async)?.isDefault === false" *ngIf="(getCustomInitMessageTextMap$ | async) && (getCustomInitMessageTextMap$ | async)?.['isDefault'] === false"
[disabled]="(canWrite$ | async) === false" [disabled]="(canWrite$ | async) === false"
(click)="resetDefault()" (click)="resetDefault()"
color="message-text-warn" color="message-text-warn"

View File

@ -45,13 +45,13 @@ export class ProjectMembersComponent {
private route: ActivatedRoute, private route: ActivatedRoute,
) { ) {
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.projectType = data.type; this.projectType = data['type'];
this.getRoleOptions(); this.getRoleOptions();
this.route.params.subscribe((params) => { this.route.params.subscribe((params) => {
this.projectId = params.projectid; this.projectId = params['projectid'];
this.grantId = params.grantid; this.grantId = params['grantid'];
this.loadMembers(); this.loadMembers();
}); });
}); });

View File

@ -89,7 +89,7 @@ export class ProviderAzureADComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -80,7 +80,7 @@ export class ProviderGithubESComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -78,7 +78,7 @@ export class ProviderGithubComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -79,7 +79,7 @@ export class ProviderGitlabSelfHostedComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -78,7 +78,7 @@ export class ProviderGitlabComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -78,7 +78,7 @@ export class ProviderGoogleComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -51,7 +51,7 @@ export class ProviderJWTComponent {
breadcrumbService: BreadcrumbService, breadcrumbService: BreadcrumbService,
) { ) {
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -48,7 +48,13 @@
> >
<cnsl-form-field *ngIf="!provider || (provider && updateBindPassword)" class="formfield"> <cnsl-form-field *ngIf="!provider || (provider && updateBindPassword)" class="formfield">
<cnsl-label>{{ 'IDP.BINDPASSWORD' | translate }}</cnsl-label> <cnsl-label>{{ 'IDP.BINDPASSWORD' | translate }}</cnsl-label>
<input cnslInput formControlName="bindPassword" /> <input
cnslInput
name="bindpassword"
formControlName="bindPassword"
type="password"
autocomplete="new-password"
/>
</cnsl-form-field> </cnsl-form-field>
</div> </div>
@ -117,7 +123,7 @@
color="primary" color="primary"
mat-raised-button mat-raised-button
class="continue-button" class="continue-button"
[disabled]="(form.invalid && attributes.toObject().idAttribute !== '') || form.disabled" [disabled]="form.invalid || attributes.toObject().idAttribute === '' || form.disabled"
type="submit" type="submit"
> >
<span *ngIf="id">{{ 'ACTIONS.SAVE' | translate }}</span> <span *ngIf="id">{{ 'ACTIONS.SAVE' | translate }}</span>

View File

@ -83,7 +83,7 @@ export class ProviderLDAPComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -81,7 +81,7 @@ export class ProviderOAuthComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -59,7 +59,7 @@ export class ProviderOIDCComponent {
}); });
this.route.data.pipe(take(1)).subscribe((data) => { this.route.data.pipe(take(1)).subscribe((data) => {
this.serviceType = data.serviceType; this.serviceType = data['serviceType'];
switch (this.serviceType) { switch (this.serviceType) {
case PolicyComponentServiceType.MGMT: case PolicyComponentServiceType.MGMT:

View File

@ -19,10 +19,10 @@ export class SettingsListComponent implements OnChanges {
constructor() {} constructor() {}
ngOnChanges(changes: SimpleChanges): void { ngOnChanges(changes: SimpleChanges): void {
if (changes.selectedId?.currentValue) { if (changes['selectedId']?.currentValue) {
this.currentSetting = this.currentSetting =
this.settingsList && this.settingsList.find((l) => l.id === changes.selectedId.currentValue) this.settingsList && this.settingsList.find((l) => l.id === changes['selectedId'].currentValue)
? changes.selectedId.currentValue ? changes['selectedId'].currentValue
: ''; : '';
} else { } else {
this.currentSetting = this.settingsList ? this.settingsList[0].id : ''; this.currentSetting = this.settingsList ? this.settingsList[0].id : '';

View File

@ -398,10 +398,10 @@
<ng-container *ngIf="currentSetting === 'urls'"> <ng-container *ngIf="currentSetting === 'urls'">
<cnsl-card title=" {{ 'APP.URLS' | translate }}"> <cnsl-card title=" {{ 'APP.URLS' | translate }}">
<cnsl-info-section *ngIf="environmentMap?.issuer"> <cnsl-info-section *ngIf="environmentMap['issuer']">
<div <div
[innerHtml]=" [innerHtml]="
'APP.OIDC.WELLKNOWN' | translate : { url: environmentMap.issuer + '/.well-known/openid-configuration' } 'APP.OIDC.WELLKNOWN' | translate : { url: environmentMap['issuer'] + '/.well-known/openid-configuration' }
" "
></div> ></div>
</cnsl-info-section> </cnsl-info-section>

View File

@ -34,7 +34,7 @@ export class ProjectGrantCreateComponent implements OnInit, OnDestroy {
public ngOnInit(): void { public ngOnInit(): void {
this.route.params.pipe(takeUntil(this.destroy$)).subscribe((params) => { this.route.params.pipe(takeUntil(this.destroy$)).subscribe((params) => {
this.projectId = params.projectid; this.projectId = params['projectid'];
const breadcrumbs = [ const breadcrumbs = [
new Breadcrumb({ new Breadcrumb({

View File

@ -49,19 +49,19 @@ export class ProjectGrantDetailComponent {
private breadcrumbService: BreadcrumbService, private breadcrumbService: BreadcrumbService,
) { ) {
this.route.params.subscribe((params) => { this.route.params.subscribe((params) => {
this.projectid = params.projectid; this.projectid = params['projectid'];
this.grantid = params.grantid; this.grantid = params['grantid'];
this.dataSource = new ProjectGrantMembersDataSource(this.mgmtService); this.dataSource = new ProjectGrantMembersDataSource(this.mgmtService);
this.dataSource.loadMembers(params.projectid, params.grantid, 0, this.INITIALPAGESIZE); this.dataSource.loadMembers(params['projectid'], params['grantid'], 0, this.INITIALPAGESIZE);
this.getRoleOptions(params.projectid); this.getRoleOptions(params['projectid']);
this.getMemberRoleOptions(); this.getMemberRoleOptions();
this.changePageFactory = (event?: PageEvent) => { this.changePageFactory = (event?: PageEvent) => {
return this.dataSource.loadMembers( return this.dataSource.loadMembers(
params.projectid, params['projectid'],
params.grantid, params['grantid'],
event?.pageIndex ?? 0, event?.pageIndex ?? 0,
event?.pageSize ?? this.INITIALPAGESIZE, event?.pageSize ?? this.INITIALPAGESIZE,
); );

View File

@ -24,7 +24,7 @@ export class ProjectsComponent {
breadcrumbService: BreadcrumbService, breadcrumbService: BreadcrumbService,
) { ) {
this.activatedRoute.queryParams.pipe(take(1)).subscribe((params: Params) => { this.activatedRoute.queryParams.pipe(take(1)).subscribe((params: Params) => {
const type = params.type; const type = params['type'];
if (type && type === 'owned') { if (type && type === 'owned') {
this.setType(ProjectType.PROJECTTYPE_OWNED); this.setType(ProjectType.PROJECTTYPE_OWNED);
} else if (type && type === 'granted') { } else if (type && type === 'granted') {

View File

@ -11,8 +11,8 @@ export class PhoneDetailComponent implements OnChanges {
public country: string | undefined; public country: string | undefined;
ngOnChanges(changes: SimpleChanges): void { ngOnChanges(changes: SimpleChanges): void {
if (changes.phone.currentValue) { if (changes['phone'].currentValue) {
const phoneNumber = formatPhone(changes.phone.currentValue); const phoneNumber = formatPhone(changes['phone'].currentValue);
if (this.phone !== phoneNumber.phone) { if (this.phone !== phoneNumber.phone) {
this.phone = phoneNumber.phone; this.phone = phoneNumber.phone;
this.country = phoneNumber.country; this.country = phoneNumber.country;

View File

@ -96,7 +96,7 @@ export class UserTableComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
this.route.queryParams.pipe(take(1)).subscribe((params) => { this.route.queryParams.pipe(take(1)).subscribe((params) => {
this.getData(this.INITIAL_PAGE_SIZE, 0, this.type); this.getData(this.INITIAL_PAGE_SIZE, 0, this.type);
if (params.deferredReload) { if (params['deferredReload']) {
setTimeout(() => { setTimeout(() => {
this.getData(this.paginator.pageSize, this.paginator.pageIndex * this.paginator.pageSize, this.type); this.getData(this.paginator.pageSize, this.paginator.pageIndex * this.paginator.pageSize, this.type);
}, 2000); }, 2000);

View File

@ -1,8 +1,6 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Meta } from '@angular/platform-browser'; import { Meta } from '@angular/platform-browser';
import { environment } from '../../environments/environment';
@Injectable({ @Injectable({
providedIn: 'root', providedIn: 'root',
}) })
@ -14,7 +12,7 @@ export class SeoService {
config = { config = {
title: 'ZITADEL Console', title: 'ZITADEL Console',
description: 'Managementplatform for ZITADEL', description: 'Managementplatform for ZITADEL',
image: 'https://www.zitadel.ch/zitadel-social-preview25.png', image: 'https://www.zitadel.com/images/preview.png',
slug: '', slug: '',
...config, ...config,
}; };
@ -27,15 +25,11 @@ export class SeoService {
if (config.image) { if (config.image) {
this.meta.updateTag({ property: 'og:image', content: config.image }); this.meta.updateTag({ property: 'og:image', content: config.image });
} }
this.meta.updateTag({
property: 'og:url',
content: `https://${environment.production ? 'console.zitadel.ch' : 'console.zitadel.dev'}/${config.slug}`,
});
this.meta.updateTag({ property: 'twitter:card', content: 'summary' }); this.meta.updateTag({ property: 'twitter:card', content: 'summary' });
this.meta.updateTag({ property: 'og:site', content: '@zitadel_ch' }); this.meta.updateTag({ property: 'og:site', content: '@zitadel_ch' });
this.meta.updateTag({ property: 'og:title', content: config.title }); this.meta.updateTag({ property: 'og:title', content: config.title });
this.meta.updateTag({ property: 'og:image', content: 'https://www.zitadel.ch/zitadel-social-preview25.png' }); this.meta.updateTag({ property: 'og:image', content: 'https://www.zitadel.com/images/preview.png' });
this.meta.updateTag({ property: 'og:description', content: config.description }); this.meta.updateTag({ property: 'og:description', content: config.description });
} }
} }

View File

@ -1,3 +0,0 @@
export const environment = {
production: true,
};

View File

@ -1,16 +0,0 @@
// This file can be replaced during build by using the `fileReplacements` array.
// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
// The list of file replacements can be found in `angular.json`.
export const environment = {
production: false,
};
/*
* For easier debugging in development mode, you can import the following file
* to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
*
* This import should be commented out in production mode because it will have a negative impact
* on performance if an error is thrown.
*/
// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.

View File

@ -1,15 +1,6 @@
import 'codemirror/mode/javascript/javascript';
import 'codemirror/mode/xml/xml';
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module'; import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
platformBrowserDynamic() platformBrowserDynamic()
.bootstrapModule(AppModule) .bootstrapModule(AppModule)

View File

@ -6,6 +6,8 @@
"outDir": "./dist/out-tsc", "outDir": "./dist/out-tsc",
"forceConsistentCasingInFileNames": true, "forceConsistentCasingInFileNames": true,
"strict": true, "strict": true,
"noImplicitOverride": true,
"noPropertyAccessFromIndexSignature": true,
"noImplicitReturns": true, "noImplicitReturns": true,
"noFallthroughCasesInSwitch": true, "noFallthroughCasesInSwitch": true,
"sourceMap": true, "sourceMap": true,
@ -15,11 +17,12 @@
"moduleResolution": "node", "moduleResolution": "node",
"importHelpers": true, "importHelpers": true,
"target": "ES2022", "target": "ES2022",
"module": "es2022", "module": "ES2022",
"lib": ["ES2022", "dom"], "useDefineForClassFields": false,
"useDefineForClassFields": false "lib": ["ES2022", "dom"]
}, },
"angularCompilerOptions": { "angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true, "strictInjectionParameters": true,
"strictInputAccessModifiers": true, "strictInputAccessModifiers": true,
"strictTemplates": true "strictTemplates": true

View File

@ -5,6 +5,5 @@
"outDir": "./out-tsc/spec", "outDir": "./out-tsc/spec",
"types": ["jasmine"] "types": ["jasmine"]
}, },
"files": ["src/test.ts"],
"include": ["src/**/*.spec.ts", "src/**/*.d.ts"] "include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
} }