mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 07:43:35 +00:00
[PM-18523] Make the External ID in the Group dialog conditional (#14006)
* Add SsoExternalIdVisibility feature flag * Implement visibility logic for Group external ID based on SsoExternalIdVisibility feature flag
This commit is contained in:
@@ -23,7 +23,7 @@
|
|||||||
<input bitInput appAutofocus type="text" formControlName="name" />
|
<input bitInput appAutofocus type="text" formControlName="name" />
|
||||||
<bit-hint>{{ "characterMaximum" | i18n: 100 }}</bit-hint>
|
<bit-hint>{{ "characterMaximum" | i18n: 100 }}</bit-hint>
|
||||||
</bit-form-field>
|
</bit-form-field>
|
||||||
<bit-form-field>
|
<bit-form-field *ngIf="isExternalIdVisible$ | async">
|
||||||
<bit-label>{{ "externalId" | i18n }}</bit-label>
|
<bit-label>{{ "externalId" | i18n }}</bit-label>
|
||||||
<input bitInput type="text" formControlName="externalId" />
|
<input bitInput type="text" formControlName="externalId" />
|
||||||
<bit-hint>{{ "externalIdDesc" | i18n }}</bit-hint>
|
<bit-hint>{{ "externalIdDesc" | i18n }}</bit-hint>
|
||||||
|
|||||||
@@ -29,7 +29,9 @@ import {
|
|||||||
} from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
|
} from "@bitwarden/common/admin-console/abstractions/organization/organization.service.abstraction";
|
||||||
import { Organization } from "@bitwarden/common/admin-console/models/domain/organization";
|
import { Organization } from "@bitwarden/common/admin-console/models/domain/organization";
|
||||||
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
||||||
|
import { FeatureFlag } from "@bitwarden/common/enums/feature-flag.enum";
|
||||||
import { ErrorResponse } from "@bitwarden/common/models/response/error.response";
|
import { ErrorResponse } from "@bitwarden/common/models/response/error.response";
|
||||||
|
import { ConfigService } from "@bitwarden/common/platform/abstractions/config/config.service";
|
||||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
||||||
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
|
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
|
||||||
@@ -215,6 +217,10 @@ export class GroupAddEditComponent implements OnInit, OnDestroy {
|
|||||||
this.groupDetails$,
|
this.groupDetails$,
|
||||||
]).pipe(map(([allowAdminAccess, groupDetails]) => !allowAdminAccess && groupDetails != null));
|
]).pipe(map(([allowAdminAccess, groupDetails]) => !allowAdminAccess && groupDetails != null));
|
||||||
|
|
||||||
|
protected isExternalIdVisible$ = this.configService
|
||||||
|
.getFeatureFlag$(FeatureFlag.SsoExternalIdVisibility)
|
||||||
|
.pipe(map((isEnabled) => !isEnabled || !!this.groupForm.get("externalId")?.value));
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@Inject(DIALOG_DATA) private params: GroupAddEditDialogParams,
|
@Inject(DIALOG_DATA) private params: GroupAddEditDialogParams,
|
||||||
private dialogRef: DialogRef<GroupAddEditDialogResultType>,
|
private dialogRef: DialogRef<GroupAddEditDialogResultType>,
|
||||||
@@ -231,6 +237,7 @@ export class GroupAddEditComponent implements OnInit, OnDestroy {
|
|||||||
private accountService: AccountService,
|
private accountService: AccountService,
|
||||||
private collectionAdminService: CollectionAdminService,
|
private collectionAdminService: CollectionAdminService,
|
||||||
private toastService: ToastService,
|
private toastService: ToastService,
|
||||||
|
private configService: ConfigService,
|
||||||
) {
|
) {
|
||||||
this.tabIndex = params.initialTab ?? GroupAddEditTabType.Info;
|
this.tabIndex = params.initialTab ?? GroupAddEditTabType.Info;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ export enum FeatureFlag {
|
|||||||
AccountDeprovisioning = "pm-10308-account-deprovisioning",
|
AccountDeprovisioning = "pm-10308-account-deprovisioning",
|
||||||
VerifiedSsoDomainEndpoint = "pm-12337-refactor-sso-details-endpoint",
|
VerifiedSsoDomainEndpoint = "pm-12337-refactor-sso-details-endpoint",
|
||||||
LimitItemDeletion = "pm-15493-restrict-item-deletion-to-can-manage-permission",
|
LimitItemDeletion = "pm-15493-restrict-item-deletion-to-can-manage-permission",
|
||||||
|
SsoExternalIdVisibility = "pm-18630-sso-external-id-visibility",
|
||||||
|
|
||||||
/* Autofill */
|
/* Autofill */
|
||||||
BlockBrowserInjectionsByDomain = "block-browser-injections-by-domain",
|
BlockBrowserInjectionsByDomain = "block-browser-injections-by-domain",
|
||||||
@@ -68,6 +69,7 @@ export const DefaultFeatureFlagValue = {
|
|||||||
[FeatureFlag.AccountDeprovisioning]: FALSE,
|
[FeatureFlag.AccountDeprovisioning]: FALSE,
|
||||||
[FeatureFlag.VerifiedSsoDomainEndpoint]: FALSE,
|
[FeatureFlag.VerifiedSsoDomainEndpoint]: FALSE,
|
||||||
[FeatureFlag.LimitItemDeletion]: FALSE,
|
[FeatureFlag.LimitItemDeletion]: FALSE,
|
||||||
|
[FeatureFlag.SsoExternalIdVisibility]: FALSE,
|
||||||
|
|
||||||
/* Autofill */
|
/* Autofill */
|
||||||
[FeatureFlag.BlockBrowserInjectionsByDomain]: FALSE,
|
[FeatureFlag.BlockBrowserInjectionsByDomain]: FALSE,
|
||||||
|
|||||||
Reference in New Issue
Block a user