mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-24 00:02:15 +00:00
* 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] <[email protected]> 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] <[email protected]> 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Max Peintner <[email protected]> * 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] <[email protected]> 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/[email protected]...@grpc/[email protected]) --- updated-dependencies: - dependency-name: "@grpc/grpc-js" dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> 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] <[email protected]> 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] <[email protected]> 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] <[email protected]> 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * lint * node types * use node 20 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
87 lines
3.2 KiB
TypeScript
87 lines
3.2 KiB
TypeScript
import { Component, EventEmitter, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';
|
|
import { UntypedFormControl } from '@angular/forms';
|
|
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
import { MatLegacyAutocomplete as MatAutocomplete } from '@angular/material/legacy-autocomplete';
|
|
import { debounceTime, from, map, Subject, switchMap, takeUntil, tap } from 'rxjs';
|
|
import { TextQueryMethod } from 'src/app/proto/generated/zitadel/object_pb';
|
|
import { Org, OrgNameQuery, OrgQuery, OrgState, OrgStateQuery } from 'src/app/proto/generated/zitadel/org_pb';
|
|
import { AuthenticationService } from 'src/app/services/authentication.service';
|
|
import { GrpcAuthService } from 'src/app/services/grpc-auth.service';
|
|
|
|
@Component({
|
|
selector: 'cnsl-search-org-autocomplete',
|
|
templateUrl: './search-org-autocomplete.component.html',
|
|
styleUrls: ['./search-org-autocomplete.component.scss'],
|
|
})
|
|
export class SearchOrgAutocompleteComponent implements OnInit, OnDestroy {
|
|
public selectable: boolean = true;
|
|
public myControl: UntypedFormControl = new UntypedFormControl();
|
|
public filteredOrgs: Array<Org.AsObject> = [];
|
|
public isLoading: boolean = false;
|
|
@ViewChild('auto') public matAutocomplete!: MatAutocomplete;
|
|
@Output() public selectionChanged: EventEmitter<Org.AsObject> = new EventEmitter();
|
|
|
|
private unsubscribed$: Subject<void> = new Subject();
|
|
constructor(
|
|
public authService: AuthenticationService,
|
|
private auth: GrpcAuthService,
|
|
) {
|
|
this.myControl.valueChanges
|
|
.pipe(
|
|
takeUntil(this.unsubscribed$),
|
|
debounceTime(200),
|
|
tap(() => (this.isLoading = true)),
|
|
switchMap((value) => {
|
|
const stateQuery = new OrgQuery();
|
|
const orgStateQuery = new OrgStateQuery();
|
|
orgStateQuery.setState(OrgState.ORG_STATE_ACTIVE);
|
|
stateQuery.setStateQuery(orgStateQuery);
|
|
|
|
let queries: OrgQuery[] = [stateQuery];
|
|
|
|
if (value) {
|
|
const nameQuery = new OrgQuery();
|
|
const orgNameQuery = new OrgNameQuery();
|
|
orgNameQuery.setName(value);
|
|
orgNameQuery.setMethod(TextQueryMethod.TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE);
|
|
nameQuery.setNameQuery(orgNameQuery);
|
|
queries = [stateQuery, nameQuery];
|
|
}
|
|
|
|
return from(this.auth.listMyProjectOrgs(undefined, 0, queries)).pipe(
|
|
map((resp) => {
|
|
return resp.resultList.sort((left, right) => left.name.localeCompare(right.name));
|
|
}),
|
|
);
|
|
}),
|
|
)
|
|
.subscribe((returnValue) => {
|
|
this.isLoading = false;
|
|
this.filteredOrgs = returnValue;
|
|
});
|
|
}
|
|
|
|
public ngOnInit(): void {
|
|
const query = new OrgQuery();
|
|
const orgStateQuery = new OrgStateQuery();
|
|
orgStateQuery.setState(OrgState.ORG_STATE_ACTIVE);
|
|
query.setStateQuery(orgStateQuery);
|
|
|
|
this.auth.listMyProjectOrgs(undefined, 0, [query]).then((orgs) => {
|
|
this.filteredOrgs = orgs.resultList;
|
|
});
|
|
}
|
|
|
|
public ngOnDestroy(): void {
|
|
this.unsubscribed$.next();
|
|
}
|
|
|
|
public displayFn(org?: Org.AsObject): string {
|
|
return org ? `${org.name}` : '';
|
|
}
|
|
|
|
public selected(event: MatAutocompleteSelectedEvent): void {
|
|
this.selectionChanged.emit(event.option.value);
|
|
}
|
|
}
|