mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 20:37:23 +00:00
chore(console): angular 14 (#3799)
* eslint schematics * cli, core migrations * material * schematics * ng-qrcode update * fix input, formfield errorstatemixin * other packages * downgrade codemirror * codemirror * @next of alphas Co-authored-by: Livio Spring <livio.a@gmail.com>
This commit is contained in:
parent
12d4d3ea0b
commit
fb0f29aa32
@ -151,9 +151,10 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"defaultProject": "console",
|
|
||||||
"cli": {
|
"cli": {
|
||||||
"analytics": "2b4e8e6c-f053-4562-b7a6-00c6c06a6791",
|
"analytics": "2b4e8e6c-f053-4562-b7a6-00c6c06a6791",
|
||||||
"defaultCollection": "@angular-eslint/schematics"
|
"schematicCollections": [
|
||||||
|
"@angular-eslint/schematics"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
14532
console/package-lock.json
generated
14532
console/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -12,18 +12,18 @@
|
|||||||
},
|
},
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "~13.3.10",
|
"@angular/animations": "^14.0.1",
|
||||||
"@angular/cdk": "~13.3.8",
|
"@angular/cdk": "^14.0.1",
|
||||||
"@angular/common": "~13.3.10",
|
"@angular/common": "^14.0.1",
|
||||||
"@angular/compiler": "~13.3.10",
|
"@angular/compiler": "^14.0.1",
|
||||||
"@angular/core": "~13.3.10",
|
"@angular/core": "^14.0.1",
|
||||||
"@angular/forms": "~13.3.10",
|
"@angular/forms": "^14.0.1",
|
||||||
"@angular/material": "~13.3.8",
|
"@angular/material": "^14.0.1",
|
||||||
"@angular/material-moment-adapter": "~13.3.8",
|
"@angular/material-moment-adapter": "^14.0.1",
|
||||||
"@angular/platform-browser": "~13.3.10",
|
"@angular/platform-browser": "^14.0.1",
|
||||||
"@angular/platform-browser-dynamic": "~13.3.10",
|
"@angular/platform-browser-dynamic": "^14.0.1",
|
||||||
"@angular/router": "~13.3.10",
|
"@angular/router": "^14.0.1",
|
||||||
"@angular/service-worker": "~13.3.10",
|
"@angular/service-worker": "^14.0.1",
|
||||||
"@ctrl/ngx-codemirror": "^5.1.1",
|
"@ctrl/ngx-codemirror": "^5.1.1",
|
||||||
"@grpc/grpc-js": "^1.5.7",
|
"@grpc/grpc-js": "^1.5.7",
|
||||||
"@ngx-translate/core": "^14.0.0",
|
"@ngx-translate/core": "^14.0.0",
|
||||||
@ -42,7 +42,7 @@
|
|||||||
"libphonenumber-js": "^1.10.6",
|
"libphonenumber-js": "^1.10.6",
|
||||||
"material-design-icons-iconfont": "^6.1.1",
|
"material-design-icons-iconfont": "^6.1.1",
|
||||||
"moment": "^2.29.1",
|
"moment": "^2.29.1",
|
||||||
"ng-qrcode": "^6.0.0",
|
"ng-qrcode": "^7.0.0",
|
||||||
"ngx-color": "^7.2.0",
|
"ngx-color": "^7.2.0",
|
||||||
"ngx-quicklink": "^0.2.6",
|
"ngx-quicklink": "^0.2.6",
|
||||||
"rxjs": "~7.5.2",
|
"rxjs": "~7.5.2",
|
||||||
@ -52,25 +52,25 @@
|
|||||||
"zone.js": "~0.11.4"
|
"zone.js": "~0.11.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "~13.3.7",
|
"@angular-devkit/build-angular": "^14.0.1",
|
||||||
"@angular-eslint/builder": "^13.1.0",
|
"@angular-eslint/builder": "^14.0.0-alpha.3",
|
||||||
"@angular-eslint/eslint-plugin": "^13.1.0",
|
"@angular-eslint/eslint-plugin": "^14.0.0-alpha.3",
|
||||||
"@angular-eslint/eslint-plugin-template": "^13.1.0",
|
"@angular-eslint/eslint-plugin-template": "^14.0.0-alpha.3",
|
||||||
"@angular-eslint/schematics": "^13.1.0",
|
"@angular-eslint/schematics": "^14.0.0-alpha.3",
|
||||||
"@angular-eslint/template-parser": "^13.1.0",
|
"@angular-eslint/template-parser": "^14.0.0-alpha.3",
|
||||||
"@angular/cli": "~13.3.7",
|
"@angular/cli": "^14.0.1",
|
||||||
"@angular/compiler-cli": "~13.3.10",
|
"@angular/compiler-cli": "^14.0.1",
|
||||||
"@angular/language-service": "~13.3.10",
|
"@angular/language-service": "^14.0.1",
|
||||||
"@types/jasmine": "~4.0.3",
|
"@types/jasmine": "~4.0.3",
|
||||||
"@types/jasminewd2": "~2.0.10",
|
"@types/jasminewd2": "~2.0.10",
|
||||||
"@types/jsonwebtoken": "^8.5.5",
|
"@types/jsonwebtoken": "^8.5.5",
|
||||||
"@types/node": "^17.0.35",
|
"@types/node": "^17.0.42",
|
||||||
|
"@typescript-eslint/eslint-plugin": "5.25.0",
|
||||||
"@typescript-eslint/parser": "5.27.0",
|
"@typescript-eslint/parser": "5.27.0",
|
||||||
"codelyzer": "^6.0.0",
|
"codelyzer": "^6.0.0",
|
||||||
"cypress": "^9.5.1",
|
"cypress": "^10.1.0",
|
||||||
"cypress-terminal-report": "^4.0.1",
|
"cypress-terminal-report": "^4.0.1",
|
||||||
"eslint": "^8.16.0",
|
"eslint": "^8.17.0",
|
||||||
"@typescript-eslint/eslint-plugin": "5.25.0",
|
|
||||||
"jasmine-core": "~4.1.1",
|
"jasmine-core": "~4.1.1",
|
||||||
"jasmine-spec-reporter": "~7.0.0",
|
"jasmine-spec-reporter": "~7.0.0",
|
||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { KeyType } from 'src/app/proto/generated/zitadel/auth_n_key_pb';
|
import { KeyType } from 'src/app/proto/generated/zitadel/auth_n_key_pb';
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ export class AddKeyDialogComponent {
|
|||||||
public startDate: Date = new Date();
|
public startDate: Date = new Date();
|
||||||
types: KeyType[] = [];
|
types: KeyType[] = [];
|
||||||
public type!: KeyType;
|
public type!: KeyType;
|
||||||
public dateControl: FormControl = new FormControl('', []);
|
public dateControl: UntypedFormControl = new UntypedFormControl('', []);
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public dialogRef: MatDialogRef<AddKeyDialogComponent>,
|
public dialogRef: MatDialogRef<AddKeyDialogComponent>,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -9,7 +9,7 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
|||||||
})
|
})
|
||||||
export class AddTokenDialogComponent {
|
export class AddTokenDialogComponent {
|
||||||
public startDate: Date = new Date();
|
public startDate: Date = new Date();
|
||||||
public dateControl: FormControl = new FormControl('', []);
|
public dateControl: UntypedFormControl = new UntypedFormControl('', []);
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<AddTokenDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(public dialogRef: MatDialogRef<AddTokenDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
||||||
const today = new Date();
|
const today = new Date();
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
|
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
|
||||||
import { FormControl, FormGroup } from '@angular/forms';
|
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||||
import { Observable, Subject } from 'rxjs';
|
import { Observable, Subject } from 'rxjs';
|
||||||
import { takeUntil } from 'rxjs/operators';
|
import { takeUntil } from 'rxjs/operators';
|
||||||
|
|
||||||
@ -18,7 +18,7 @@ export class EditTextComponent implements OnInit, OnDestroy {
|
|||||||
@Output() changedValues: EventEmitter<{ [key: string]: string }> = new EventEmitter();
|
@Output() changedValues: EventEmitter<{ [key: string]: string }> = new EventEmitter();
|
||||||
public currentMap: { [key: string]: string | boolean } = {}; // boolean because of isDefault
|
public currentMap: { [key: string]: string | boolean } = {}; // boolean because of isDefault
|
||||||
private destroy$: Subject<void> = new Subject();
|
private destroy$: Subject<void> = new Subject();
|
||||||
public form!: FormGroup;
|
public form!: UntypedFormGroup;
|
||||||
public warnText: { [key: string]: string | boolean | undefined } = {};
|
public warnText: { [key: string]: string | boolean | undefined } = {};
|
||||||
|
|
||||||
@Input() public chips: any[] = [];
|
@Input() public chips: any[] = [];
|
||||||
@ -30,10 +30,10 @@ export class EditTextComponent implements OnInit, OnDestroy {
|
|||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
this.current$.pipe(takeUntil(this.destroy$)).subscribe((value) => {
|
this.current$.pipe(takeUntil(this.destroy$)).subscribe((value) => {
|
||||||
this.currentMap = value;
|
this.currentMap = value;
|
||||||
this.form = new FormGroup({});
|
this.form = new UntypedFormGroup({});
|
||||||
Object.keys(value).map((key) => {
|
Object.keys(value).map((key) => {
|
||||||
if (key !== 'isDefault') {
|
if (key !== 'isDefault') {
|
||||||
const control = new FormControl({ value: value[key], disabled: this.disabled });
|
const control = new UntypedFormControl({ value: value[key], disabled: this.disabled });
|
||||||
this.form.addControl(key, control);
|
this.form.addControl(key, control);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -33,9 +33,7 @@ class CnslFormFieldBase {
|
|||||||
selector: 'cnsl-form-field',
|
selector: 'cnsl-form-field',
|
||||||
templateUrl: './form-field.component.html',
|
templateUrl: './form-field.component.html',
|
||||||
styleUrls: ['./form-field.component.scss'],
|
styleUrls: ['./form-field.component.scss'],
|
||||||
providers: [
|
providers: [{ provide: CNSL_FORM_FIELD, useExisting: CnslFormFieldComponent }],
|
||||||
{ provide: CNSL_FORM_FIELD, useExisting: CnslFormFieldComponent },
|
|
||||||
],
|
|
||||||
host: {
|
host: {
|
||||||
'[class.ng-untouched]': '_shouldForward("untouched")',
|
'[class.ng-untouched]': '_shouldForward("untouched")',
|
||||||
'[class.ng-touched]': '_shouldForward("touched")',
|
'[class.ng-touched]': '_shouldForward("touched")',
|
||||||
@ -76,18 +74,20 @@ export class CnslFormFieldComponent extends CnslFormFieldBase implements OnDestr
|
|||||||
|
|
||||||
@HostListener('blur', ['false'])
|
@HostListener('blur', ['false'])
|
||||||
_focusChanged(isFocused: boolean): void {
|
_focusChanged(isFocused: boolean): void {
|
||||||
if (isFocused !== this.focused && (!isFocused)) {
|
if (isFocused !== this.focused && !isFocused) {
|
||||||
this.focused = isFocused;
|
this.focused = isFocused;
|
||||||
this.stateChanges.next();
|
this.stateChanges.next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(public _elementRef: ElementRef, private _changeDetectorRef: ChangeDetectorRef,
|
constructor(
|
||||||
|
public _elementRef: ElementRef,
|
||||||
|
private _changeDetectorRef: ChangeDetectorRef,
|
||||||
@Inject(ElementRef)
|
@Inject(ElementRef)
|
||||||
// Use `ElementRef` here so Angular has something to inject.
|
_labelOptions: // Use `ElementRef` here so Angular has something to inject.
|
||||||
_labelOptions: any) {
|
any,
|
||||||
|
) {
|
||||||
super(_elementRef);
|
super(_elementRef);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ngAfterViewInit(): void {
|
public ngAfterViewInit(): void {
|
||||||
@ -135,13 +135,12 @@ export class CnslFormFieldComponent extends CnslFormFieldBase implements OnDestr
|
|||||||
if (this._control) {
|
if (this._control) {
|
||||||
const ids: string[] = [];
|
const ids: string[] = [];
|
||||||
|
|
||||||
if (this._control.userAriaDescribedBy &&
|
if (this._control.userAriaDescribedBy && typeof this._control.userAriaDescribedBy === 'string') {
|
||||||
typeof this._control.userAriaDescribedBy === 'string') {
|
|
||||||
ids.push(...this._control.userAriaDescribedBy.split(' '));
|
ids.push(...this._control.userAriaDescribedBy.split(' '));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._errorChildren) {
|
if (this._errorChildren) {
|
||||||
ids.push(...this._errorChildren.map(error => error.id));
|
ids.push(...this._errorChildren.map((error) => error.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
this._control.setDescribedByIds(ids);
|
this._control.setDescribedByIds(ids);
|
||||||
@ -150,12 +149,12 @@ export class CnslFormFieldComponent extends CnslFormFieldBase implements OnDestr
|
|||||||
|
|
||||||
/** Determines whether a class from the NgControl should be forwarded to the host element. */
|
/** Determines whether a class from the NgControl should be forwarded to the host element. */
|
||||||
_shouldForward(prop: keyof NgControl): boolean {
|
_shouldForward(prop: keyof NgControl): boolean {
|
||||||
const ngControl = this._control ? this._control.ngControl : null;
|
const ngControl: any = this._control ? this._control.ngControl : null;
|
||||||
return ngControl && ngControl[prop];
|
return ngControl && ngControl[prop];
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Determines whether to display hints or errors. */
|
/** Determines whether to display hints or errors. */
|
||||||
_getDisplayedMessages(): 'error' | 'hint' {
|
_getDisplayedMessages(): 'error' | 'hint' {
|
||||||
return (this._errorChildren && this._errorChildren.length > 0) ? 'error' : 'hint';
|
return this._errorChildren && this._errorChildren.length > 0 ? 'error' : 'hint';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';
|
import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Component, Injector, OnDestroy, OnInit, Type } from '@angular/core';
|
import { Component, Injector, OnDestroy, OnInit, Type } from '@angular/core';
|
||||||
import { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MatChipInputEvent } from '@angular/material/chips';
|
import { MatChipInputEvent } from '@angular/material/chips';
|
||||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
@ -31,8 +31,8 @@ export class IdpCreateComponent implements OnInit, OnDestroy {
|
|||||||
private subscription?: Subscription;
|
private subscription?: Subscription;
|
||||||
public projectId: string = '';
|
public projectId: string = '';
|
||||||
|
|
||||||
public oidcFormGroup!: FormGroup;
|
public oidcFormGroup!: UntypedFormGroup;
|
||||||
public jwtFormGroup!: FormGroup;
|
public jwtFormGroup!: UntypedFormGroup;
|
||||||
|
|
||||||
public createSteps: number = 2;
|
public createSteps: number = 2;
|
||||||
public currentCreateStep: number = 1;
|
public currentCreateStep: number = 1;
|
||||||
@ -53,25 +53,25 @@ export class IdpCreateComponent implements OnInit, OnDestroy {
|
|||||||
private _location: Location,
|
private _location: Location,
|
||||||
breadcrumbService: BreadcrumbService,
|
breadcrumbService: BreadcrumbService,
|
||||||
) {
|
) {
|
||||||
this.oidcFormGroup = new FormGroup({
|
this.oidcFormGroup = new UntypedFormGroup({
|
||||||
name: new FormControl('', [Validators.required]),
|
name: new UntypedFormControl('', [Validators.required]),
|
||||||
clientId: new FormControl('', [Validators.required]),
|
clientId: new UntypedFormControl('', [Validators.required]),
|
||||||
clientSecret: new FormControl('', [Validators.required]),
|
clientSecret: new UntypedFormControl('', [Validators.required]),
|
||||||
issuer: new FormControl('', [Validators.required]),
|
issuer: new UntypedFormControl('', [Validators.required]),
|
||||||
scopesList: new FormControl(['openid', 'profile', 'email'], []),
|
scopesList: new UntypedFormControl(['openid', 'profile', 'email'], []),
|
||||||
idpDisplayNameMapping: new FormControl(0),
|
idpDisplayNameMapping: new UntypedFormControl(0),
|
||||||
usernameMapping: new FormControl(0),
|
usernameMapping: new UntypedFormControl(0),
|
||||||
autoRegister: new FormControl(false),
|
autoRegister: new UntypedFormControl(false),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.jwtFormGroup = new FormGroup({
|
this.jwtFormGroup = new UntypedFormGroup({
|
||||||
jwtName: new FormControl('', [Validators.required]),
|
jwtName: new UntypedFormControl('', [Validators.required]),
|
||||||
jwtHeaderName: new FormControl('', [Validators.required]),
|
jwtHeaderName: new UntypedFormControl('', [Validators.required]),
|
||||||
jwtIssuer: new FormControl('', [Validators.required]),
|
jwtIssuer: new UntypedFormControl('', [Validators.required]),
|
||||||
jwtEndpoint: new FormControl('', [Validators.required]),
|
jwtEndpoint: new UntypedFormControl('', [Validators.required]),
|
||||||
jwtKeysEndpoint: new FormControl('', [Validators.required]),
|
jwtKeysEndpoint: new UntypedFormControl('', [Validators.required]),
|
||||||
jwtStylingType: new FormControl(0),
|
jwtStylingType: new UntypedFormControl(0),
|
||||||
jwtAutoRegister: new FormControl(false),
|
jwtAutoRegister: new UntypedFormControl(false),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.route.data.pipe(take(1)).subscribe((data) => {
|
this.route.data.pipe(take(1)).subscribe((data) => {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';
|
import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Component, Injector, OnDestroy, Type } from '@angular/core';
|
import { Component, Injector, OnDestroy, Type } from '@angular/core';
|
||||||
import { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MatChipInputEvent } from '@angular/material/chips';
|
import { MatChipInputEvent } from '@angular/material/chips';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
@ -46,9 +46,9 @@ export class IdpComponent implements OnDestroy {
|
|||||||
private destroy$: Subject<void> = new Subject();
|
private destroy$: Subject<void> = new Subject();
|
||||||
public projectId: string = '';
|
public projectId: string = '';
|
||||||
|
|
||||||
public idpForm!: FormGroup;
|
public idpForm!: UntypedFormGroup;
|
||||||
public oidcConfigForm!: FormGroup;
|
public oidcConfigForm!: UntypedFormGroup;
|
||||||
public jwtConfigForm!: FormGroup;
|
public jwtConfigForm!: UntypedFormGroup;
|
||||||
|
|
||||||
IDPState: any = IDPState;
|
IDPState: any = IDPState;
|
||||||
|
|
||||||
@ -70,27 +70,27 @@ export class IdpComponent implements OnDestroy {
|
|||||||
private dialog: MatDialog,
|
private dialog: MatDialog,
|
||||||
breadcrumbService: BreadcrumbService,
|
breadcrumbService: BreadcrumbService,
|
||||||
) {
|
) {
|
||||||
this.idpForm = new FormGroup({
|
this.idpForm = new UntypedFormGroup({
|
||||||
id: new FormControl({ disabled: true, value: '' }, [Validators.required]),
|
id: new UntypedFormControl({ disabled: true, value: '' }, [Validators.required]),
|
||||||
name: new FormControl('', [Validators.required]),
|
name: new UntypedFormControl('', [Validators.required]),
|
||||||
stylingType: new FormControl('', [Validators.required]),
|
stylingType: new UntypedFormControl('', [Validators.required]),
|
||||||
autoRegister: new FormControl(false, [Validators.required]),
|
autoRegister: new UntypedFormControl(false, [Validators.required]),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.oidcConfigForm = new FormGroup({
|
this.oidcConfigForm = new UntypedFormGroup({
|
||||||
clientId: new FormControl('', [Validators.required]),
|
clientId: new UntypedFormControl('', [Validators.required]),
|
||||||
clientSecret: new FormControl(''),
|
clientSecret: new UntypedFormControl(''),
|
||||||
issuer: new FormControl('', [Validators.required]),
|
issuer: new UntypedFormControl('', [Validators.required]),
|
||||||
scopesList: new FormControl([], []),
|
scopesList: new UntypedFormControl([], []),
|
||||||
displayNameMapping: new FormControl(0),
|
displayNameMapping: new UntypedFormControl(0),
|
||||||
usernameMapping: new FormControl(0),
|
usernameMapping: new UntypedFormControl(0),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.jwtConfigForm = new FormGroup({
|
this.jwtConfigForm = new UntypedFormGroup({
|
||||||
jwtEndpoint: new FormControl('', [Validators.required]),
|
jwtEndpoint: new UntypedFormControl('', [Validators.required]),
|
||||||
issuer: new FormControl('', [Validators.required]),
|
issuer: new UntypedFormControl('', [Validators.required]),
|
||||||
keysEndpoint: new FormControl('', [Validators.required]),
|
keysEndpoint: new UntypedFormControl('', [Validators.required]),
|
||||||
headerName: new FormControl('', [Validators.required]),
|
headerName: new UntypedFormControl('', [Validators.required]),
|
||||||
});
|
});
|
||||||
|
|
||||||
const serviceType = this.route.snapshot.data.serviceType;
|
const serviceType = this.route.snapshot.data.serviceType;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { FormControl, FormGroupDirective, NgForm } from '@angular/forms';
|
import { UntypedFormControl, FormGroupDirective, NgForm } from '@angular/forms';
|
||||||
|
|
||||||
|
|
||||||
/** Provider that defines how form controls behave with regards to displaying error messages. */
|
/** Provider that defines how form controls behave with regards to displaying error messages. */
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
export class ErrorStateMatcher {
|
export class ErrorStateMatcher {
|
||||||
isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {
|
isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {
|
||||||
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
return !!(control && control.invalid && (control.touched || (form && form.submitted)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -13,7 +13,7 @@ export class ErrorStateMatcher {
|
|||||||
/** Error state matcher that matches when a control is invalid and dirty. */
|
/** Error state matcher that matches when a control is invalid and dirty. */
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {
|
export class ShowOnDirtyErrorStateMatcher implements ErrorStateMatcher {
|
||||||
isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean {
|
isErrorState(control: UntypedFormControl | null, form: FormGroupDirective | NgForm | null): boolean {
|
||||||
return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
|
return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,11 +28,17 @@ let nextUniqueId = 0;
|
|||||||
|
|
||||||
const _MatInputBase = mixinErrorState(
|
const _MatInputBase = mixinErrorState(
|
||||||
class {
|
class {
|
||||||
|
readonly stateChanges = new Subject<void>();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public _defaultErrorStateMatcher: ErrorStateMatcher,
|
public _defaultErrorStateMatcher: ErrorStateMatcher,
|
||||||
public _parentForm: NgForm,
|
public _parentForm: NgForm,
|
||||||
public _parentFormGroup: FormGroupDirective,
|
public _parentFormGroup: FormGroupDirective,
|
||||||
/** @docs-private */
|
/**
|
||||||
|
* Form control bound to the component.
|
||||||
|
* Implemented as part of `MatFormFieldControl`.
|
||||||
|
* @docs-private
|
||||||
|
*/
|
||||||
public ngControl: NgControl,
|
public ngControl: NgControl,
|
||||||
) {}
|
) {}
|
||||||
},
|
},
|
||||||
@ -98,7 +104,7 @@ export class InputDirective
|
|||||||
* Implemented as part of MatFormFieldControl.
|
* Implemented as part of MatFormFieldControl.
|
||||||
* @docs-private
|
* @docs-private
|
||||||
*/
|
*/
|
||||||
readonly stateChanges: Subject<void> = new Subject<void>();
|
override readonly stateChanges: Subject<void> = new Subject<void>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implemented as part of MatFormFieldControl.
|
* Implemented as part of MatFormFieldControl.
|
||||||
|
@ -2,7 +2,7 @@ import { animate, keyframes, style, transition, trigger } from '@angular/animati
|
|||||||
import { BreakpointObserver } from '@angular/cdk/layout';
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { Component, ElementRef, Input, OnDestroy, ViewChild } from '@angular/core';
|
import { Component, ElementRef, Input, OnDestroy, ViewChild } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { BehaviorSubject, map, Observable, Subject, take } from 'rxjs';
|
import { BehaviorSubject, map, Observable, Subject, take } from 'rxjs';
|
||||||
import { Org } from 'src/app/proto/generated/zitadel/org_pb';
|
import { Org } from 'src/app/proto/generated/zitadel/org_pb';
|
||||||
@ -81,7 +81,7 @@ export class NavComponent implements OnDestroy {
|
|||||||
);
|
);
|
||||||
|
|
||||||
@Input() public org!: Org.AsObject;
|
@Input() public org!: Org.AsObject;
|
||||||
public filterControl: FormControl = new FormControl('');
|
public filterControl: UntypedFormControl = new UntypedFormControl('');
|
||||||
public orgLoading$: BehaviorSubject<any> = new BehaviorSubject(false);
|
public orgLoading$: BehaviorSubject<any> = new BehaviorSubject(false);
|
||||||
public showAccount: boolean = false;
|
public showAccount: boolean = false;
|
||||||
public hideAdminWarn: boolean = true;
|
public hideAdminWarn: boolean = true;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { SelectionModel } from '@angular/cdk/collections';
|
import { SelectionModel } from '@angular/cdk/collections';
|
||||||
import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { BehaviorSubject, catchError, debounceTime, finalize, from, map, Observable, of, pipe, tap } from 'rxjs';
|
import { BehaviorSubject, catchError, debounceTime, finalize, from, map, Observable, of, pipe, tap } from 'rxjs';
|
||||||
import { TextQueryMethod } from 'src/app/proto/generated/zitadel/object_pb';
|
import { TextQueryMethod } from 'src/app/proto/generated/zitadel/object_pb';
|
||||||
import { Org, OrgNameQuery, OrgQuery } from 'src/app/proto/generated/zitadel/org_pb';
|
import { Org, OrgNameQuery, OrgQuery } from 'src/app/proto/generated/zitadel/org_pb';
|
||||||
@ -17,7 +17,7 @@ export class OrgContextComponent implements OnInit {
|
|||||||
|
|
||||||
public orgLoading$: BehaviorSubject<any> = new BehaviorSubject(false);
|
public orgLoading$: BehaviorSubject<any> = new BehaviorSubject(false);
|
||||||
public orgs$: Observable<Org.AsObject[]> = of([]);
|
public orgs$: Observable<Org.AsObject[]> = of([]);
|
||||||
public filterControl: FormControl = new FormControl('');
|
public filterControl: UntypedFormControl = new UntypedFormControl('');
|
||||||
@Input() public org!: Org.AsObject;
|
@Input() public org!: Org.AsObject;
|
||||||
@ViewChild('input', { static: false }) input!: ElementRef;
|
@ViewChild('input', { static: false }) input!: ElementRef;
|
||||||
@Output() public closedCard: EventEmitter<void> = new EventEmitter();
|
@Output() public closedCard: EventEmitter<void> = new EventEmitter();
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Injector, Input, OnInit, Type } from '@angular/core';
|
import { Component, Injector, Input, OnInit, Type } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { Duration } from 'google-protobuf/google/protobuf/duration_pb';
|
import { Duration } from 'google-protobuf/google/protobuf/duration_pb';
|
||||||
import { take } from 'rxjs';
|
import { take } from 'rxjs';
|
||||||
@ -43,11 +43,11 @@ export class LoginPolicyComponent implements OnInit {
|
|||||||
public loading: boolean = false;
|
public loading: boolean = false;
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
public PasswordlessType: any = PasswordlessType;
|
public PasswordlessType: any = PasswordlessType;
|
||||||
public lifetimeForm!: FormGroup;
|
public lifetimeForm!: UntypedFormGroup;
|
||||||
constructor(
|
constructor(
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private injector: Injector,
|
private injector: Injector,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private authService: GrpcAuthService,
|
private authService: GrpcAuthService,
|
||||||
private dialog: MatDialog,
|
private dialog: MatDialog,
|
||||||
) {
|
) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Injector, Input, OnDestroy, OnInit, Type } from '@angular/core';
|
import { Component, Injector, Input, OnDestroy, OnInit, Type } from '@angular/core';
|
||||||
import { FormControl, FormGroup } from '@angular/forms';
|
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';
|
import { Timestamp } from 'google-protobuf/google/protobuf/timestamp_pb';
|
||||||
import { BehaviorSubject, from, interval, Observable, of, Subject, Subscription } from 'rxjs';
|
import { BehaviorSubject, from, interval, Observable, of, Subject, Subscription } from 'rxjs';
|
||||||
@ -115,9 +115,9 @@ export class LoginTextsComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
public destroy$: Subject<void> = new Subject();
|
public destroy$: Subject<void> = new Subject();
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
public form: FormGroup = new FormGroup({
|
public form: UntypedFormGroup = new UntypedFormGroup({
|
||||||
currentSubMap: new FormControl('emailVerificationDoneText'),
|
currentSubMap: new UntypedFormControl('emailVerificationDoneText'),
|
||||||
locale: new FormControl('en'),
|
locale: new UntypedFormControl('en'),
|
||||||
});
|
});
|
||||||
|
|
||||||
public canWrite$: Observable<boolean> = this.authService.isAllowed([
|
public canWrite$: Observable<boolean> = this.authService.isAllowed([
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
|
||||||
import {
|
import {
|
||||||
AddSMSProviderTwilioRequest,
|
AddSMSProviderTwilioRequest,
|
||||||
@ -27,12 +27,12 @@ export class DialogAddSMSProviderComponent {
|
|||||||
public provider: SMSProviderType = SMSProviderType.Twilio;
|
public provider: SMSProviderType = SMSProviderType.Twilio;
|
||||||
public req!: AddSMSProviderTwilioRequest | UpdateSMSProviderTwilioRequest;
|
public req!: AddSMSProviderTwilioRequest | UpdateSMSProviderTwilioRequest;
|
||||||
|
|
||||||
public twilioForm!: FormGroup;
|
public twilioForm!: UntypedFormGroup;
|
||||||
|
|
||||||
private smsProviders: SMSProvider.AsObject[] = [];
|
private smsProviders: SMSProvider.AsObject[] = [];
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private service: AdminService,
|
private service: AdminService,
|
||||||
public dialogRef: MatDialogRef<DialogAddSMSProviderComponent>,
|
public dialogRef: MatDialogRef<DialogAddSMSProviderComponent>,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Input, OnInit } from '@angular/core';
|
import { Component, Input, OnInit } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { take } from 'rxjs';
|
import { take } from 'rxjs';
|
||||||
import {
|
import {
|
||||||
@ -36,7 +36,7 @@ export class NotificationSettingsComponent implements OnInit {
|
|||||||
public logProviderLoading: boolean = false;
|
public logProviderLoading: boolean = false;
|
||||||
public fileProviderLoading: boolean = false;
|
public fileProviderLoading: boolean = false;
|
||||||
|
|
||||||
public form!: FormGroup;
|
public form!: UntypedFormGroup;
|
||||||
|
|
||||||
public SMSProviderConfigState: any = SMSProviderConfigState;
|
public SMSProviderConfigState: any = SMSProviderConfigState;
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
@ -49,7 +49,7 @@ export class NotificationSettingsComponent implements OnInit {
|
|||||||
private service: AdminService,
|
private service: AdminService,
|
||||||
private dialog: MatDialog,
|
private dialog: MatDialog,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private authService: GrpcAuthService,
|
private authService: GrpcAuthService,
|
||||||
) {
|
) {
|
||||||
this.form = this.fb.group({
|
this.form = this.fb.group({
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { Duration } from 'google-protobuf/google/protobuf/duration_pb';
|
import { Duration } from 'google-protobuf/google/protobuf/duration_pb';
|
||||||
import { take } from 'rxjs';
|
import { take } from 'rxjs';
|
||||||
import { SetDefaultLanguageResponse, UpdateOIDCSettingsRequest } from 'src/app/proto/generated/zitadel/admin_pb';
|
import { SetDefaultLanguageResponse, UpdateOIDCSettingsRequest } from 'src/app/proto/generated/zitadel/admin_pb';
|
||||||
@ -17,10 +17,10 @@ export class OIDCConfigurationComponent implements OnInit {
|
|||||||
public oidcSettings!: OIDCSettings.AsObject;
|
public oidcSettings!: OIDCSettings.AsObject;
|
||||||
|
|
||||||
public loading: boolean = false;
|
public loading: boolean = false;
|
||||||
public form!: FormGroup;
|
public form!: UntypedFormGroup;
|
||||||
constructor(
|
constructor(
|
||||||
private service: AdminService,
|
private service: AdminService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private authService: GrpcAuthService,
|
private authService: GrpcAuthService,
|
||||||
) {
|
) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Injector, Input, OnInit, Type } from '@angular/core';
|
import { Component, Injector, Input, OnInit, Type } from '@angular/core';
|
||||||
import { FormGroup } from '@angular/forms';
|
import { UntypedFormGroup } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { GetLockoutPolicyResponse as AdminGetPasswordLockoutPolicyResponse } from 'src/app/proto/generated/zitadel/admin_pb';
|
import { GetLockoutPolicyResponse as AdminGetPasswordLockoutPolicyResponse } from 'src/app/proto/generated/zitadel/admin_pb';
|
||||||
import {
|
import {
|
||||||
@ -23,7 +23,7 @@ export class PasswordLockoutPolicyComponent implements OnInit {
|
|||||||
@Input() public service!: ManagementService | AdminService;
|
@Input() public service!: ManagementService | AdminService;
|
||||||
@Input() public serviceType: PolicyComponentServiceType = PolicyComponentServiceType.MGMT;
|
@Input() public serviceType: PolicyComponentServiceType = PolicyComponentServiceType.MGMT;
|
||||||
|
|
||||||
public lockoutForm!: FormGroup;
|
public lockoutForm!: UntypedFormGroup;
|
||||||
public lockoutData!: LockoutPolicy.AsObject;
|
public lockoutData!: LockoutPolicy.AsObject;
|
||||||
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Injector, Input, OnDestroy, OnInit, Type } from '@angular/core';
|
import { Component, Injector, Input, OnDestroy, OnInit, Type } from '@angular/core';
|
||||||
import { FormBuilder, FormGroup } from '@angular/forms';
|
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { Observable, Subscription } from 'rxjs';
|
import { Observable, Subscription } from 'rxjs';
|
||||||
import { take } from 'rxjs/operators';
|
import { take } from 'rxjs/operators';
|
||||||
@ -35,7 +35,7 @@ export class PrivacyPolicyComponent implements OnInit, OnDestroy {
|
|||||||
private sub: Subscription = new Subscription();
|
private sub: Subscription = new Subscription();
|
||||||
|
|
||||||
public privacyPolicy: PrivacyPolicy.AsObject | undefined = undefined;
|
public privacyPolicy: PrivacyPolicy.AsObject | undefined = undefined;
|
||||||
public form!: FormGroup;
|
public form!: UntypedFormGroup;
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
|
|
||||||
public canWrite$: Observable<boolean> = this.authService.isAllowed([
|
public canWrite$: Observable<boolean> = this.authService.isAllowed([
|
||||||
@ -54,7 +54,7 @@ export class PrivacyPolicyComponent implements OnInit, OnDestroy {
|
|||||||
private injector: Injector,
|
private injector: Injector,
|
||||||
private dialog: MatDialog,
|
private dialog: MatDialog,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
) {
|
) {
|
||||||
this.form = this.fb.group({
|
this.form = this.fb.group({
|
||||||
tosLink: ['', []],
|
tosLink: ['', []],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { Duration } from 'google-protobuf/google/protobuf/duration_pb';
|
import { Duration } from 'google-protobuf/google/protobuf/duration_pb';
|
||||||
import { UpdateSecretGeneratorRequest } from 'src/app/proto/generated/zitadel/admin_pb';
|
import { UpdateSecretGeneratorRequest } from 'src/app/proto/generated/zitadel/admin_pb';
|
||||||
@ -22,10 +22,10 @@ export class DialogAddSecretGeneratorComponent {
|
|||||||
];
|
];
|
||||||
public req: UpdateSecretGeneratorRequest = new UpdateSecretGeneratorRequest();
|
public req: UpdateSecretGeneratorRequest = new UpdateSecretGeneratorRequest();
|
||||||
|
|
||||||
public specsForm!: FormGroup;
|
public specsForm!: UntypedFormGroup;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
public dialogRef: MatDialogRef<DialogAddSecretGeneratorComponent>,
|
public dialogRef: MatDialogRef<DialogAddSecretGeneratorComponent>,
|
||||||
@Inject(MAT_DIALOG_DATA) public data: any,
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
) {
|
) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { ManagementService } from 'src/app/services/mgmt.service';
|
import { ManagementService } from 'src/app/services/mgmt.service';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
@ -12,7 +12,7 @@ import { ToastService } from 'src/app/services/toast.service';
|
|||||||
export class ProjectRoleDetailDialogComponent {
|
export class ProjectRoleDetailDialogComponent {
|
||||||
public projectId: string = '';
|
public projectId: string = '';
|
||||||
|
|
||||||
public formGroup!: FormGroup;
|
public formGroup!: UntypedFormGroup;
|
||||||
constructor(
|
constructor(
|
||||||
private mgmtService: ManagementService,
|
private mgmtService: ManagementService,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
@ -20,10 +20,10 @@ export class ProjectRoleDetailDialogComponent {
|
|||||||
@Inject(MAT_DIALOG_DATA) public data: any,
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
) {
|
) {
|
||||||
this.projectId = data.projectId;
|
this.projectId = data.projectId;
|
||||||
this.formGroup = new FormGroup({
|
this.formGroup = new UntypedFormGroup({
|
||||||
key: new FormControl({ value: '', disabled: true }, [Validators.required]),
|
key: new UntypedFormControl({ value: '', disabled: true }, [Validators.required]),
|
||||||
displayName: new FormControl(''),
|
displayName: new UntypedFormControl(''),
|
||||||
group: new FormControl(''),
|
group: new UntypedFormControl(''),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.formGroup.patchValue(data.role);
|
this.formGroup.patchValue(data.role);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
||||||
import { Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';
|
import { Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
||||||
import { MatChipInputEvent } from '@angular/material/chips';
|
import { MatChipInputEvent } from '@angular/material/chips';
|
||||||
import { forkJoin, from, Subject } from 'rxjs';
|
import { forkJoin, from, Subject } from 'rxjs';
|
||||||
@ -27,7 +27,7 @@ export class SearchProjectAutocompleteComponent implements OnDestroy {
|
|||||||
public removable: boolean = true;
|
public removable: boolean = true;
|
||||||
public addOnBlur: boolean = true;
|
public addOnBlur: boolean = true;
|
||||||
public separatorKeysCodes: number[] = [ENTER, COMMA];
|
public separatorKeysCodes: number[] = [ENTER, COMMA];
|
||||||
public myControl: FormControl = new FormControl();
|
public myControl: UntypedFormControl = new UntypedFormControl();
|
||||||
public names: string[] = [];
|
public names: string[] = [];
|
||||||
public projects: Array<GrantedProject.AsObject | Project.AsObject | any> = [];
|
public projects: Array<GrantedProject.AsObject | Project.AsObject | any> = [];
|
||||||
public filteredProjects: Array<GrantedProject.AsObject | Project.AsObject | any> = [];
|
public filteredProjects: Array<GrantedProject.AsObject | Project.AsObject | any> = [];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
||||||
import { Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';
|
import { Component, ElementRef, EventEmitter, Input, OnDestroy, Output, ViewChild } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
||||||
import { MatChipInputEvent } from '@angular/material/chips';
|
import { MatChipInputEvent } from '@angular/material/chips';
|
||||||
import { from, Subject } from 'rxjs';
|
import { from, Subject } from 'rxjs';
|
||||||
@ -19,7 +19,7 @@ export class SearchRolesAutocompleteComponent implements OnDestroy {
|
|||||||
public removable: boolean = true;
|
public removable: boolean = true;
|
||||||
public addOnBlur: boolean = true;
|
public addOnBlur: boolean = true;
|
||||||
public separatorKeysCodes: number[] = [ENTER, COMMA];
|
public separatorKeysCodes: number[] = [ENTER, COMMA];
|
||||||
public myControl: FormControl = new FormControl();
|
public myControl: UntypedFormControl = new UntypedFormControl();
|
||||||
public names: string[] = [];
|
public names: string[] = [];
|
||||||
public roles: Array<Role.AsObject> = [];
|
public roles: Array<Role.AsObject> = [];
|
||||||
public filteredRoles: Array<Role.AsObject> = [];
|
public filteredRoles: Array<Role.AsObject> = [];
|
||||||
|
@ -10,7 +10,7 @@ import {
|
|||||||
Output,
|
Output,
|
||||||
ViewChild,
|
ViewChild,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
import { MatAutocomplete, MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
||||||
import { MatChipInputEvent } from '@angular/material/chips';
|
import { MatChipInputEvent } from '@angular/material/chips';
|
||||||
import { from, of, Subject } from 'rxjs';
|
import { from, of, Subject } from 'rxjs';
|
||||||
@ -37,8 +37,8 @@ export class SearchUserAutocompleteComponent implements OnInit, AfterContentChec
|
|||||||
public addOnBlur: boolean = true;
|
public addOnBlur: boolean = true;
|
||||||
public separatorKeysCodes: number[] = [ENTER, COMMA];
|
public separatorKeysCodes: number[] = [ENTER, COMMA];
|
||||||
|
|
||||||
public myControl: FormControl = new FormControl();
|
public myControl: UntypedFormControl = new UntypedFormControl();
|
||||||
public globalLoginNameControl: FormControl = new FormControl();
|
public globalLoginNameControl: UntypedFormControl = new UntypedFormControl();
|
||||||
|
|
||||||
public loginNames: string[] = [];
|
public loginNames: string[] = [];
|
||||||
@Input() public users: Array<User.AsObject> = [];
|
@Input() public users: Array<User.AsObject> = [];
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
|
import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
|
||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { ActionKeysType } from 'src/app/modules/action-keys/action-keys.component';
|
import { ActionKeysType } from 'src/app/modules/action-keys/action-keys.component';
|
||||||
import { InfoSectionType } from 'src/app/modules/info-section/info-section.component';
|
import { InfoSectionType } from 'src/app/modules/info-section/info-section.component';
|
||||||
@ -22,7 +22,7 @@ export class ActionsComponent {
|
|||||||
public flow!: Flow.AsObject;
|
public flow!: Flow.AsObject;
|
||||||
public flowType: FlowType = FlowType.FLOW_TYPE_EXTERNAL_AUTHENTICATION;
|
public flowType: FlowType = FlowType.FLOW_TYPE_EXTERNAL_AUTHENTICATION;
|
||||||
|
|
||||||
public typeControl: FormControl = new FormControl(FlowType.FLOW_TYPE_EXTERNAL_AUTHENTICATION);
|
public typeControl: UntypedFormControl = new UntypedFormControl(FlowType.FLOW_TYPE_EXTERNAL_AUTHENTICATION);
|
||||||
|
|
||||||
public typesForSelection: FlowType[] = [FlowType.FLOW_TYPE_EXTERNAL_AUTHENTICATION];
|
public typesForSelection: FlowType[] = [FlowType.FLOW_TYPE_EXTERNAL_AUTHENTICATION];
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { Action, FlowType, TriggerType } from 'src/app/proto/generated/zitadel/action_pb';
|
import { Action, FlowType, TriggerType } from 'src/app/proto/generated/zitadel/action_pb';
|
||||||
import { SetTriggerActionsRequest } from 'src/app/proto/generated/zitadel/management_pb';
|
import { SetTriggerActionsRequest } from 'src/app/proto/generated/zitadel/management_pb';
|
||||||
@ -23,11 +23,11 @@ export class AddFlowDialogComponent {
|
|||||||
TriggerType.TRIGGER_TYPE_PRE_CREATION,
|
TriggerType.TRIGGER_TYPE_PRE_CREATION,
|
||||||
];
|
];
|
||||||
|
|
||||||
public form!: FormGroup;
|
public form!: UntypedFormGroup;
|
||||||
constructor(
|
constructor(
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private mgmtService: ManagementService,
|
private mgmtService: ManagementService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
public dialogRef: MatDialogRef<AddFlowDialogComponent>,
|
public dialogRef: MatDialogRef<AddFlowDialogComponent>,
|
||||||
@Inject(MAT_DIALOG_DATA) public data: any,
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
) {
|
) {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { animate, style, transition, trigger } from '@angular/animations';
|
import { animate, style, transition, trigger } from '@angular/animations';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Component } from '@angular/core';
|
import { Component } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';
|
||||||
import { MatSlideToggleChange } from '@angular/material/slide-toggle';
|
import { MatSlideToggleChange } from '@angular/material/slide-toggle';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { take } from 'rxjs/operators';
|
import { take } from 'rxjs/operators';
|
||||||
@ -49,9 +49,9 @@ function passwordConfirmValidator(c: AbstractControl): any {
|
|||||||
],
|
],
|
||||||
})
|
})
|
||||||
export class OrgCreateComponent {
|
export class OrgCreateComponent {
|
||||||
public orgForm!: FormGroup;
|
public orgForm!: UntypedFormGroup;
|
||||||
public userForm!: FormGroup;
|
public userForm!: UntypedFormGroup;
|
||||||
public pwdForm!: FormGroup;
|
public pwdForm!: UntypedFormGroup;
|
||||||
|
|
||||||
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
||||||
public languages: string[] = ['de', 'en'];
|
public languages: string[] = ['de', 'en'];
|
||||||
@ -66,7 +66,7 @@ export class OrgCreateComponent {
|
|||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private adminService: AdminService,
|
private adminService: AdminService,
|
||||||
private _location: Location,
|
private _location: Location,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private mgmtService: ManagementService,
|
private mgmtService: ManagementService,
|
||||||
private authService: GrpcAuthService,
|
private authService: GrpcAuthService,
|
||||||
) {
|
) {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';
|
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { Observable, Subscription } from 'rxjs';
|
import { Observable, Subscription } from 'rxjs';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -11,7 +11,7 @@ export class AdditionalOriginsComponent implements OnInit, OnDestroy {
|
|||||||
@Input() title: string = '';
|
@Input() title: string = '';
|
||||||
@Input() canWrite: boolean = false;
|
@Input() canWrite: boolean = false;
|
||||||
@Input() public urisList: string[] = [];
|
@Input() public urisList: string[] = [];
|
||||||
@Input() public redirectControl: FormControl = new FormControl({ value: '', disabled: true });
|
@Input() public redirectControl: UntypedFormControl = new UntypedFormControl({ value: '', disabled: true });
|
||||||
@Output() public changedUris: EventEmitter<string[]> = new EventEmitter<string[]>();
|
@Output() public changedUris: EventEmitter<string[]> = new EventEmitter<string[]>();
|
||||||
@Input() public getValues: Observable<void> = new Observable();
|
@Input() public getValues: Observable<void> = new Observable();
|
||||||
public placeholder: string = '<scheme> "://" <hostname> [ ":" <port> ]';
|
public placeholder: string = '<scheme> "://" <hostname> [ ":" <port> ]';
|
||||||
|
@ -2,7 +2,7 @@ import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';
|
|||||||
import { StepperSelectionEvent } from '@angular/cdk/stepper';
|
import { StepperSelectionEvent } from '@angular/cdk/stepper';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||||
import { Subject, Subscription } from 'rxjs';
|
import { Subject, Subscription } from 'rxjs';
|
||||||
@ -84,11 +84,11 @@ export class AppCreateComponent implements OnInit, OnDestroy {
|
|||||||
];
|
];
|
||||||
|
|
||||||
// stepper
|
// stepper
|
||||||
firstFormGroup!: FormGroup;
|
firstFormGroup!: UntypedFormGroup;
|
||||||
secondFormGroup!: FormGroup;
|
secondFormGroup!: UntypedFormGroup;
|
||||||
|
|
||||||
// devmode
|
// devmode
|
||||||
public form!: FormGroup;
|
public form!: UntypedFormGroup;
|
||||||
|
|
||||||
public AppCreateType: any = AppCreateType;
|
public AppCreateType: any = AppCreateType;
|
||||||
public OIDCAppType: any = OIDCAppType;
|
public OIDCAppType: any = OIDCAppType;
|
||||||
@ -115,7 +115,7 @@ export class AppCreateComponent implements OnInit, OnDestroy {
|
|||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private dialog: MatDialog,
|
private dialog: MatDialog,
|
||||||
private mgmtService: ManagementService,
|
private mgmtService: ManagementService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private _location: Location,
|
private _location: Location,
|
||||||
private breadcrumbService: BreadcrumbService,
|
private breadcrumbService: BreadcrumbService,
|
||||||
) {
|
) {
|
||||||
@ -247,8 +247,8 @@ export class AppCreateComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
public setDevFormValidators(): void {
|
public setDevFormValidators(): void {
|
||||||
if (this.isDevOIDC) {
|
if (this.isDevOIDC) {
|
||||||
const grantTypesControl = new FormControl('', [Validators.required]);
|
const grantTypesControl = new UntypedFormControl('', [Validators.required]);
|
||||||
const responseTypesControl = new FormControl('', [Validators.required]);
|
const responseTypesControl = new UntypedFormControl('', [Validators.required]);
|
||||||
|
|
||||||
this.form.addControl('grantTypesList', grantTypesControl);
|
this.form.addControl('grantTypesList', grantTypesControl);
|
||||||
this.form.addControl('responseTypesList', responseTypesControl);
|
this.form.addControl('responseTypesList', responseTypesControl);
|
||||||
|
@ -2,7 +2,7 @@ import { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';
|
|||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
||||||
import { MatCheckboxChange } from '@angular/material/checkbox';
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
@ -101,9 +101,9 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
|||||||
public oidcTokenTypes: OIDCTokenType[] = [OIDCTokenType.OIDC_TOKEN_TYPE_BEARER, OIDCTokenType.OIDC_TOKEN_TYPE_JWT];
|
public oidcTokenTypes: OIDCTokenType[] = [OIDCTokenType.OIDC_TOKEN_TYPE_BEARER, OIDCTokenType.OIDC_TOKEN_TYPE_JWT];
|
||||||
|
|
||||||
public AppState: any = AppState;
|
public AppState: any = AppState;
|
||||||
public oidcForm!: FormGroup;
|
public oidcForm!: UntypedFormGroup;
|
||||||
public oidcTokenForm!: FormGroup;
|
public oidcTokenForm!: UntypedFormGroup;
|
||||||
public apiForm!: FormGroup;
|
public apiForm!: UntypedFormGroup;
|
||||||
|
|
||||||
public redirectUrisList: string[] = [];
|
public redirectUrisList: string[] = [];
|
||||||
public postLogoutRedirectUrisList: string[] = [];
|
public postLogoutRedirectUrisList: string[] = [];
|
||||||
@ -132,7 +132,7 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
|||||||
public translate: TranslateService,
|
public translate: TranslateService,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private _location: Location,
|
private _location: Location,
|
||||||
private dialog: MatDialog,
|
private dialog: MatDialog,
|
||||||
private mgmtService: ManagementService,
|
private mgmtService: ManagementService,
|
||||||
@ -665,8 +665,8 @@ export class AppDetailComponent implements OnInit, OnDestroy {
|
|||||||
return this.apiForm.get('authMethodType');
|
return this.apiForm.get('authMethodType');
|
||||||
}
|
}
|
||||||
|
|
||||||
public get devMode(): FormControl | null {
|
public get devMode(): UntypedFormControl | null {
|
||||||
return this.oidcForm.get('devMode') as FormControl;
|
return this.oidcForm.get('devMode') as UntypedFormControl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get accessTokenType(): AbstractControl | null {
|
public get accessTokenType(): AbstractControl | null {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';
|
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';
|
||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
import { Observable, Subscription } from 'rxjs';
|
import { Observable, Subscription } from 'rxjs';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -13,7 +13,7 @@ export class RedirectUrisComponent implements OnInit, OnDestroy {
|
|||||||
@Input() canWrite: boolean = false;
|
@Input() canWrite: boolean = false;
|
||||||
@Input() isNative!: boolean;
|
@Input() isNative!: boolean;
|
||||||
@Input() public urisList: string[] = [];
|
@Input() public urisList: string[] = [];
|
||||||
@Input() public redirectControl: FormControl = new FormControl({ value: '', disabled: true });
|
@Input() public redirectControl: UntypedFormControl = new UntypedFormControl({ value: '', disabled: true });
|
||||||
@Output() public changedUris: EventEmitter<string[]> = new EventEmitter();
|
@Output() public changedUris: EventEmitter<string[]> = new EventEmitter();
|
||||||
@Input() public getValues: Observable<void> = new Observable();
|
@Input() public getValues: Observable<void> = new Observable();
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { animate, animateChild, query, stagger, style, transition, trigger } from '@angular/animations';
|
import { animate, animateChild, query, stagger, style, transition, trigger } from '@angular/animations';
|
||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||||
import { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
|
import { UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { ActivatedRoute, Params, Router } from '@angular/router';
|
import { ActivatedRoute, Params, Router } from '@angular/router';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
import { BulkAddProjectRolesRequest } from 'src/app/proto/generated/zitadel/management_pb';
|
import { BulkAddProjectRolesRequest } from 'src/app/proto/generated/zitadel/management_pb';
|
||||||
@ -30,11 +30,11 @@ export class ProjectRoleCreateComponent implements OnInit, OnDestroy {
|
|||||||
private subscription: Subscription = new Subscription();
|
private subscription: Subscription = new Subscription();
|
||||||
public projectId: string = '';
|
public projectId: string = '';
|
||||||
|
|
||||||
public formArray!: FormArray;
|
public formArray!: UntypedFormArray;
|
||||||
public formGroup: FormGroup = this.fb.group({
|
public formGroup: UntypedFormGroup = this.fb.group({
|
||||||
key: new FormControl('', [Validators.required]),
|
key: new UntypedFormControl('', [Validators.required]),
|
||||||
displayName: new FormControl(''),
|
displayName: new UntypedFormControl(''),
|
||||||
group: new FormControl(''),
|
group: new UntypedFormControl(''),
|
||||||
});
|
});
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@ -42,17 +42,17 @@ export class ProjectRoleCreateComponent implements OnInit, OnDestroy {
|
|||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private mgmtService: ManagementService,
|
private mgmtService: ManagementService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private _location: Location,
|
private _location: Location,
|
||||||
) {
|
) {
|
||||||
this.formArray = new FormArray([this.formGroup]);
|
this.formArray = new UntypedFormArray([this.formGroup]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public addEntry(): void {
|
public addEntry(): void {
|
||||||
const newGroup = this.fb.group({
|
const newGroup = this.fb.group({
|
||||||
key: new FormControl('', [Validators.required]),
|
key: new UntypedFormControl('', [Validators.required]),
|
||||||
displayName: new FormControl(''),
|
displayName: new UntypedFormControl(''),
|
||||||
group: new FormControl(''),
|
group: new UntypedFormControl(''),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.formArray.push(newGroup);
|
this.formArray.push(newGroup);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { Component, OnDestroy } from '@angular/core';
|
import { Component, OnDestroy } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
import { AddMachineUserRequest } from 'src/app/proto/generated/zitadel/management_pb';
|
import { AddMachineUserRequest } from 'src/app/proto/generated/zitadel/management_pb';
|
||||||
@ -15,7 +15,7 @@ import { ToastService } from 'src/app/services/toast.service';
|
|||||||
})
|
})
|
||||||
export class UserCreateMachineComponent implements OnDestroy {
|
export class UserCreateMachineComponent implements OnDestroy {
|
||||||
public user: AddMachineUserRequest.AsObject = new AddMachineUserRequest().toObject();
|
public user: AddMachineUserRequest.AsObject = new AddMachineUserRequest().toObject();
|
||||||
public userForm!: FormGroup;
|
public userForm!: UntypedFormGroup;
|
||||||
|
|
||||||
private sub: Subscription = new Subscription();
|
private sub: Subscription = new Subscription();
|
||||||
public loading: boolean = false;
|
public loading: boolean = false;
|
||||||
@ -24,7 +24,7 @@ export class UserCreateMachineComponent implements OnDestroy {
|
|||||||
private router: Router,
|
private router: Router,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
public userService: ManagementService,
|
public userService: ManagementService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private _location: Location,
|
private _location: Location,
|
||||||
breadcrumbService: BreadcrumbService,
|
breadcrumbService: BreadcrumbService,
|
||||||
) {
|
) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { Location } from '@angular/common';
|
import { Location } from '@angular/common';
|
||||||
import { ChangeDetectorRef, Component, OnDestroy, ViewChild } from '@angular/core';
|
import { ChangeDetectorRef, Component, OnDestroy, ViewChild } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import parsePhoneNumber from 'libphonenumber-js';
|
import parsePhoneNumber from 'libphonenumber-js';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
@ -44,8 +44,8 @@ export class UserCreateComponent implements OnDestroy {
|
|||||||
public user: AddHumanUserRequest.AsObject = new AddHumanUserRequest().toObject();
|
public user: AddHumanUserRequest.AsObject = new AddHumanUserRequest().toObject();
|
||||||
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
public genders: Gender[] = [Gender.GENDER_FEMALE, Gender.GENDER_MALE, Gender.GENDER_UNSPECIFIED];
|
||||||
public languages: string[] = ['de', 'en'];
|
public languages: string[] = ['de', 'en'];
|
||||||
public userForm!: FormGroup;
|
public userForm!: UntypedFormGroup;
|
||||||
public pwdForm!: FormGroup;
|
public pwdForm!: UntypedFormGroup;
|
||||||
|
|
||||||
public envSuffixLabel: string = '';
|
public envSuffixLabel: string = '';
|
||||||
private destroyed$: Subject<void> = new Subject();
|
private destroyed$: Subject<void> = new Subject();
|
||||||
@ -61,7 +61,7 @@ export class UserCreateComponent implements OnDestroy {
|
|||||||
constructor(
|
constructor(
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private mgmtService: ManagementService,
|
private mgmtService: ManagementService,
|
||||||
private changeDetRef: ChangeDetectorRef,
|
private changeDetRef: ChangeDetectorRef,
|
||||||
private _location: Location,
|
private _location: Location,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, Inject } from '@angular/core';
|
import { Component, Inject } from '@angular/core';
|
||||||
import { FormControl, Validators } from '@angular/forms';
|
import { UntypedFormControl, Validators } from '@angular/forms';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { parsePhoneNumber } from 'libphonenumber-js';
|
import { parsePhoneNumber } from 'libphonenumber-js';
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ export class EditDialogComponent {
|
|||||||
public isPhone: boolean = false;
|
public isPhone: boolean = false;
|
||||||
public isVerified: boolean = false;
|
public isVerified: boolean = false;
|
||||||
public phoneCountry: string = 'CH';
|
public phoneCountry: string = 'CH';
|
||||||
public valueControl: FormControl = new FormControl(['', [Validators.required]]);
|
public valueControl: UntypedFormControl = new UntypedFormControl(['', [Validators.required]]);
|
||||||
public EditDialogType: any = EditDialogType;
|
public EditDialogType: any = EditDialogType;
|
||||||
constructor(public dialogRef: MatDialogRef<EditDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(public dialogRef: MatDialogRef<EditDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
||||||
this.valueControl.setValue(data.value);
|
this.valueControl.setValue(data.value);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
|
import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
import { Human, Machine } from 'src/app/proto/generated/zitadel/user_pb';
|
import { Human, Machine } from 'src/app/proto/generated/zitadel/user_pb';
|
||||||
|
|
||||||
@ -14,11 +14,11 @@ export class DetailFormMachineComponent implements OnInit, OnDestroy {
|
|||||||
@Input() public disabled: boolean = false;
|
@Input() public disabled: boolean = false;
|
||||||
@Output() public submitData: EventEmitter<any> = new EventEmitter<any>();
|
@Output() public submitData: EventEmitter<any> = new EventEmitter<any>();
|
||||||
|
|
||||||
public machineForm!: FormGroup;
|
public machineForm!: UntypedFormGroup;
|
||||||
|
|
||||||
private sub: Subscription = new Subscription();
|
private sub: Subscription = new Subscription();
|
||||||
|
|
||||||
constructor(private fb: FormBuilder) {
|
constructor(private fb: UntypedFormBuilder) {
|
||||||
this.machineForm = this.fb.group({
|
this.machineForm = this.fb.group({
|
||||||
userName: [{ value: '', disabled: true }, [
|
userName: [{ value: '', disabled: true }, [
|
||||||
Validators.required,
|
Validators.required,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output } from '@angular/core';
|
import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog } from '@angular/material/dialog';
|
||||||
import { Subscription } from 'rxjs';
|
import { Subscription } from 'rxjs';
|
||||||
import { Gender, Human, Profile } from 'src/app/proto/generated/zitadel/user_pb';
|
import { Gender, Human, Profile } from 'src/app/proto/generated/zitadel/user_pb';
|
||||||
@ -24,11 +24,11 @@ export class DetailFormComponent implements OnDestroy, OnChanges {
|
|||||||
@Output() public changeUsernameClicked: EventEmitter<void> = new EventEmitter();
|
@Output() public changeUsernameClicked: EventEmitter<void> = new EventEmitter();
|
||||||
@Output() public avatarChanged: EventEmitter<void> = new EventEmitter();
|
@Output() public avatarChanged: EventEmitter<void> = new EventEmitter();
|
||||||
|
|
||||||
public profileForm!: FormGroup;
|
public profileForm!: UntypedFormGroup;
|
||||||
|
|
||||||
private sub: Subscription = new Subscription();
|
private sub: Subscription = new Subscription();
|
||||||
|
|
||||||
constructor(private fb: FormBuilder, private dialog: MatDialog) {
|
constructor(private fb: UntypedFormBuilder, private dialog: MatDialog) {
|
||||||
this.profileForm = this.fb.group({
|
this.profileForm = this.fb.group({
|
||||||
userName: [{ value: '', disabled: true }, [Validators.required]],
|
userName: [{ value: '', disabled: true }, [Validators.required]],
|
||||||
firstName: [{ value: '', disabled: this.disabled }, Validators.required],
|
firstName: [{ value: '', disabled: this.disabled }, Validators.required],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { Component, OnDestroy } from '@angular/core';
|
import { Component, OnDestroy } from '@angular/core';
|
||||||
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Subscription, take } from 'rxjs';
|
import { Subscription, take } from 'rxjs';
|
||||||
import { lowerCaseValidator, numberValidator, symbolValidator, upperCaseValidator } from 'src/app/pages/validators';
|
import { lowerCaseValidator, numberValidator, symbolValidator, upperCaseValidator } from 'src/app/pages/validators';
|
||||||
@ -33,13 +33,13 @@ export class PasswordComponent implements OnDestroy {
|
|||||||
userId: string = '';
|
userId: string = '';
|
||||||
|
|
||||||
public policy!: PasswordComplexityPolicy.AsObject;
|
public policy!: PasswordComplexityPolicy.AsObject;
|
||||||
public passwordForm!: FormGroup;
|
public passwordForm!: UntypedFormGroup;
|
||||||
|
|
||||||
private formSub: Subscription = new Subscription();
|
private formSub: Subscription = new Subscription();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
activatedRoute: ActivatedRoute,
|
activatedRoute: ActivatedRoute,
|
||||||
private fb: FormBuilder,
|
private fb: UntypedFormBuilder,
|
||||||
private authService: GrpcAuthService,
|
private authService: GrpcAuthService,
|
||||||
private mgmtUserService: ManagementService,
|
private mgmtUserService: ManagementService,
|
||||||
private toast: ToastService,
|
private toast: ToastService,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { FormControl } from '@angular/forms';
|
import { UntypedFormControl } from '@angular/forms';
|
||||||
|
|
||||||
export function symbolValidator(c: FormControl): any {
|
export function symbolValidator(c: UntypedFormControl): any {
|
||||||
const REGEXP: RegExp = /[^a-z0-9]/gi;
|
const REGEXP: RegExp = /[^a-z0-9]/gi;
|
||||||
|
|
||||||
return REGEXP.test(c.value) ? null : {
|
return REGEXP.test(c.value) ? null : {
|
||||||
@ -11,7 +11,7 @@ export function symbolValidator(c: FormControl): any {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function numberValidator(c: FormControl): any {
|
export function numberValidator(c: UntypedFormControl): any {
|
||||||
const REGEXP = /[0-9]/g;
|
const REGEXP = /[0-9]/g;
|
||||||
|
|
||||||
return REGEXP.test(c.value) ? null : {
|
return REGEXP.test(c.value) ? null : {
|
||||||
@ -22,7 +22,7 @@ export function numberValidator(c: FormControl): any {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function upperCaseValidator(c: FormControl): any {
|
export function upperCaseValidator(c: UntypedFormControl): any {
|
||||||
const REGEXP = /[A-Z]/g;
|
const REGEXP = /[A-Z]/g;
|
||||||
|
|
||||||
return REGEXP.test(c.value) ? null : {
|
return REGEXP.test(c.value) ? null : {
|
||||||
@ -33,7 +33,7 @@ export function upperCaseValidator(c: FormControl): any {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export function lowerCaseValidator(c: FormControl): any {
|
export function lowerCaseValidator(c: UntypedFormControl): any {
|
||||||
const REGEXP = /[a-z]/g;
|
const REGEXP = /[a-z]/g;
|
||||||
|
|
||||||
return REGEXP.test(c.value) ? null : {
|
return REGEXP.test(c.value) ? null : {
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
"experimentalDecorators": true,
|
"experimentalDecorators": true,
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"importHelpers": true,
|
"importHelpers": true,
|
||||||
"target": "es2015",
|
"target": "es2020",
|
||||||
"module": "es2020",
|
"module": "es2020",
|
||||||
"lib": ["es2020", "dom"]
|
"lib": ["es2020", "dom"]
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user