mirror of
https://github.com/zitadel/zitadel.git
synced 2025-01-08 19:17:40 +00:00
chore(console): npm dependencies (#6626)
* chore(deps-dev): bump eslint from 8.46.0 to 8.50.0 in /console (#6618) Bumps [eslint](https://github.com/eslint/eslint) from 8.46.0 to 8.50.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.46.0...v8.50.0) --- updated-dependencies: - dependency-name: eslint 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 @types/node from 18.16.10 to 20.6.5 in /console (#6617) Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 18.16.10 to 20.6.5. - [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-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump protobufjs from 7.2.3 to 7.2.5 in /console (#6584) Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.3 to 7.2.5. - [Release notes](https://github.com/protobufjs/protobuf.js/releases) - [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md) - [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.3...protobufjs-v7.2.5) --- updated-dependencies: - dependency-name: protobufjs dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Max Peintner <max@caos.ch> * chore(deps-dev): bump @types/jasmine from 4.3.5 to 4.3.6 in /console (#6581) Bumps [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) from 4.3.5 to 4.3.6. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasmine) --- updated-dependencies: - dependency-name: "@types/jasmine" 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> * chore(deps): bump @grpc/grpc-js from 1.8.14 to 1.9.3 in /console (#6578) Bumps [@grpc/grpc-js](https://github.com/grpc/grpc-node) from 1.8.14 to 1.9.3. - [Release notes](https://github.com/grpc/grpc-node/releases) - [Commits](https://github.com/grpc/grpc-node/compare/@grpc/grpc-js@1.8.14...@grpc/grpc-js@1.9.3) --- updated-dependencies: - dependency-name: "@grpc/grpc-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 @types/qrcode from 1.5.0 to 1.5.2 in /console (#6477) Bumps [@types/qrcode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/qrcode) from 1.5.0 to 1.5.2. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/qrcode) --- updated-dependencies: - dependency-name: "@types/qrcode" 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> * chore(deps-dev): bump prettier from 2.8.8 to 3.0.3 in /console (#6476) Bumps [prettier](https://github.com/prettier/prettier) from 2.8.8 to 3.0.3. - [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.8...3.0.3) --- updated-dependencies: - dependency-name: prettier dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump socket.io-parser from 4.2.2 to 4.2.4 in /console (#6376) Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.2 to 4.2.4. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.2...4.2.4) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump semver from 5.7.1 to 5.7.2 in /console (#6375) Bumps [semver](https://github.com/npm/node-semver) from 5.7.1 to 5.7.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/v5.7.2/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v5.7.1...v5.7.2) --- updated-dependencies: - dependency-name: semver dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * lint * node types * use node 20 --------- 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:
parent
e9148e96c7
commit
0a2e6dcfb3
36
.github/workflows/build.yml
vendored
36
.github/workflows/build.yml
vendored
@ -11,31 +11,30 @@ permissions:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
core:
|
core:
|
||||||
uses: ./.github/workflows/core.yml
|
uses: ./.github/workflows/core.yml
|
||||||
with:
|
with:
|
||||||
node_version: '18'
|
node_version: "20"
|
||||||
buf_version: 'latest'
|
buf_version: "latest"
|
||||||
go_version: '1.21'
|
go_version: "1.21"
|
||||||
|
|
||||||
console:
|
console:
|
||||||
uses: ./.github/workflows/console.yml
|
uses: ./.github/workflows/console.yml
|
||||||
with:
|
with:
|
||||||
node_version: '18'
|
node_version: "20"
|
||||||
buf_version: 'latest'
|
buf_version: "latest"
|
||||||
|
|
||||||
version:
|
version:
|
||||||
uses: ./.github/workflows/version.yml
|
uses: ./.github/workflows/version.yml
|
||||||
with:
|
with:
|
||||||
semantic_version: '19.0.2'
|
semantic_version: "19.0.2"
|
||||||
dry_run: true
|
dry_run: true
|
||||||
|
|
||||||
compile:
|
compile:
|
||||||
needs: [core, console, version]
|
needs: [core, console, version]
|
||||||
uses: ./.github/workflows/compile.yml
|
uses: ./.github/workflows/compile.yml
|
||||||
with:
|
with:
|
||||||
go_version: '1.21'
|
go_version: "1.21"
|
||||||
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
||||||
console_cache_key: ${{ needs.console.outputs.cache_key }}
|
console_cache_key: ${{ needs.console.outputs.cache_key }}
|
||||||
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
||||||
@ -46,7 +45,7 @@ jobs:
|
|||||||
needs: core
|
needs: core
|
||||||
uses: ./.github/workflows/core-unit-test.yml
|
uses: ./.github/workflows/core-unit-test.yml
|
||||||
with:
|
with:
|
||||||
go_version: '1.21'
|
go_version: "1.21"
|
||||||
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
||||||
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
||||||
|
|
||||||
@ -54,7 +53,7 @@ jobs:
|
|||||||
needs: core
|
needs: core
|
||||||
uses: ./.github/workflows/core-integration-test.yml
|
uses: ./.github/workflows/core-integration-test.yml
|
||||||
with:
|
with:
|
||||||
go_version: '1.21'
|
go_version: "1.21"
|
||||||
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
||||||
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
||||||
|
|
||||||
@ -62,10 +61,10 @@ jobs:
|
|||||||
needs: [core, console]
|
needs: [core, console]
|
||||||
uses: ./.github/workflows/lint.yml
|
uses: ./.github/workflows/lint.yml
|
||||||
with:
|
with:
|
||||||
go_version: '1.21'
|
go_version: "1.21"
|
||||||
node_version: '18'
|
node_version: "18"
|
||||||
buf_version: 'latest'
|
buf_version: "latest"
|
||||||
go_lint_version: 'v1.53.2'
|
go_lint_version: "v1.53.2"
|
||||||
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
core_cache_key: ${{ needs.core.outputs.cache_key }}
|
||||||
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
core_cache_path: ${{ needs.core.outputs.cache_path }}
|
||||||
|
|
||||||
@ -77,7 +76,7 @@ jobs:
|
|||||||
packages: write
|
packages: write
|
||||||
if: ${{ github.event_name == 'workflow_dispatch' }}
|
if: ${{ github.event_name == 'workflow_dispatch' }}
|
||||||
with:
|
with:
|
||||||
build_image_name: 'ghcr.io/zitadel/zitadel-build'
|
build_image_name: "ghcr.io/zitadel/zitadel-build"
|
||||||
|
|
||||||
e2e:
|
e2e:
|
||||||
uses: ./.github/workflows/e2e.yml
|
uses: ./.github/workflows/e2e.yml
|
||||||
@ -90,12 +89,13 @@ jobs:
|
|||||||
contents: write
|
contents: write
|
||||||
issues: write
|
issues: write
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
needs: [version, core-unit-test, core-integration-test, lint, container, e2e]
|
needs:
|
||||||
|
[version, core-unit-test, core-integration-test, lint, container, e2e]
|
||||||
if: ${{ needs.version.outputs.published == 'true' && github.event_name == 'workflow_dispatch' }}
|
if: ${{ needs.version.outputs.published == 'true' && github.event_name == 'workflow_dispatch' }}
|
||||||
secrets:
|
secrets:
|
||||||
GCR_JSON_KEY_BASE64: ${{ secrets.GCR_JSON_KEY_BASE64 }}
|
GCR_JSON_KEY_BASE64: ${{ secrets.GCR_JSON_KEY_BASE64 }}
|
||||||
with:
|
with:
|
||||||
build_image_name: ${{ needs.container.outputs.build_image }}
|
build_image_name: ${{ needs.container.outputs.build_image }}
|
||||||
semantic_version: '19.0.2'
|
semantic_version: "19.0.2"
|
||||||
image_name: 'ghcr.io/zitadel/zitadel'
|
image_name: "ghcr.io/zitadel/zitadel"
|
||||||
google_image_name: "europe-docker.pkg.dev/zitadel-common/zitadel-repo/zitadel"
|
google_image_name: "europe-docker.pkg.dev/zitadel-common/zitadel-repo/zitadel"
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
"@angular/router": "^16.2.0",
|
"@angular/router": "^16.2.0",
|
||||||
"@angular/service-worker": "^16.2.0",
|
"@angular/service-worker": "^16.2.0",
|
||||||
"@ctrl/ngx-codemirror": "^6.1.0",
|
"@ctrl/ngx-codemirror": "^6.1.0",
|
||||||
"@grpc/grpc-js": "^1.8.14",
|
"@grpc/grpc-js": "^1.9.3",
|
||||||
"@ngx-translate/core": "^14.0.0",
|
"@ngx-translate/core": "^14.0.0",
|
||||||
"angular-oauth2-oidc": "^15.0.1",
|
"angular-oauth2-oidc": "^15.0.1",
|
||||||
"angularx-qrcode": "^16.0.0",
|
"angularx-qrcode": "^16.0.0",
|
||||||
@ -41,8 +41,8 @@
|
|||||||
"libphonenumber-js": "^1.10.30",
|
"libphonenumber-js": "^1.10.30",
|
||||||
"material-design-icons-iconfont": "^6.1.1",
|
"material-design-icons-iconfont": "^6.1.1",
|
||||||
"moment": "^2.29.4",
|
"moment": "^2.29.4",
|
||||||
"opentype.js": "^1.3.4",
|
|
||||||
"ngx-color": "^9.0.0",
|
"ngx-color": "^9.0.0",
|
||||||
|
"opentype.js": "^1.3.4",
|
||||||
"rxjs": "~7.8.0",
|
"rxjs": "~7.8.0",
|
||||||
"tinycolor2": "^1.6.0",
|
"tinycolor2": "^1.6.0",
|
||||||
"tslib": "^2.4.1",
|
"tslib": "^2.4.1",
|
||||||
@ -62,17 +62,17 @@
|
|||||||
"@bufbuild/buf": "^1.23.1",
|
"@bufbuild/buf": "^1.23.1",
|
||||||
"@types/file-saver": "^2.0.2",
|
"@types/file-saver": "^2.0.2",
|
||||||
"@types/google-protobuf": "^3.15.3",
|
"@types/google-protobuf": "^3.15.3",
|
||||||
"@types/jasmine": "~4.3.3",
|
"@types/jasmine": "~4.3.6",
|
||||||
"@types/jasminewd2": "~2.0.10",
|
"@types/jasminewd2": "~2.0.10",
|
||||||
"@types/jsonwebtoken": "^9.0.1",
|
"@types/jsonwebtoken": "^9.0.1",
|
||||||
"@types/node": "^18.15.11",
|
"@types/node": "^20.7.0",
|
||||||
"@types/opentype.js": "^1.3.4",
|
"@types/opentype.js": "^1.3.4",
|
||||||
"@types/qrcode": "^1.5.0",
|
"@types/qrcode": "^1.5.2",
|
||||||
"@types/uuid": "^9.0.2",
|
"@types/uuid": "^9.0.2",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.59.11",
|
"@typescript-eslint/eslint-plugin": "^5.59.11",
|
||||||
"@typescript-eslint/parser": "^5.60.1",
|
"@typescript-eslint/parser": "^5.60.1",
|
||||||
"codelyzer": "^6.0.2",
|
"codelyzer": "^6.0.2",
|
||||||
"eslint": "^8.44.0",
|
"eslint": "^8.50.0",
|
||||||
"jasmine-core": "~4.6.0",
|
"jasmine-core": "~4.6.0",
|
||||||
"jasmine-spec-reporter": "~7.0.0",
|
"jasmine-spec-reporter": "~7.0.0",
|
||||||
"karma": "^6.4.2",
|
"karma": "^6.4.2",
|
||||||
@ -80,7 +80,7 @@
|
|||||||
"karma-coverage-istanbul-reporter": "^3.0.3",
|
"karma-coverage-istanbul-reporter": "^3.0.3",
|
||||||
"karma-jasmine": "^5.1.0",
|
"karma-jasmine": "^5.1.0",
|
||||||
"karma-jasmine-html-reporter": "^2.1.0",
|
"karma-jasmine-html-reporter": "^2.1.0",
|
||||||
"prettier": "^2.8.7",
|
"prettier": "^3.0.3",
|
||||||
"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"
|
||||||
|
@ -9,7 +9,10 @@ import { GrpcAuthService } from '../services/grpc-auth.service';
|
|||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
})
|
})
|
||||||
export class UserGuard {
|
export class UserGuard {
|
||||||
constructor(private authService: GrpcAuthService, private router: Router) {}
|
constructor(
|
||||||
|
private authService: GrpcAuthService,
|
||||||
|
private router: Router,
|
||||||
|
) {}
|
||||||
|
|
||||||
public canActivate(
|
public canActivate(
|
||||||
route: ActivatedRouteSnapshot,
|
route: ActivatedRouteSnapshot,
|
||||||
|
@ -18,7 +18,11 @@ export class AccountsCardComponent implements OnInit {
|
|||||||
public sessions: Session.AsObject[] = [];
|
public sessions: Session.AsObject[] = [];
|
||||||
public loadingUsers: boolean = false;
|
public loadingUsers: boolean = false;
|
||||||
public UserState: any = UserState;
|
public UserState: any = UserState;
|
||||||
constructor(public authService: AuthenticationService, private router: Router, private userService: GrpcAuthService) {
|
constructor(
|
||||||
|
public authService: AuthenticationService,
|
||||||
|
private router: Router,
|
||||||
|
private userService: GrpcAuthService,
|
||||||
|
) {
|
||||||
this.userService
|
this.userService
|
||||||
.listMyUserSessions()
|
.listMyUserSessions()
|
||||||
.then((sessions) => {
|
.then((sessions) => {
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
<mat-datepicker #picker [startAt]="startDate"></mat-datepicker>
|
<mat-datepicker #picker [startAt]="startDate"></mat-datepicker>
|
||||||
<span cnslError *ngIf="dateControl && dateControl.errors && 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>
|
||||||
|
@ -22,7 +22,10 @@ export class AddKeyDialogComponent {
|
|||||||
public type!: KeyType;
|
public type!: KeyType;
|
||||||
public dateControl: UntypedFormControl = new UntypedFormControl('', []);
|
public dateControl: UntypedFormControl = new UntypedFormControl('', []);
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<AddKeyDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<AddKeyDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.types = [KeyType.KEY_TYPE_JSON];
|
this.types = [KeyType.KEY_TYPE_JSON];
|
||||||
this.type = KeyType.KEY_TYPE_JSON;
|
this.type = KeyType.KEY_TYPE_JSON;
|
||||||
const today = new Date();
|
const today = new Date();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<span class="title" mat-dialog-title>{{ 'MEMBER.EDITROLE' | translate }}</span>
|
<span class="title" mat-dialog-title>{{ 'MEMBER.EDITROLE' | translate }}</span>
|
||||||
<div mat-dialog-content>
|
<div mat-dialog-content>
|
||||||
<p class="desc">{{ 'MEMBER.EDITFOR' | translate : { value: data.user } }}</p>
|
<p class="desc">{{ 'MEMBER.EDITFOR' | translate: { value: data.user } }}</p>
|
||||||
<div class="roles-selection">
|
<div class="roles-selection">
|
||||||
<mat-checkbox
|
<mat-checkbox
|
||||||
class="role-cb"
|
class="role-cb"
|
||||||
|
@ -14,7 +14,10 @@ export class AddMemberRolesDialogComponent {
|
|||||||
public allRoles: string[] = [];
|
public allRoles: string[] = [];
|
||||||
public selectedRoles: string[] = [];
|
public selectedRoles: string[] = [];
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<AddMemberRolesDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<AddMemberRolesDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.allRoles = Object.assign([], data.allRoles);
|
this.allRoles = Object.assign([], data.allRoles);
|
||||||
this.selectedRoles = Object.assign([], data.selectedRoles);
|
this.selectedRoles = Object.assign([], data.selectedRoles);
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<mat-datepicker #picker startView="year" [startAt]="startDate"></mat-datepicker>
|
<mat-datepicker #picker startView="year" [startAt]="startDate"></mat-datepicker>
|
||||||
<span cnslError *ngIf="dateControl && dateControl.errors && 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>
|
||||||
|
@ -14,7 +14,10 @@ export class AddTokenDialogComponent {
|
|||||||
public startDate: Date = new Date();
|
public startDate: Date = new Date();
|
||||||
public dateControl: UntypedFormControl = new UntypedFormControl('', []);
|
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();
|
||||||
this.startDate.setDate(today.getDate() + 1);
|
this.startDate.setDate(today.getDate() + 1);
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,11 @@
|
|||||||
outline: none;
|
outline: none;
|
||||||
color: white;
|
color: white;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
|
font-family:
|
||||||
|
'Lato',
|
||||||
|
-apple-system,
|
||||||
|
BlinkMacSystemFont,
|
||||||
|
sans-serif;
|
||||||
// box-shadow: 0 0 3px #0000001a;
|
// box-shadow: 0 0 3px #0000001a;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<div class="scroll-container">
|
<div class="scroll-container">
|
||||||
<li class="item" *ngFor="let hist of data | async; index as histindex">
|
<li class="item" *ngFor="let hist of data | async; index as histindex">
|
||||||
<span *ngIf="hist.values[0].dates[0]" class="date">
|
<span *ngIf="hist.values[0].dates[0]" class="date">
|
||||||
{{ hist.values[0].dates[0] | timestampToDate | localizedDate : 'dd. MMM YYYY' }}
|
{{ hist.values[0].dates[0] | timestampToDate | localizedDate: 'dd. MMM YYYY' }}
|
||||||
</span>
|
</span>
|
||||||
<div class="item" *ngFor="let dayelement of hist.values; index as i">
|
<div class="item" *ngFor="let dayelement of hist.values; index as i">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@ -28,8 +28,8 @@
|
|||||||
<span class="msg">{{ action.localizedMessage }}</span>
|
<span class="msg">{{ action.localizedMessage }}</span>
|
||||||
<span
|
<span
|
||||||
class="block"
|
class="block"
|
||||||
matTooltip="{{ dayelement.dates[j] | timestampToDate | localizedDate : 'dd. MM YYYY, HH:mm' }}"
|
matTooltip="{{ dayelement.dates[j] | timestampToDate | localizedDate: 'dd. MM YYYY, HH:mm' }}"
|
||||||
>{{ dayelement.dates[j] | timestampToDate | localizedDate : 'HH:mm' }}</span
|
>{{ dayelement.dates[j] | timestampToDate | localizedDate: 'HH:mm' }}</span
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -70,7 +70,10 @@ export class ChangesComponent implements OnInit, OnDestroy {
|
|||||||
);
|
);
|
||||||
public changes!: ListChanges;
|
public changes!: ListChanges;
|
||||||
private destroyed$: Subject<void> = new Subject();
|
private destroyed$: Subject<void> = new Subject();
|
||||||
constructor(private mgmtUserService: ManagementService, private authUserService: GrpcAuthService) {}
|
constructor(
|
||||||
|
private mgmtUserService: ManagementService,
|
||||||
|
private authUserService: GrpcAuthService,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.init();
|
this.init();
|
||||||
|
@ -52,14 +52,14 @@
|
|||||||
<ng-container matColumnDef="creationDate">
|
<ng-container matColumnDef="creationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.CREATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let key">
|
<td mat-cell *matCellDef="let key">
|
||||||
{{ key.details.creationDate | timestampToDate | localizedDate : 'fromNow' }}
|
{{ key.details.creationDate | timestampToDate | localizedDate: 'fromNow' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="expirationDate">
|
<ng-container matColumnDef="expirationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.EXPIRATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.EXPIRATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let key">
|
<td mat-cell *matCellDef="let key">
|
||||||
{{ key.expirationDate | timestampToDate | localizedDate : 'fromNow' }}
|
{{ key.expirationDate | timestampToDate | localizedDate: 'fromNow' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
<div class="data-row" *ngIf="event && event.creationDate">
|
<div class="data-row" *ngIf="event && event.creationDate">
|
||||||
<span class="label cnsl-secondary-text">{{ 'IAM.EVENTS.CREATIONDATE' | translate }}</span>
|
<span class="label cnsl-secondary-text">{{ 'IAM.EVENTS.CREATIONDATE' | translate }}</span>
|
||||||
<span>{{ event.creationDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span>
|
<span>{{ event.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="data-row" *ngIf="event && event.aggregate && event.aggregate.id">
|
<div class="data-row" *ngIf="event && event.aggregate && event.aggregate.id">
|
||||||
|
@ -16,7 +16,10 @@ export class DisplayJsonDialogComponent {
|
|||||||
public payload: any = '';
|
public payload: any = '';
|
||||||
public opened$ = this.dialogRef.afterOpened().pipe(mapTo(true));
|
public opened$ = this.dialogRef.afterOpened().pipe(mapTo(true));
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<DisplayJsonDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<DisplayJsonDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.event = data.event;
|
this.event = data.event;
|
||||||
if ((data.event as Event) && data.event.payload) {
|
if ((data.event as Event) && data.event.payload) {
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,10 @@ 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 override route: ActivatedRoute) {
|
constructor(
|
||||||
|
router: Router,
|
||||||
|
protected override route: ActivatedRoute,
|
||||||
|
) {
|
||||||
super(router, route);
|
super(router, route);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,7 +64,10 @@ export class FilterComponent implements OnDestroy {
|
|||||||
this.destroy$.complete();
|
this.destroy$.complete();
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(private router: Router, protected route: ActivatedRoute) {
|
constructor(
|
||||||
|
private router: Router,
|
||||||
|
protected route: ActivatedRoute,
|
||||||
|
) {
|
||||||
const changes$ = this.filterChanged.asObservable();
|
const changes$ = this.filterChanged.asObservable();
|
||||||
changes$.pipe(takeUntil(this.destroy$)).subscribe((queries) => {
|
changes$.pipe(takeUntil(this.destroy$)).subscribe((queries) => {
|
||||||
const filters: Array<FilterSearchQueryAsObject | {}> | undefined = queries
|
const filters: Array<FilterSearchQueryAsObject | {}> | undefined = queries
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div *ngSwitchCase="'errors'" class="cnsl-form-field-error-wrapper" [@transitionMessages]="_subscriptAnimationState">
|
<div *ngSwitchCase="'errors'" class="cnsl-form-field-error-wrapper" [@transitionMessages]="_subscriptAnimationState">
|
||||||
<span cnslError *ngFor="let err of help.validationErrors">
|
<span cnslError *ngFor="let err of help.validationErrors">
|
||||||
{{ err.i18nKey | translate : err.params }}
|
{{ err.i18nKey | translate: err.params }}
|
||||||
</span>
|
</span>
|
||||||
<ng-content select="cnsl-error"></ng-content>
|
<ng-content select="cnsl-error"></ng-content>
|
||||||
</div>
|
</div>
|
||||||
|
@ -107,14 +107,14 @@
|
|||||||
<ng-container matColumnDef="creationDate">
|
<ng-container matColumnDef="creationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'IDP.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'IDP.CREATIONDATE' | translate }}</th>
|
||||||
<td class="pointer" mat-cell *matCellDef="let idp">
|
<td class="pointer" mat-cell *matCellDef="let idp">
|
||||||
<span>{{ idp.details.creationDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm' }}</span>
|
<span>{{ idp.details.creationDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="changeDate">
|
<ng-container matColumnDef="changeDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'IDP.CHANGEDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'IDP.CHANGEDATE' | translate }}</th>
|
||||||
<td class="pointer" mat-cell *matCellDef="let idp">
|
<td class="pointer" mat-cell *matCellDef="let idp">
|
||||||
<span>{{ idp.details.changeDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm' }}</span>
|
<span>{{ idp.details.changeDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
<span class="title" mat-dialog-title>{{ data.titleKey | translate : data.titleParam }}</span>
|
<span class="title" mat-dialog-title>{{ data.titleKey | translate: data.titleParam }}</span>
|
||||||
<div mat-dialog-content>
|
<div mat-dialog-content>
|
||||||
<div class="icon-wrapper" *ngIf="data.icon">
|
<div class="icon-wrapper" *ngIf="data.icon">
|
||||||
<i class="icon {{ data.icon }}"></i>
|
<i class="icon {{ data.icon }}"></i>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc cnsl-secondary-text">{{ data.descriptionKey | translate : data.descriptionParam }}</p>
|
<p class="desc cnsl-secondary-text">{{ data.descriptionKey | translate: data.descriptionParam }}</p>
|
||||||
|
|
||||||
<cnsl-info-section *ngIf="data.infoSectionKey" [type]="InfoSectionType.INFO">{{
|
<cnsl-info-section *ngIf="data.infoSectionKey" [type]="InfoSectionType.INFO">{{
|
||||||
data.warnSectionKey | translate
|
data.warnSectionKey | translate
|
||||||
}}</cnsl-info-section>
|
}}</cnsl-info-section>
|
||||||
|
|
||||||
<p *ngIf="data.hintKey" class="desc cnsl-secondary-text">{{ data.hintKey | translate : { value: data.confirmation } }}</p>
|
<p *ngIf="data.hintKey" class="desc cnsl-secondary-text">{{ data.hintKey | translate: { value: data.confirmation } }}</p>
|
||||||
|
|
||||||
<cnsl-form-field *ngIf="data.confirmation && data.confirmationKey" class="formfield">
|
<cnsl-form-field *ngIf="data.confirmation && data.confirmationKey" class="formfield">
|
||||||
<cnsl-label>{{ data.confirmationKey | translate : { value: data.confirmation } }}</cnsl-label>
|
<cnsl-label>{{ data.confirmationKey | translate: { value: data.confirmation } }}</cnsl-label>
|
||||||
<input cnslInput [(ngModel)]="confirm" data-e2e="confirm-dialog-input" />
|
<input cnslInput [(ngModel)]="confirm" data-e2e="confirm-dialog-input" />
|
||||||
</cnsl-form-field>
|
</cnsl-form-field>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,7 +14,10 @@ import { InfoSectionType } from '../info-section/info-section.component';
|
|||||||
export class InfoDialogComponent {
|
export class InfoDialogComponent {
|
||||||
public confirm: string = '';
|
public confirm: string = '';
|
||||||
InfoSectionType: any = InfoSectionType;
|
InfoSectionType: any = InfoSectionType;
|
||||||
constructor(public dialogRef: MatDialogRef<InfoDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {}
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<InfoDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {}
|
||||||
|
|
||||||
public closeDialog(): void {
|
public closeDialog(): void {
|
||||||
this.dialogRef.close(false);
|
this.dialogRef.close(false);
|
||||||
|
@ -9,5 +9,8 @@ export const OVERLAY_DATA = new InjectionToken<any>('OVERLAY_DATA');
|
|||||||
styleUrls: ['./info-overlay.component.scss'],
|
styleUrls: ['./info-overlay.component.scss'],
|
||||||
})
|
})
|
||||||
export class InfoOverlayComponent {
|
export class InfoOverlayComponent {
|
||||||
constructor(public workflowService: OverlayWorkflowService, @Inject(OVERLAY_DATA) public data: any) {}
|
constructor(
|
||||||
|
public workflowService: OverlayWorkflowService,
|
||||||
|
@Inject(OVERLAY_DATA) public data: any,
|
||||||
|
) {}
|
||||||
}
|
}
|
||||||
|
@ -21,14 +21,14 @@
|
|||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'USER.DETAILS.DATECREATED' | translate }}</p>
|
<p class="info-row-title">{{ 'USER.DETAILS.DATECREATED' | translate }}</p>
|
||||||
<p *ngIf="user && user.details && user.details.creationDate" class="info-row-desc">
|
<p *ngIf="user && user.details && user.details.creationDate" class="info-row-desc">
|
||||||
{{ user.details.creationDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ user.details.creationDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'USER.DETAILS.DATECHANGED' | translate }}</p>
|
<p class="info-row-title">{{ 'USER.DETAILS.DATECHANGED' | translate }}</p>
|
||||||
<p *ngIf="user && user.details && user.details.changeDate" class="info-row-desc">
|
<p *ngIf="user && user.details && user.details.changeDate" class="info-row-desc">
|
||||||
{{ user.details.changeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ user.details.changeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -97,14 +97,14 @@
|
|||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'ORG.PAGES.CREATIONDATE' | translate }}</p>
|
<p class="info-row-title">{{ 'ORG.PAGES.CREATIONDATE' | translate }}</p>
|
||||||
<p *ngIf="instance && instance.details && instance.details.creationDate" class="info-row-desc">
|
<p *ngIf="instance && instance.details && instance.details.creationDate" class="info-row-desc">
|
||||||
{{ instance.details.creationDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ instance.details.creationDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'ORG.PAGES.DATECHANGED' | translate }}</p>
|
<p class="info-row-title">{{ 'ORG.PAGES.DATECHANGED' | translate }}</p>
|
||||||
<p *ngIf="instance && instance.details && instance.details.changeDate" class="info-row-desc">
|
<p *ngIf="instance && instance.details && instance.details.changeDate" class="info-row-desc">
|
||||||
{{ instance.details.changeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ instance.details.changeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -144,14 +144,14 @@
|
|||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'ORG.PAGES.CREATIONDATE' | translate }}</p>
|
<p class="info-row-title">{{ 'ORG.PAGES.CREATIONDATE' | translate }}</p>
|
||||||
<p *ngIf="org && org.details && org.details.creationDate" class="info-row-desc">
|
<p *ngIf="org && org.details && org.details.creationDate" class="info-row-desc">
|
||||||
{{ org.details.creationDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ org.details.creationDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'ORG.PAGES.DATECHANGED' | translate }}</p>
|
<p class="info-row-title">{{ 'ORG.PAGES.DATECHANGED' | translate }}</p>
|
||||||
<p *ngIf="org && org.details && org.details.changeDate" class="info-row-desc">
|
<p *ngIf="org && org.details && org.details.changeDate" class="info-row-desc">
|
||||||
{{ org.details.changeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ org.details.changeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -179,14 +179,14 @@
|
|||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'PROJECT.PAGES.CREATEDON' | translate }}</p>
|
<p class="info-row-title">{{ 'PROJECT.PAGES.CREATEDON' | translate }}</p>
|
||||||
<p *ngIf="project && project.details && project.details.creationDate" class="info-row-desc">
|
<p *ngIf="project && project.details && project.details.creationDate" class="info-row-desc">
|
||||||
{{ project.details.creationDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ project.details.creationDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}</p>
|
<p class="info-row-title">{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}</p>
|
||||||
<p *ngIf="project && project.details && project.details.changeDate" class="info-row-desc">
|
<p *ngIf="project && project.details && project.details.changeDate" class="info-row-desc">
|
||||||
{{ project.details.changeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ project.details.changeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -219,14 +219,14 @@
|
|||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'PROJECT.PAGES.CREATEDON' | translate }}</p>
|
<p class="info-row-title">{{ 'PROJECT.PAGES.CREATEDON' | translate }}</p>
|
||||||
<p *ngIf="grantedProject && grantedProject.details && grantedProject.details.creationDate" class="info-row-desc">
|
<p *ngIf="grantedProject && grantedProject.details && grantedProject.details.creationDate" class="info-row-desc">
|
||||||
{{ grantedProject.details.creationDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ grantedProject.details.creationDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}</p>
|
<p class="info-row-title">{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}</p>
|
||||||
<p *ngIf="grantedProject && grantedProject.details && grantedProject.details.changeDate" class="info-row-desc">
|
<p *ngIf="grantedProject && grantedProject.details && grantedProject.details.changeDate" class="info-row-desc">
|
||||||
{{ grantedProject.details.changeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ grantedProject.details.changeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -252,14 +252,14 @@
|
|||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'APP.PAGES.DATECREATED' | translate }}</p>
|
<p class="info-row-title">{{ 'APP.PAGES.DATECREATED' | translate }}</p>
|
||||||
<p *ngIf="app && app.details && app.details.creationDate" class="info-row-desc">
|
<p *ngIf="app && app.details && app.details.creationDate" class="info-row-desc">
|
||||||
{{ app.details.creationDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ app.details.creationDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'APP.PAGES.DATECHANGED' | translate }}</p>
|
<p class="info-row-title">{{ 'APP.PAGES.DATECHANGED' | translate }}</p>
|
||||||
<p *ngIf="app && app.details && app.details.changeDate" class="info-row-desc">
|
<p *ngIf="app && app.details && app.details.changeDate" class="info-row-desc">
|
||||||
{{ app.details.changeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ app.details.changeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -305,14 +305,14 @@
|
|||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'IDP.DETAIL.DATECREATED' | translate }}</p>
|
<p class="info-row-title">{{ 'IDP.DETAIL.DATECREATED' | translate }}</p>
|
||||||
<p class="info-row-desc" *ngIf="idp && idp.details && idp.details.creationDate">
|
<p class="info-row-desc" *ngIf="idp && idp.details && idp.details.creationDate">
|
||||||
{{ idp.details.creationDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ idp.details.creationDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-wrapper">
|
<div class="info-wrapper">
|
||||||
<p class="info-row-title">{{ 'IDP.DETAIL.DATECHANGED' | translate }}</p>
|
<p class="info-row-title">{{ 'IDP.DETAIL.DATECHANGED' | translate }}</p>
|
||||||
<p class="info-row-desc" *ngIf="idp && idp.details && idp.details.changeDate">
|
<p class="info-row-desc" *ngIf="idp && idp.details && idp.details.changeDate">
|
||||||
{{ idp.details.changeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm' }}
|
{{ idp.details.changeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -52,14 +52,14 @@
|
|||||||
<ng-container matColumnDef="creationDate">
|
<ng-container matColumnDef="creationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.CREATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let key">
|
<td mat-cell *matCellDef="let key">
|
||||||
{{ key.details?.creationDate | timestampToDate | localizedDate : 'fromNow' }}
|
{{ key.details?.creationDate | timestampToDate | localizedDate: 'fromNow' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="expirationDate">
|
<ng-container matColumnDef="expirationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.EXPIRATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.EXPIRATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let key">
|
<td mat-cell *matCellDef="let key">
|
||||||
{{ key.expirationDate | timestampToDate | localizedDate : 'fromNow' }}
|
{{ key.expirationDate | timestampToDate | localizedDate: 'fromNow' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -99,7 +99,7 @@
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button menuActions mat-menu-item [routerLink]="['/users', member.userId]">
|
<button menuActions mat-menu-item [routerLink]="['/users', member.userId]">
|
||||||
{{ 'ACTIONS.TABLE.SHOWUSER' | translate : { value: member.displayName } }}
|
{{ 'ACTIONS.TABLE.SHOWUSER' | translate: { value: member.displayName } }}
|
||||||
</button>
|
</button>
|
||||||
</cnsl-table-actions>
|
</cnsl-table-actions>
|
||||||
</td>
|
</td>
|
||||||
|
@ -13,7 +13,10 @@ export class MembershipsDataSource extends DataSource<Membership.AsObject> {
|
|||||||
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
||||||
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
||||||
|
|
||||||
constructor(private auth: GrpcAuthService, private service: ManagementService) {
|
constructor(
|
||||||
|
private auth: GrpcAuthService,
|
||||||
|
private service: ManagementService,
|
||||||
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div class="title-row">
|
<div class="title-row">
|
||||||
<h1 class="metadata-title">{{ 'METADATA.TITLE' | translate }}</h1>
|
<h1 class="metadata-title">{{ 'METADATA.TITLE' | translate }}</h1>
|
||||||
<span class="fill-space"></span>
|
<span class="fill-space"></span>
|
||||||
<p *ngIf="ts" class="ts cnsl-secondary-text">{{ ts | timestampToDate | localizedDate : 'dd. MMM, HH:mm' }}</p>
|
<p *ngIf="ts" class="ts cnsl-secondary-text">{{ ts | timestampToDate | localizedDate: 'dd. MMM, HH:mm' }}</p>
|
||||||
<mat-spinner *ngIf="loading" diameter="20"></mat-spinner>
|
<mat-spinner *ngIf="loading" diameter="20"></mat-spinner>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc">{{ 'METADATA.DESCRIPTION' | translate }}</p>
|
<p class="desc">{{ 'METADATA.DESCRIPTION' | translate }}</p>
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class NameDialogComponent {
|
export class NameDialogComponent {
|
||||||
public name: string = '';
|
public name: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<NameDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<NameDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.name = data.name ?? '';
|
this.name = data.name ?? '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<button class="nav-toggle" [ngClass]="{active}" (click)="clicked.emit()">
|
<button class="nav-toggle" [ngClass]="{ active }" (click)="clicked.emit()">
|
||||||
<div class="c_label">
|
<div class="c_label">
|
||||||
<span> {{ label }} </span>
|
<span> {{ label }} </span>
|
||||||
<div *ngIf="count && count < 100" class="count">
|
<div *ngIf="count && count < 100" class="count">
|
||||||
|
@ -30,7 +30,11 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
background: none;
|
background: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
|
font-family:
|
||||||
|
'Lato',
|
||||||
|
-apple-system,
|
||||||
|
BlinkMacSystemFont,
|
||||||
|
sans-serif;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 27px;
|
height: 27px;
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@
|
|||||||
[routerLinkActiveOptions]="{ exact: false }"
|
[routerLinkActiveOptions]="{ exact: false }"
|
||||||
[routerLinkActive]="['active']"
|
[routerLinkActive]="['active']"
|
||||||
[routerLink]="['/settings']"
|
[routerLink]="['/settings']"
|
||||||
*ngIf="['iam.read', 'iam.policy.read'] | hasRole : true | async"
|
*ngIf="['iam.read', 'iam.policy.read'] | hasRole: true | async"
|
||||||
>
|
>
|
||||||
<div class="c_label">
|
<div class="c_label">
|
||||||
<span> {{ 'MENU.SETTINGS' | translate }} </span>
|
<span> {{ 'MENU.SETTINGS' | translate }} </span>
|
||||||
|
@ -11,7 +11,10 @@ import { ONBOARDING_EVENTS } from 'src/app/utils/onboarding';
|
|||||||
export class OnboardingComponent {
|
export class OnboardingComponent {
|
||||||
public actions = this.adminService.progressEvents;
|
public actions = this.adminService.progressEvents;
|
||||||
|
|
||||||
constructor(public adminService: AdminService, public themeService: ThemeService) {
|
constructor(
|
||||||
|
public adminService: AdminService,
|
||||||
|
public themeService: ThemeService,
|
||||||
|
) {
|
||||||
this.adminService.loadEvents.next(ONBOARDING_EVENTS);
|
this.adminService.loadEvents.next(ONBOARDING_EVENTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,10 @@ export class OrgContextComponent implements OnInit {
|
|||||||
@Output() public closedCard: EventEmitter<void> = new EventEmitter();
|
@Output() public closedCard: EventEmitter<void> = new EventEmitter();
|
||||||
@Output() public setOrg: EventEmitter<Org.AsObject> = new EventEmitter();
|
@Output() public setOrg: EventEmitter<Org.AsObject> = new EventEmitter();
|
||||||
|
|
||||||
constructor(public authService: AuthenticationService, private auth: GrpcAuthService) {
|
constructor(
|
||||||
|
public authService: AuthenticationService,
|
||||||
|
private auth: GrpcAuthService,
|
||||||
|
) {
|
||||||
this.filterControl.valueChanges.pipe(debounceTime(500)).subscribe((value) => {
|
this.filterControl.valueChanges.pipe(debounceTime(500)).subscribe((value) => {
|
||||||
this.loadOrgs(value.trim().toLowerCase());
|
this.loadOrgs(value.trim().toLowerCase());
|
||||||
});
|
});
|
||||||
|
@ -80,7 +80,7 @@
|
|||||||
{{ 'ORG.PAGES.CREATIONDATE' | translate }}
|
{{ 'ORG.PAGES.CREATIONDATE' | translate }}
|
||||||
</th>
|
</th>
|
||||||
<td mat-cell *matCellDef="let org" (click)="setAndNavigateToOrg(org)">
|
<td mat-cell *matCellDef="let org" (click)="setAndNavigateToOrg(org)">
|
||||||
{{ org.details?.creationDate | timestampToDate | localizedDate : 'fromNow' }}
|
{{ org.details?.creationDate | timestampToDate | localizedDate: 'fromNow' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
@ -89,7 +89,7 @@
|
|||||||
{{ 'ORG.PAGES.DATECHANGED' | translate }}
|
{{ 'ORG.PAGES.DATECHANGED' | translate }}
|
||||||
</th>
|
</th>
|
||||||
<td mat-cell *matCellDef="let org" (click)="setAndNavigateToOrg(org)">
|
<td mat-cell *matCellDef="let org" (click)="setAndNavigateToOrg(org)">
|
||||||
{{ org.details?.changeDate | timestampToDate | localizedDate : 'fromNow' }}
|
{{ org.details?.changeDate | timestampToDate | localizedDate: 'fromNow' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<span>{{ length }} </span>{{ 'PAGINATOR.COUNT' | translate }}
|
<span>{{ length }} </span>{{ 'PAGINATOR.COUNT' | translate }}
|
||||||
</p>
|
</p>
|
||||||
<p class="ts cnsl-secondary-text" *ngIf="timestamp" data-e2e="timestamp">
|
<p class="ts cnsl-secondary-text" *ngIf="timestamp" data-e2e="timestamp">
|
||||||
{{ timestamp | timestampToDate | localizedDate : 'EEEE dd. MMM YYYY, HH:mm' }}
|
{{ timestamp | timestampToDate | localizedDate: 'EEEE dd. MMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<span class="fill-space"></span>
|
<span class="fill-space"></span>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
</ng-template>
|
</ng-template>
|
||||||
|
|
||||||
<span class="cnsl-secondary-text"
|
<span class="cnsl-secondary-text"
|
||||||
>{{ 'USER.PASSWORD.MINLENGTHERROR' | translate : { value: policy.minLength } }} ({{ password?.value?.length }}/{{
|
>{{ 'USER.PASSWORD.MINLENGTHERROR' | translate: { value: policy.minLength } }} ({{ password?.value?.length }}/{{
|
||||||
policy.minLength
|
policy.minLength
|
||||||
}})
|
}})
|
||||||
</span>
|
</span>
|
||||||
|
@ -47,14 +47,14 @@
|
|||||||
<ng-container matColumnDef="creationDate">
|
<ng-container matColumnDef="creationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.CREATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let key">
|
<td mat-cell *matCellDef="let key">
|
||||||
{{ key.details?.creationDate | timestampToDate | localizedDate : 'fromNow' }}
|
{{ key.details?.creationDate | timestampToDate | localizedDate: 'fromNow' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="expirationDate">
|
<ng-container matColumnDef="expirationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.EXPIRATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.MACHINE.EXPIRATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let key">
|
<td mat-cell *matCellDef="let key">
|
||||||
{{ key.expirationDate | timestampToDate | localizedDate : 'EEE dd. MMM YYYY, HH:mm' }}
|
{{ key.expirationDate | timestampToDate | localizedDate: 'EEE dd. MMM YYYY, HH:mm' }}
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -13,7 +13,10 @@ export class GeneralSettingsComponent implements OnInit {
|
|||||||
public defaultLanguageOptions: string[] = [];
|
public defaultLanguageOptions: string[] = [];
|
||||||
|
|
||||||
public loading: boolean = false;
|
public loading: boolean = false;
|
||||||
constructor(private service: AdminService, private toast: ToastService) {}
|
constructor(
|
||||||
|
private service: AdminService,
|
||||||
|
private toast: ToastService,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.fetchData();
|
this.fetchData();
|
||||||
|
@ -20,7 +20,10 @@ export class DialogAddTypeComponent {
|
|||||||
public availableMfaTypes: Array<MultiFactorType | SecondFactorType> = [];
|
public availableMfaTypes: Array<MultiFactorType | SecondFactorType> = [];
|
||||||
public newMfaType!: MultiFactorType | SecondFactorType;
|
public newMfaType!: MultiFactorType | SecondFactorType;
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<DialogAddTypeComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<DialogAddTypeComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.availableMfaTypes = data.types;
|
this.availableMfaTypes = data.types;
|
||||||
this.newMfaType = data.types && data.types[0] ? data.types[0] : undefined;
|
this.newMfaType = data.types && data.types[0] ? data.types[0] : undefined;
|
||||||
}
|
}
|
||||||
|
@ -51,7 +51,11 @@ export class FactorTableComponent {
|
|||||||
|
|
||||||
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
||||||
|
|
||||||
constructor(public translate: TranslateService, private toast: ToastService, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
public translate: TranslateService,
|
||||||
|
private toast: ToastService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
public removeMfa(type: MultiFactorType | SecondFactorType): void {
|
public removeMfa(type: MultiFactorType | SecondFactorType): void {
|
||||||
const dialogRef = this.dialog.open(WarnDialogComponent, {
|
const dialogRef = this.dialog.open(WarnDialogComponent, {
|
||||||
|
@ -10,11 +10,11 @@
|
|||||||
<p class="newer-title" *ngIf="newerVersionExists">{{ 'POLICY.LOGIN_TEXTS.NEWERVERSIONEXISTS' | translate }}</p>
|
<p class="newer-title" *ngIf="newerVersionExists">{{ 'POLICY.LOGIN_TEXTS.NEWERVERSIONEXISTS' | translate }}</p>
|
||||||
<p *ngIf="newerPolicyChangeDate && newerVersionExists">
|
<p *ngIf="newerPolicyChangeDate && newerVersionExists">
|
||||||
{{ 'POLICY.LOGIN_TEXTS.CHANGEDATE' | translate }}:
|
{{ 'POLICY.LOGIN_TEXTS.CHANGEDATE' | translate }}:
|
||||||
{{ newerPolicyChangeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm:ss' }}
|
{{ newerPolicyChangeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm:ss' }}
|
||||||
</p>
|
</p>
|
||||||
<p class="cnsl-secondary-text" *ngIf="currentPolicyChangeDate">
|
<p class="cnsl-secondary-text" *ngIf="currentPolicyChangeDate">
|
||||||
{{ 'POLICY.LOGIN_TEXTS.CURRENTDATE' | translate }}:
|
{{ 'POLICY.LOGIN_TEXTS.CURRENTDATE' | translate }}:
|
||||||
{{ currentPolicyChangeDate | timestampToDate | localizedDate : 'dd. MMMM YYYY, HH:mm:ss' }}
|
{{ currentPolicyChangeDate | timestampToDate | localizedDate: 'dd. MMMM YYYY, HH:mm:ss' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<button [disabled]="!newerVersionExists" color="primary" mat-raised-button (click)="loadData()">
|
<button [disabled]="!newerVersionExists" color="primary" mat-raised-button (click)="loadData()">
|
||||||
|
@ -36,7 +36,11 @@ export class NotificationPolicyComponent implements OnInit {
|
|||||||
|
|
||||||
public isDefault: boolean = false;
|
public isDefault: boolean = false;
|
||||||
private hasNotificationPolicy: boolean = false;
|
private hasNotificationPolicy: boolean = false;
|
||||||
constructor(private toast: ToastService, private injector: Injector, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private toast: ToastService,
|
||||||
|
private injector: Injector,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
switch (this.serviceType) {
|
switch (this.serviceType) {
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class PasswordDialogComponent {
|
export class PasswordDialogComponent {
|
||||||
public password: string = '';
|
public password: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<PasswordDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {}
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<PasswordDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {}
|
||||||
|
|
||||||
closeDialog(password: string = ''): void {
|
closeDialog(password: string = ''): void {
|
||||||
this.dialogRef.close(password);
|
this.dialogRef.close(password);
|
||||||
|
@ -27,7 +27,11 @@ export class PasswordComplexityPolicyComponent implements OnInit {
|
|||||||
public loading: boolean = false;
|
public loading: boolean = false;
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
|
|
||||||
constructor(private toast: ToastService, private injector: Injector, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private toast: ToastService,
|
||||||
|
private injector: Injector,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
switch (this.serviceType) {
|
switch (this.serviceType) {
|
||||||
|
@ -26,7 +26,11 @@ export class PasswordLockoutPolicyComponent implements OnInit {
|
|||||||
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
|
|
||||||
constructor(private toast: ToastService, private injector: Injector, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private toast: ToastService,
|
||||||
|
private injector: Injector,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
switch (this.serviceType) {
|
switch (this.serviceType) {
|
||||||
|
@ -54,7 +54,9 @@
|
|||||||
|
|
||||||
::ng-deep .chrome-picker {
|
::ng-deep .chrome-picker {
|
||||||
border-radius: 0.5rem !important;
|
border-radius: 0.5rem !important;
|
||||||
box-shadow: 0 0 1px #00000020, 0 1px 3px #00000020 !important;
|
box-shadow:
|
||||||
|
0 0 1px #00000020,
|
||||||
|
0 1px 3px #00000020 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
::ng-deep .saturation {
|
::ng-deep .saturation {
|
||||||
|
@ -29,7 +29,11 @@ export class SecretGeneratorComponent implements OnInit {
|
|||||||
SecretGeneratorType.SECRET_GENERATOR_TYPE_OTP_EMAIL,
|
SecretGeneratorType.SECRET_GENERATOR_TYPE_OTP_EMAIL,
|
||||||
];
|
];
|
||||||
|
|
||||||
constructor(private service: AdminService, private toast: ToastService, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private service: AdminService,
|
||||||
|
private toast: ToastService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.fetchData();
|
this.fetchData();
|
||||||
|
@ -20,7 +20,10 @@ export class SecurityPolicyComponent implements OnInit {
|
|||||||
|
|
||||||
@Input() public originsControl: UntypedFormControl = new UntypedFormControl({ value: [], disabled: true });
|
@Input() public originsControl: UntypedFormControl = new UntypedFormControl({ value: [], disabled: true });
|
||||||
|
|
||||||
constructor(private service: AdminService, private toast: ToastService) {}
|
constructor(
|
||||||
|
private service: AdminService,
|
||||||
|
private toast: ToastService,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.fetchData();
|
this.fetchData();
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
[ngClass]="{ 'no-selection': !selectionAllowed }"
|
[ngClass]="{ 'no-selection': !selectionAllowed }"
|
||||||
*ngIf="role.group"
|
*ngIf="role.group"
|
||||||
(click)="selectionAllowed ? selectAllOfGroup(role.group) : openDetailDialog(role)"
|
(click)="selectionAllowed ? selectAllOfGroup(role.group) : openDetailDialog(role)"
|
||||||
[matTooltip]="selectionAllowed ? ('PROJECT.ROLE.SELECTGROUPTOOLTIP' | translate : role) : null"
|
[matTooltip]="selectionAllowed ? ('PROJECT.ROLE.SELECTGROUPTOOLTIP' | translate: role) : null"
|
||||||
>{{ role.group }}</span
|
>{{ role.group }}</span
|
||||||
>
|
>
|
||||||
</td>
|
</td>
|
||||||
@ -81,7 +81,7 @@
|
|||||||
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CREATIONDATE' | translate }}</th>
|
||||||
<td class="pointer" (click)="openDetailDialog(role)" mat-cell *matCellDef="let role">
|
<td class="pointer" (click)="openDetailDialog(role)" mat-cell *matCellDef="let role">
|
||||||
<span *ngIf="role?.details?.creationDate">{{
|
<span *ngIf="role?.details?.creationDate">{{
|
||||||
role.details.creationDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm'
|
role.details.creationDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm'
|
||||||
}}</span>
|
}}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
@ -90,7 +90,7 @@
|
|||||||
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CHANGEDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CHANGEDATE' | translate }}</th>
|
||||||
<td class="pointer" (click)="openDetailDialog(role)" mat-cell *matCellDef="let role">
|
<td class="pointer" (click)="openDetailDialog(role)" mat-cell *matCellDef="let role">
|
||||||
<span *ngIf="role?.details?.changeDate">{{
|
<span *ngIf="role?.details?.changeDate">{{
|
||||||
role.details.changeDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm'
|
role.details.changeDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm'
|
||||||
}}</span>
|
}}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
@ -22,7 +22,10 @@ export class SearchOrgAutocompleteComponent implements OnInit, OnDestroy {
|
|||||||
@Output() public selectionChanged: EventEmitter<Org.AsObject> = new EventEmitter();
|
@Output() public selectionChanged: EventEmitter<Org.AsObject> = new EventEmitter();
|
||||||
|
|
||||||
private unsubscribed$: Subject<void> = new Subject();
|
private unsubscribed$: Subject<void> = new Subject();
|
||||||
constructor(public authService: AuthenticationService, private auth: GrpcAuthService) {
|
constructor(
|
||||||
|
public authService: AuthenticationService,
|
||||||
|
private auth: GrpcAuthService,
|
||||||
|
) {
|
||||||
this.myControl.valueChanges
|
this.myControl.valueChanges
|
||||||
.pipe(
|
.pipe(
|
||||||
takeUntil(this.unsubscribed$),
|
takeUntil(this.unsubscribed$),
|
||||||
|
@ -57,7 +57,11 @@ export class SearchUserAutocompleteComponent implements OnInit, AfterContentChec
|
|||||||
@Input() public singleOutput: boolean = false;
|
@Input() public singleOutput: boolean = false;
|
||||||
|
|
||||||
private unsubscribed$: Subject<void> = new Subject();
|
private unsubscribed$: Subject<void> = new Subject();
|
||||||
constructor(private userService: ManagementService, private toast: ToastService, private cdref: ChangeDetectorRef) {}
|
constructor(
|
||||||
|
private userService: ManagementService,
|
||||||
|
private toast: ToastService,
|
||||||
|
private cdref: ChangeDetectorRef,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
if (this.target === UserTarget.EXTERNAL) {
|
if (this.target === UserTarget.EXTERNAL) {
|
||||||
|
@ -240,7 +240,10 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
border: 1px solid $border-color;
|
border: 1px solid $border-color;
|
||||||
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);
|
box-shadow:
|
||||||
|
0 5px 5px -3px rgba(0, 0, 0, 0.2),
|
||||||
|
0 8px 10px 1px rgba(0, 0, 0, 0.14),
|
||||||
|
0 3px 14px 2px rgba(0, 0, 0, 0.12);
|
||||||
}
|
}
|
||||||
|
|
||||||
.cdk-drag-placeholder {
|
.cdk-drag-placeholder {
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<p class="left cnsl-secondary-text">{{ 'USER.MACHINE.CREATIONDATE' | translate }}</p>
|
<p class="left cnsl-secondary-text">{{ 'USER.MACHINE.CREATIONDATE' | translate }}</p>
|
||||||
<p *ngIf="keyResponse.details && keyResponse.details.creationDate" class="right">
|
<p *ngIf="keyResponse.details && keyResponse.details.creationDate" class="right">
|
||||||
{{ keyResponse.details.creationDate | timestampToDate | localizedDate : 'EEE dd. MMM YYYY, HH:mm' }}
|
{{ keyResponse.details.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM YYYY, HH:mm' }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -16,7 +16,10 @@ export class ShowKeyDialogComponent {
|
|||||||
public keyResponse!: AddMachineKeyResponse.AsObject | AddAppKeyResponse.AsObject;
|
public keyResponse!: AddMachineKeyResponse.AsObject | AddAppKeyResponse.AsObject;
|
||||||
public InfoSectionType: any = InfoSectionType;
|
public InfoSectionType: any = InfoSectionType;
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<ShowKeyDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<ShowKeyDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.keyResponse = data.key;
|
this.keyResponse = data.key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +17,10 @@ export class ShowTokenDialogComponent {
|
|||||||
public copied: string = '';
|
public copied: string = '';
|
||||||
InfoSectionType: any = InfoSectionType;
|
InfoSectionType: any = InfoSectionType;
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<ShowTokenDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<ShowTokenDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.tokenResponse = data.token;
|
this.tokenResponse = data.token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,7 +30,10 @@ export class SidenavComponent implements ControlValueAccessor, OnInit {
|
|||||||
@Input() public queryParam: string = '';
|
@Input() public queryParam: string = '';
|
||||||
|
|
||||||
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
public PolicyComponentServiceType: any = PolicyComponentServiceType;
|
||||||
constructor(private router: Router, private route: ActivatedRoute) {}
|
constructor(
|
||||||
|
private router: Router,
|
||||||
|
private route: ActivatedRoute,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
if (!this.value) {
|
if (!this.value) {
|
||||||
|
@ -16,7 +16,10 @@ export class UserGrantRoleDialogComponent {
|
|||||||
|
|
||||||
public selectedRoleKeys: string[] = [];
|
public selectedRoleKeys: string[] = [];
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<UserGrantRoleDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<UserGrantRoleDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.projectId = data.projectId;
|
this.projectId = data.projectId;
|
||||||
this.grantId = data.grantId;
|
this.grantId = data.grantId;
|
||||||
this.selectedRoleKeysList = data.selectedRoleKeysList;
|
this.selectedRoleKeysList = data.selectedRoleKeysList;
|
||||||
|
@ -31,7 +31,10 @@ export class UserGrantsDataSource extends DataSource<UserGrantAsObject> {
|
|||||||
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
||||||
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
||||||
|
|
||||||
constructor(private authService: GrpcAuthService, private userService: ManagementService) {
|
constructor(
|
||||||
|
private authService: GrpcAuthService,
|
||||||
|
private userService: ManagementService,
|
||||||
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,14 +123,14 @@
|
|||||||
<ng-container matColumnDef="creationDate">
|
<ng-container matColumnDef="creationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.GRANT.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.GRANT.CREATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let grant">
|
<td mat-cell *matCellDef="let grant">
|
||||||
<span class="no-break">{{ grant.details.creationDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm' }}</span>
|
<span class="no-break">{{ grant.details.creationDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="changeDate">
|
<ng-container matColumnDef="changeDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.GRANT.CHANGEDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.GRANT.CHANGEDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let grant">
|
<td mat-cell *matCellDef="let grant">
|
||||||
<span class="no-break">{{ grant.details.changeDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm' }}</span>
|
<span class="no-break">{{ grant.details.changeDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
@ -163,7 +163,7 @@
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
<button menuActions mat-menu-item [routerLink]="['/users', grant.userId]">
|
<button menuActions mat-menu-item [routerLink]="['/users', grant.userId]">
|
||||||
{{ 'ACTIONS.TABLE.SHOWUSER' | translate : { value: grant.displayName } }}
|
{{ 'ACTIONS.TABLE.SHOWUSER' | translate: { value: grant.displayName } }}
|
||||||
</button>
|
</button>
|
||||||
</cnsl-table-actions>
|
</cnsl-table-actions>
|
||||||
</td>
|
</td>
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
<span class="title" mat-dialog-title>{{ data.titleKey | translate : data.titleParam }}</span>
|
<span class="title" mat-dialog-title>{{ data.titleKey | translate: data.titleParam }}</span>
|
||||||
<div mat-dialog-content>
|
<div mat-dialog-content>
|
||||||
<div class="icon-wrapper" *ngIf="data.icon">
|
<div class="icon-wrapper" *ngIf="data.icon">
|
||||||
<i class="icon {{ data.icon }}"></i>
|
<i class="icon {{ data.icon }}"></i>
|
||||||
</div>
|
</div>
|
||||||
<p class="desc cnsl-secondary-text">{{ data.descriptionKey | translate : data.descriptionParam }}</p>
|
<p class="desc cnsl-secondary-text">{{ data.descriptionKey | translate: data.descriptionParam }}</p>
|
||||||
|
|
||||||
<cnsl-info-section *ngIf="data.warnSectionKey" [type]="InfoSectionType.WARN">{{
|
<cnsl-info-section *ngIf="data.warnSectionKey" [type]="InfoSectionType.WARN">{{
|
||||||
data.warnSectionKey | translate
|
data.warnSectionKey | translate
|
||||||
}}</cnsl-info-section>
|
}}</cnsl-info-section>
|
||||||
|
|
||||||
<p *ngIf="data.hintKey" class="desc cnsl-secondary-text">{{ data.hintKey | translate : { value: data.confirmation } }}</p>
|
<p *ngIf="data.hintKey" class="desc cnsl-secondary-text">{{ data.hintKey | translate: { value: data.confirmation } }}</p>
|
||||||
|
|
||||||
<cnsl-form-field *ngIf="data.confirmation && data.confirmationKey" class="formfield">
|
<cnsl-form-field *ngIf="data.confirmation && data.confirmationKey" class="formfield">
|
||||||
<cnsl-label>{{ data.confirmationKey | translate : { value: data.confirmation } }}</cnsl-label>
|
<cnsl-label>{{ data.confirmationKey | translate: { value: data.confirmation } }}</cnsl-label>
|
||||||
<input cnslInput [(ngModel)]="confirm" data-e2e="confirm-dialog-input" />
|
<input cnslInput [(ngModel)]="confirm" data-e2e="confirm-dialog-input" />
|
||||||
</cnsl-form-field>
|
</cnsl-form-field>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,7 +14,10 @@ import { InfoSectionType } from '../info-section/info-section.component';
|
|||||||
export class WarnDialogComponent {
|
export class WarnDialogComponent {
|
||||||
public confirm: string = '';
|
public confirm: string = '';
|
||||||
InfoSectionType: any = InfoSectionType;
|
InfoSectionType: any = InfoSectionType;
|
||||||
constructor(public dialogRef: MatDialogRef<WarnDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {}
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<WarnDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {}
|
||||||
|
|
||||||
public closeDialog(): void {
|
public closeDialog(): void {
|
||||||
this.dialogRef.close(false);
|
this.dialogRef.close(false);
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<p class="desc cnsl-secondary-text">{{ 'FLOWS.DESCRIPTION' | translate }}</p>
|
<p class="desc cnsl-secondary-text">{{ 'FLOWS.DESCRIPTION' | translate }}</p>
|
||||||
|
|
||||||
<cnsl-info-section class="max-actions" *ngIf="maxActions"
|
<cnsl-info-section class="max-actions" *ngIf="maxActions"
|
||||||
>{{ 'FLOWS.ACTIONSMAX' | translate : { value: maxActions } }}
|
>{{ 'FLOWS.ACTIONSMAX' | translate: { value: maxActions } }}
|
||||||
</cnsl-info-section>
|
</cnsl-info-section>
|
||||||
|
|
||||||
<ng-template cnslHasRole [hasRole]="['org.action.read']">
|
<ng-template cnslHasRole [hasRole]="['org.action.read']">
|
||||||
|
@ -150,7 +150,10 @@
|
|||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem;
|
||||||
padding: 0 0.5rem;
|
padding: 0 0.5rem;
|
||||||
background-color: $primary-color;
|
background-color: $primary-color;
|
||||||
box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);
|
box-shadow:
|
||||||
|
0 5px 5px -3px rgba(0, 0, 0, 0.2),
|
||||||
|
0 8px 10px 1px rgba(0, 0, 0, 0.14),
|
||||||
|
0 3px 14px 2px rgba(0, 0, 0, 0.12);
|
||||||
|
|
||||||
i {
|
i {
|
||||||
margin-right: 0.5rem;
|
margin-right: 0.5rem;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
>
|
>
|
||||||
</cnsl-search-project-autocomplete>
|
</cnsl-search-project-autocomplete>
|
||||||
|
|
||||||
<div [innerHtml]="'APP.PAGES.CREATE_NEW_PROJECT' | translate : { url: '/projects/create' }"></div>
|
<div [innerHtml]="'APP.PAGES.CREATE_NEW_PROJECT' | translate: { url: '/projects/create' }"></div>
|
||||||
|
|
||||||
<div class="app-create-btn-container">
|
<div class="app-create-btn-container">
|
||||||
<button
|
<button
|
||||||
|
@ -13,7 +13,10 @@ export class AppCreateComponent {
|
|||||||
public projectId: string = '';
|
public projectId: string = '';
|
||||||
public ProjectAutocompleteType: any = ProjectAutocompleteType;
|
public ProjectAutocompleteType: any = ProjectAutocompleteType;
|
||||||
|
|
||||||
constructor(private router: Router, breadcrumbService: BreadcrumbService) {
|
constructor(
|
||||||
|
private router: Router,
|
||||||
|
breadcrumbService: BreadcrumbService,
|
||||||
|
) {
|
||||||
const bread: Breadcrumb = {
|
const bread: Breadcrumb = {
|
||||||
type: BreadcrumbType.ORG,
|
type: BreadcrumbType.ORG,
|
||||||
routerLink: ['/org'],
|
routerLink: ['/org'],
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class AddDomainDialogComponent {
|
export class AddDomainDialogComponent {
|
||||||
public newdomain: string = '';
|
public newdomain: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<AddDomainDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {}
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<AddDomainDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {}
|
||||||
|
|
||||||
public closeDialog(): void {
|
public closeDialog(): void {
|
||||||
this.dialogRef.close(false);
|
this.dialogRef.close(false);
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
*ngIf="domain?.validationType !== DomainValidationType.DOMAIN_VALIDATION_TYPE_UNSPECIFIED && !(dns || http)"
|
*ngIf="domain?.validationType !== DomainValidationType.DOMAIN_VALIDATION_TYPE_UNSPECIFIED && !(dns || http)"
|
||||||
class="desc"
|
class="desc"
|
||||||
>
|
>
|
||||||
{{ 'ORG.PAGES.ORGDOMAIN.VERIFICATION_VALIDATION_ONGOING' | translate : domain }}
|
{{ 'ORG.PAGES.ORGDOMAIN.VERIFICATION_VALIDATION_ONGOING' | translate: domain }}
|
||||||
{{ 'ORG.PAGES.ORGDOMAIN.VERIFICATION_VALIDATION_ONGOING_TYPE' | translate }}
|
{{ 'ORG.PAGES.ORGDOMAIN.VERIFICATION_VALIDATION_ONGOING_TYPE' | translate }}
|
||||||
{{ 'ORG.PAGES.ORGDOMAIN.TYPES.' + domain?.validationType | translate }}
|
{{ 'ORG.PAGES.ORGDOMAIN.TYPES.' + domain?.validationType | translate }}
|
||||||
</p>
|
</p>
|
||||||
|
@ -84,7 +84,7 @@
|
|||||||
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.EVENTS.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.EVENTS.CREATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let event">
|
<td mat-cell *matCellDef="let event">
|
||||||
<ng-container *ngIf="event | toobject as event">
|
<ng-container *ngIf="event | toobject as event">
|
||||||
<span>{{ event?.creationDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span>
|
<span>{{ event?.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
<ng-container matColumnDef="lastFailed">
|
<ng-container matColumnDef="lastFailed">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.FAILEDEVENTS.LASTFAILED' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.FAILEDEVENTS.LASTFAILED' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let event">
|
<td mat-cell *matCellDef="let event">
|
||||||
<span>{{ event?.lastFailed | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span>
|
<span>{{ event?.lastFailed | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -21,7 +21,11 @@ export class HomeComponent {
|
|||||||
|
|
||||||
public dark: boolean = true;
|
public dark: boolean = true;
|
||||||
|
|
||||||
constructor(public authService: GrpcAuthService, breadcrumbService: BreadcrumbService, public themeService: ThemeService) {
|
constructor(
|
||||||
|
public authService: GrpcAuthService,
|
||||||
|
breadcrumbService: BreadcrumbService,
|
||||||
|
public themeService: ThemeService,
|
||||||
|
) {
|
||||||
const bread: Breadcrumb = {
|
const bread: Breadcrumb = {
|
||||||
type: BreadcrumbType.ORG,
|
type: BreadcrumbType.ORG,
|
||||||
routerLink: ['/org'],
|
routerLink: ['/org'],
|
||||||
|
@ -22,14 +22,14 @@
|
|||||||
<ng-container matColumnDef="eventTimestamp">
|
<ng-container matColumnDef="eventTimestamp">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.VIEWS.EVENTTIMESTAMP' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.VIEWS.EVENTTIMESTAMP' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let view">
|
<td mat-cell *matCellDef="let view">
|
||||||
<span>{{ view?.eventTimestamp | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span>
|
<span>{{ view?.eventTimestamp | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="lastSuccessfulSpoolerRun">
|
<ng-container matColumnDef="lastSuccessfulSpoolerRun">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.VIEWS.LASTSPOOL' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'IAM.VIEWS.LASTSPOOL' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let view">
|
<td mat-cell *matCellDef="let view">
|
||||||
<span>{{ view?.lastSuccessfulSpoolerRun | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span>
|
<span>{{ view?.lastSuccessfulSpoolerRun | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -23,7 +23,10 @@ export class IamViewsComponent implements AfterViewInit {
|
|||||||
|
|
||||||
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
||||||
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
||||||
constructor(private adminService: AdminService, private breadcrumbService: BreadcrumbService) {
|
constructor(
|
||||||
|
private adminService: AdminService,
|
||||||
|
private breadcrumbService: BreadcrumbService,
|
||||||
|
) {
|
||||||
this.loadViews();
|
this.loadViews();
|
||||||
|
|
||||||
const breadcrumbs = [
|
const breadcrumbs = [
|
||||||
|
@ -58,7 +58,11 @@ export class InstanceSettingsComponent implements OnInit, OnDestroy {
|
|||||||
public settingsList: SidenavSetting[] = [];
|
public settingsList: SidenavSetting[] = [];
|
||||||
|
|
||||||
private destroy$: Subject<void> = new Subject();
|
private destroy$: Subject<void> = new Subject();
|
||||||
constructor(breadcrumbService: BreadcrumbService, activatedRoute: ActivatedRoute, public authService: GrpcAuthService) {
|
constructor(
|
||||||
|
breadcrumbService: BreadcrumbService,
|
||||||
|
activatedRoute: ActivatedRoute,
|
||||||
|
public authService: GrpcAuthService,
|
||||||
|
) {
|
||||||
const breadcrumbs = [
|
const breadcrumbs = [
|
||||||
new Breadcrumb({
|
new Breadcrumb({
|
||||||
type: BreadcrumbType.INSTANCE,
|
type: BreadcrumbType.INSTANCE,
|
||||||
|
@ -43,7 +43,11 @@ export class OrgSettingsComponent implements OnInit {
|
|||||||
|
|
||||||
public settingsList: SidenavSetting[] = [];
|
public settingsList: SidenavSetting[] = [];
|
||||||
|
|
||||||
constructor(breadcrumbService: BreadcrumbService, activatedRoute: ActivatedRoute, public authService: GrpcAuthService) {
|
constructor(
|
||||||
|
breadcrumbService: BreadcrumbService,
|
||||||
|
activatedRoute: ActivatedRoute,
|
||||||
|
public authService: GrpcAuthService,
|
||||||
|
) {
|
||||||
const breadcrumbs = [
|
const breadcrumbs = [
|
||||||
new Breadcrumb({
|
new Breadcrumb({
|
||||||
type: BreadcrumbType.ORG,
|
type: BreadcrumbType.ORG,
|
||||||
|
@ -401,7 +401,7 @@
|
|||||||
<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>
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class AuthMethodDialogComponent {
|
export class AuthMethodDialogComponent {
|
||||||
public authmethod: string = '';
|
public authmethod: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<AuthMethodDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<AuthMethodDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
this.authmethod = data.initialAuthMethod;
|
this.authmethod = data.initialAuthMethod;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class AppSecretDialogComponent {
|
export class AppSecretDialogComponent {
|
||||||
public copied: string = '';
|
public copied: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<AppSecretDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {}
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<AppSecretDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {}
|
||||||
|
|
||||||
public closeDialog(): void {
|
public closeDialog(): void {
|
||||||
this.dialogRef.close(false);
|
this.dialogRef.close(false);
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
<div class="redirect-uris-list">
|
<div class="redirect-uris-list">
|
||||||
<div *ngFor="let uri of value" class="uri-line" [ngClass]="{ alert: !devMode && !(uri | redirect : isNative) }">
|
<div *ngFor="let uri of value" class="uri-line" [ngClass]="{ alert: !devMode && !(uri | redirect: isNative) }">
|
||||||
<span
|
<span
|
||||||
class="uri"
|
class="uri"
|
||||||
[ngClass]="{ green: !devMode && uri?.startsWith('https://'), red: !devMode && !uri?.startsWith('https://') }"
|
[ngClass]="{ green: !devMode && uri?.startsWith('https://'), red: !devMode && !uri?.startsWith('https://') }"
|
||||||
|
@ -70,7 +70,7 @@
|
|||||||
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CREATIONDATE' | translate }}</th>
|
||||||
<td class="pointer" [routerLink]="['/projects', projectId, 'apps', app.id]" mat-cell *matCellDef="let app">
|
<td class="pointer" [routerLink]="['/projects', projectId, 'apps', app.id]" mat-cell *matCellDef="let app">
|
||||||
<span *ngIf="app?.details?.creationDate">{{
|
<span *ngIf="app?.details?.creationDate">{{
|
||||||
app.details.creationDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm'
|
app.details.creationDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm'
|
||||||
}}</span>
|
}}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
@ -79,7 +79,7 @@
|
|||||||
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CHANGEDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'PROJECT.ROLE.CHANGEDATE' | translate }}</th>
|
||||||
<td class="pointer" [routerLink]="['/projects', projectId, 'apps', app.id]" mat-cell *matCellDef="let app">
|
<td class="pointer" [routerLink]="['/projects', projectId, 'apps', app.id]" mat-cell *matCellDef="let app">
|
||||||
<span *ngIf="app?.details?.changeDate">{{
|
<span *ngIf="app?.details?.changeDate">{{
|
||||||
app.details.changeDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm'
|
app.details.changeDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm'
|
||||||
}}</span>
|
}}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
@ -17,7 +17,10 @@ export class ProjectGrantsDataSource extends DataSource<GrantedProject.AsObject>
|
|||||||
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
private loadingSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
|
||||||
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
public loading$: Observable<boolean> = this.loadingSubject.asObservable();
|
||||||
|
|
||||||
constructor(private mgmtService: ManagementService, private toast: ToastService) {
|
constructor(
|
||||||
|
private mgmtService: ManagementService,
|
||||||
|
private toast: ToastService,
|
||||||
|
) {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@
|
|||||||
*matCellDef="let grant"
|
*matCellDef="let grant"
|
||||||
[routerLink]="['/projects', grant.projectId, 'projectgrants', grant.grantId]"
|
[routerLink]="['/projects', grant.projectId, 'projectgrants', grant.grantId]"
|
||||||
>
|
>
|
||||||
<span>{{ grant.details.creationDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm' }}</span>
|
<span>{{ grant.details.creationDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
@ -83,7 +83,7 @@
|
|||||||
*matCellDef="let grant"
|
*matCellDef="let grant"
|
||||||
[routerLink]="['/projects', grant.projectId, 'projectgrants', grant.grantId]"
|
[routerLink]="['/projects', grant.projectId, 'projectgrants', grant.grantId]"
|
||||||
>
|
>
|
||||||
<span>{{ grant.details.changeDate | timestampToDate | localizedDate : 'dd. MMM, HH:mm' }}</span>
|
<span>{{ grant.details.changeDate | timestampToDate | localizedDate: 'dd. MMM, HH:mm' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<div class="text-part">
|
<div class="text-part">
|
||||||
<span *ngIf="item.details && item.details.changeDate" class="top cnsl-secondary-text"
|
<span *ngIf="item.details && item.details.changeDate" class="top cnsl-secondary-text"
|
||||||
>{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}
|
>{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}
|
||||||
{{ item.details.changeDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span
|
{{ item.details.changeDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span
|
||||||
>
|
>
|
||||||
<div class="name-row">
|
<div class="name-row">
|
||||||
<span class="name" *ngIf="$any(item).name">{{ $any(item).name }}</span>
|
<span class="name" *ngIf="$any(item).name">{{ $any(item).name }}</span>
|
||||||
@ -31,7 +31,7 @@
|
|||||||
|
|
||||||
<span *ngIf="item.details && item.details.creationDate" class="created"
|
<span *ngIf="item.details && item.details.creationDate" class="created"
|
||||||
>{{ 'PROJECT.PAGES.CREATEDON' | translate }}
|
>{{ 'PROJECT.PAGES.CREATEDON' | translate }}
|
||||||
{{ item.details.creationDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span
|
{{ item.details.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span
|
||||||
>
|
>
|
||||||
<span class="fill-space"></span>
|
<span class="fill-space"></span>
|
||||||
</div>
|
</div>
|
||||||
@ -52,7 +52,7 @@
|
|||||||
<div class="text-part">
|
<div class="text-part">
|
||||||
<span *ngIf="item.details && item.details.changeDate" class="top cnsl-secondary-text"
|
<span *ngIf="item.details && item.details.changeDate" class="top cnsl-secondary-text"
|
||||||
>{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}
|
>{{ 'PROJECT.PAGES.LASTMODIFIED' | translate }}
|
||||||
{{ item.details.changeDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span
|
{{ item.details.changeDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span
|
||||||
>
|
>
|
||||||
<div class="name-row">
|
<div class="name-row">
|
||||||
<span class="name" *ngIf="$any(item).name">{{ $any(item).name }}</span>
|
<span class="name" *ngIf="$any(item).name">{{ $any(item).name }}</span>
|
||||||
@ -70,7 +70,7 @@
|
|||||||
<span class="owning-org" *ngIf="$any(item).projectOwnerName">{{ $any(item).projectOwnerName }}</span>
|
<span class="owning-org" *ngIf="$any(item).projectOwnerName">{{ $any(item).projectOwnerName }}</span>
|
||||||
<span *ngIf="item.details && item.details.creationDate" class="created cnsl-secondary-text"
|
<span *ngIf="item.details && item.details.creationDate" class="created cnsl-secondary-text"
|
||||||
>{{ 'PROJECT.PAGES.CREATEDON' | translate }}
|
>{{ 'PROJECT.PAGES.CREATEDON' | translate }}
|
||||||
{{ item.details.creationDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm' }}</span
|
{{ item.details.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm' }}</span
|
||||||
>
|
>
|
||||||
<span class="fill-space"></span>
|
<span class="fill-space"></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -111,7 +111,7 @@
|
|||||||
*matCellDef="let project"
|
*matCellDef="let project"
|
||||||
>
|
>
|
||||||
<span *ngIf="project.details.creationDate">{{
|
<span *ngIf="project.details.creationDate">{{
|
||||||
project.details.creationDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm'
|
project.details.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm'
|
||||||
}}</span>
|
}}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
@ -129,7 +129,7 @@
|
|||||||
*matCellDef="let project"
|
*matCellDef="let project"
|
||||||
>
|
>
|
||||||
<span *ngIf="project.details.changeDate">{{
|
<span *ngIf="project.details.changeDate">{{
|
||||||
project.details.changeDate | timestampToDate | localizedDate : 'EEE dd. MMM, HH:mm'
|
project.details.changeDate | timestampToDate | localizedDate: 'EEE dd. MMM, HH:mm'
|
||||||
}}</span>
|
}}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
>
|
>
|
||||||
<ng-container *ngIf="currentCreateStep === 1">
|
<ng-container *ngIf="currentCreateStep === 1">
|
||||||
<p class="user-grant-create-desc cnsl-secondary-text">
|
<p class="user-grant-create-desc cnsl-secondary-text">
|
||||||
{{ 'PROJECT.GRANT.CREATE.ORG_DESCRIPTION' | translate : org }}
|
{{ 'PROJECT.GRANT.CREATE.ORG_DESCRIPTION' | translate: org }}
|
||||||
<br />
|
<br />
|
||||||
{{ 'PROJECT.GRANT.CREATE.ORG_DESCRIPTION_DESC' | translate }}
|
{{ 'PROJECT.GRANT.CREATE.ORG_DESCRIPTION_DESC' | translate }}
|
||||||
</p>
|
</p>
|
||||||
|
@ -39,7 +39,11 @@ export class AuthPasswordlessComponent implements OnInit, OnDestroy {
|
|||||||
public AuthFactorState: any = AuthFactorState;
|
public AuthFactorState: any = AuthFactorState;
|
||||||
public error: string = '';
|
public error: string = '';
|
||||||
|
|
||||||
constructor(private service: GrpcAuthService, private toast: ToastService, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private service: GrpcAuthService,
|
||||||
|
private toast: ToastService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
this.getPasswordless();
|
this.getPasswordless();
|
||||||
|
@ -42,7 +42,11 @@ export class AuthUserMfaComponent implements OnInit, OnDestroy {
|
|||||||
public otpSmsDisabled$ = new BehaviorSubject<boolean>(true);
|
public otpSmsDisabled$ = new BehaviorSubject<boolean>(true);
|
||||||
public otpEmailDisabled$ = new BehaviorSubject<boolean>(true);
|
public otpEmailDisabled$ = new BehaviorSubject<boolean>(true);
|
||||||
|
|
||||||
constructor(private service: GrpcAuthService, private toast: ToastService, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private service: GrpcAuthService,
|
||||||
|
private toast: ToastService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
this.getMFAs();
|
this.getMFAs();
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class CodeDialogComponent {
|
export class CodeDialogComponent {
|
||||||
public code: string = '';
|
public code: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<CodeDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {}
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<CodeDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {}
|
||||||
|
|
||||||
closeDialog(code: string = ''): void {
|
closeDialog(code: string = ''): void {
|
||||||
this.dialogRef.close(code);
|
this.dialogRef.close(code);
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class ResendEmailDialogComponent {
|
export class ResendEmailDialogComponent {
|
||||||
public email: string = '';
|
public email: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<ResendEmailDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<ResendEmailDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {
|
||||||
if (data.email) {
|
if (data.email) {
|
||||||
this.email = data.email;
|
this.email = data.email;
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,10 @@ export class ContactComponent {
|
|||||||
public UserState: any = UserState;
|
public UserState: any = UserState;
|
||||||
|
|
||||||
public EditDialogType: any = EditDialogType;
|
public EditDialogType: any = EditDialogType;
|
||||||
constructor(private dialog: MatDialog, private authService: GrpcAuthService) {}
|
constructor(
|
||||||
|
private dialog: MatDialog,
|
||||||
|
private authService: GrpcAuthService,
|
||||||
|
) {}
|
||||||
|
|
||||||
async emitDeletePhone(): Promise<void> {
|
async emitDeletePhone(): Promise<void> {
|
||||||
const { resultList } = await this.authService.listMyMultiFactors();
|
const { resultList } = await this.authService.listMyMultiFactors();
|
||||||
|
@ -29,7 +29,10 @@ export class DetailFormComponent implements OnDestroy, OnChanges {
|
|||||||
|
|
||||||
private sub: Subscription = new Subscription();
|
private sub: Subscription = new Subscription();
|
||||||
|
|
||||||
constructor(private fb: UntypedFormBuilder, private dialog: MatDialog) {
|
constructor(
|
||||||
|
private fb: UntypedFormBuilder,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {
|
||||||
this.profileForm = this.fb.group({
|
this.profileForm = this.fb.group({
|
||||||
userName: [{ value: '', disabled: true }, [requiredValidator]],
|
userName: [{ value: '', disabled: true }, [requiredValidator]],
|
||||||
firstName: [{ value: '', disabled: this.disabled }, requiredValidator],
|
firstName: [{ value: '', disabled: this.disabled }, requiredValidator],
|
||||||
|
@ -35,7 +35,10 @@ export class ExternalIdpsComponent implements OnInit, OnDestroy {
|
|||||||
'actions',
|
'actions',
|
||||||
];
|
];
|
||||||
|
|
||||||
constructor(private toast: ToastService, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private toast: ToastService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.getData(10, 0);
|
this.getData(10, 0);
|
||||||
|
@ -11,7 +11,10 @@ import {
|
|||||||
})
|
})
|
||||||
export class MachineSecretDialogComponent {
|
export class MachineSecretDialogComponent {
|
||||||
public copied: string = '';
|
public copied: string = '';
|
||||||
constructor(public dialogRef: MatDialogRef<MachineSecretDialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {}
|
constructor(
|
||||||
|
public dialogRef: MatDialogRef<MachineSecretDialogComponent>,
|
||||||
|
@Inject(MAT_DIALOG_DATA) public data: any,
|
||||||
|
) {}
|
||||||
|
|
||||||
public closeDialog(): void {
|
public closeDialog(): void {
|
||||||
this.dialogRef.close(false);
|
this.dialogRef.close(false);
|
||||||
|
@ -37,7 +37,11 @@ export class PasswordlessComponent implements OnInit, OnDestroy {
|
|||||||
public AuthFactorState: any = AuthFactorState;
|
public AuthFactorState: any = AuthFactorState;
|
||||||
public error: string = '';
|
public error: string = '';
|
||||||
|
|
||||||
constructor(private service: ManagementService, private toast: ToastService, private dialog: MatDialog) {}
|
constructor(
|
||||||
|
private service: ManagementService,
|
||||||
|
private toast: ToastService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
this.getPasswordless();
|
this.getPasswordless();
|
||||||
|
@ -32,7 +32,11 @@ export class UserMfaComponent implements OnInit, OnDestroy {
|
|||||||
public AuthFactorState: any = AuthFactorState;
|
public AuthFactorState: any = AuthFactorState;
|
||||||
|
|
||||||
public error: string = '';
|
public error: string = '';
|
||||||
constructor(private mgmtUserService: ManagementService, private dialog: MatDialog, private toast: ToastService) {}
|
constructor(
|
||||||
|
private mgmtUserService: ManagementService,
|
||||||
|
private dialog: MatDialog,
|
||||||
|
private toast: ToastService,
|
||||||
|
) {}
|
||||||
|
|
||||||
public ngOnInit(): void {
|
public ngOnInit(): void {
|
||||||
this.getMFAs();
|
this.getMFAs();
|
||||||
|
@ -14,7 +14,11 @@ export class UserListComponent {
|
|||||||
public Type: any = Type;
|
public Type: any = Type;
|
||||||
public type: Type = Type.TYPE_HUMAN;
|
public type: Type = Type.TYPE_HUMAN;
|
||||||
|
|
||||||
constructor(public translate: TranslateService, activatedRoute: ActivatedRoute, breadcrumbService: BreadcrumbService) {
|
constructor(
|
||||||
|
public translate: TranslateService,
|
||||||
|
activatedRoute: ActivatedRoute,
|
||||||
|
breadcrumbService: BreadcrumbService,
|
||||||
|
) {
|
||||||
activatedRoute.queryParams.pipe(take(1)).subscribe((params: Params) => {
|
activatedRoute.queryParams.pipe(take(1)).subscribe((params: Params) => {
|
||||||
const { type } = params;
|
const { type } = params;
|
||||||
if (type && type === 'human') {
|
if (type && type === 'human') {
|
||||||
|
@ -184,14 +184,14 @@
|
|||||||
<ng-container matColumnDef="creationDate">
|
<ng-container matColumnDef="creationDate">
|
||||||
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'USER.TABLE.CREATIONDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'USER.TABLE.CREATIONDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
||||||
<span class="no-break">{{ user.details.creationDate | timestampToDate | localizedDate : 'regular' }}</span>
|
<span class="no-break">{{ user.details.creationDate | timestampToDate | localizedDate: 'regular' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container matColumnDef="changeDate">
|
<ng-container matColumnDef="changeDate">
|
||||||
<th mat-header-cell *matHeaderCellDef>{{ 'USER.TABLE.CHANGEDATE' | translate }}</th>
|
<th mat-header-cell *matHeaderCellDef>{{ 'USER.TABLE.CHANGEDATE' | translate }}</th>
|
||||||
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
<td mat-cell *matCellDef="let user" [routerLink]="user.id ? ['/users', user.id] : null">
|
||||||
<span class="no-break">{{ user.details.changeDate | timestampToDate | localizedDate : 'regular' }}</span>
|
<span class="no-break">{{ user.details.changeDate | timestampToDate | localizedDate: 'regular' }}</span>
|
||||||
</td>
|
</td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
|
@ -390,7 +390,10 @@ export class AdminService {
|
|||||||
public progressTotal: BehaviorSubject<number> = new BehaviorSubject(0);
|
public progressTotal: BehaviorSubject<number> = new BehaviorSubject(0);
|
||||||
public progressAllDone: BehaviorSubject<boolean> = new BehaviorSubject(true);
|
public progressAllDone: BehaviorSubject<boolean> = new BehaviorSubject(true);
|
||||||
|
|
||||||
constructor(private readonly grpcService: GrpcService, private storageService: StorageService) {
|
constructor(
|
||||||
|
private readonly grpcService: GrpcService,
|
||||||
|
private storageService: StorageService,
|
||||||
|
) {
|
||||||
this.progressEvents$.subscribe(this.progressEvents);
|
this.progressEvents$.subscribe(this.progressEvents);
|
||||||
|
|
||||||
this.hideOnboarding =
|
this.hideOnboarding =
|
||||||
|
@ -71,7 +71,11 @@ export const ENDPOINT = {
|
|||||||
})
|
})
|
||||||
export class AssetService {
|
export class AssetService {
|
||||||
private accessToken: string = '';
|
private accessToken: string = '';
|
||||||
constructor(private envService: EnvironmentService, private http: HttpClient, private storageService: StorageService) {
|
constructor(
|
||||||
|
private envService: EnvironmentService,
|
||||||
|
private http: HttpClient,
|
||||||
|
private storageService: StorageService,
|
||||||
|
) {
|
||||||
const aT = this.storageService.getItem(accessTokenStorageKey);
|
const aT = this.storageService.getItem(accessTokenStorageKey);
|
||||||
if (aT) {
|
if (aT) {
|
||||||
this.accessToken = aT;
|
this.accessToken = aT;
|
||||||
|
@ -12,7 +12,10 @@ export class AuthenticationService {
|
|||||||
private _authenticated: boolean = false;
|
private _authenticated: boolean = false;
|
||||||
private readonly _authenticationChanged: BehaviorSubject<boolean> = new BehaviorSubject(this.authenticated);
|
private readonly _authenticationChanged: BehaviorSubject<boolean> = new BehaviorSubject(this.authenticated);
|
||||||
|
|
||||||
constructor(private oauthService: OAuthService, private statehandler: StatehandlerService) {}
|
constructor(
|
||||||
|
private oauthService: OAuthService,
|
||||||
|
private statehandler: StatehandlerService,
|
||||||
|
) {}
|
||||||
|
|
||||||
public initConfig(data: AuthConfig): void {
|
public initConfig(data: AuthConfig): void {
|
||||||
this.authConfig = data;
|
this.authConfig = data;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user