mirror of
https://github.com/hashicorp/vault.git
synced 2025-11-23 19:51:09 +01:00
* Update plugin-settings tab routes * Get LDAP engine working with plugin-settings and general-settings * Add copyright headers * Fix ts error * Fix more failing tests * Gate header by ff * Update failing tests and fix bugs * Add changelog * Fix configure tabs route name * Update comment * Address some comments * configuration route.. * Update configure and configuration routes to use header * Update tab-page-header component name * Fix onClose modal issue where screen locks up * Put configure back.. * Fix template errors * Update manage dropdown.. * Move things back.. * Fix tests! * Fix modal locked in bug * Fix failing test where it wasnt transitioning to the configuration route * Use ember concurrency instead * Check if onConfirm exists before calling it * Update variable * Remove unused ConfigureTabs * Fix JS doc and remove conditional Co-authored-by: Kianna <30884335+kiannaquach@users.noreply.github.com>
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { service } from '@ember/service';
|
|
import Component from '@glimmer/component';
|
|
import engineDisplayData from 'vault/helpers/engines-display-data';
|
|
|
|
import type SecretsEngineResource from 'vault/resources/secrets/engine';
|
|
import type RouterService from '@ember/routing/router-service';
|
|
|
|
/**
|
|
* @module ConfigureTabs handles the display of the ttl picker for the lease duration card in general settings.
|
|
*
|
|
* @example
|
|
* <SecretEngine::ConfigureTabs
|
|
@model={{this.model}}
|
|
/>
|
|
*
|
|
* @param {object} secretsEngine - secrets engine resource.
|
|
* @param {boolean} config - config model for the secret engine.
|
|
*/
|
|
|
|
interface Args {
|
|
secretsEngine: SecretsEngineResource;
|
|
config: Record<string, unknown>;
|
|
}
|
|
|
|
export default class ConfigureTabs extends Component<Args> {
|
|
@service declare readonly router: RouterService;
|
|
|
|
get routeName() {
|
|
if (this.router.currentRouteName === 'vault.cluster.secrets.backend.configuration.edit') {
|
|
return 'vault.cluster.secrets.backend.configuration.edit';
|
|
}
|
|
return 'vault.cluster.secrets.backend.configuration.plugin-settings';
|
|
}
|
|
|
|
get engineRoute() {
|
|
const engineData = engineDisplayData(this.args?.secretsEngine?.type);
|
|
const baseUrl = 'vault.cluster.secrets.backend.';
|
|
if (this.args?.config && Object.keys(this.args?.config).length > 0)
|
|
return `${baseUrl}${this.args?.secretsEngine?.type}.configuration`;
|
|
return `${baseUrl}${engineData?.engineConfigureRoute}`;
|
|
}
|
|
|
|
get pluginSettingsRoute() {
|
|
const engineData = engineDisplayData(this.args?.secretsEngine?.type);
|
|
if (engineData?.engineConfigureRoute) {
|
|
return this.engineRoute;
|
|
}
|
|
|
|
return this.routeName;
|
|
}
|
|
}
|