diff --git a/ui/admin/app/components/form/managed-group/index.hbs b/ui/admin/app/components/form/managed-group/index.hbs index a48d5068f0..9a2b2e894a 100644 --- a/ui/admin/app/components/form/managed-group/index.hbs +++ b/ui/admin/app/components/form/managed-group/index.hbs @@ -4,13 +4,12 @@ }} {{#if @model.type}} - {{component - (concat 'form/managed-group/' @model.type) - model=@model - edit=@edit - submit=@submit - cancel=@cancel - removeItemByIndex=@removeItemByIndex - addStringItem=@addStringItem - }} + {{/if}} \ No newline at end of file diff --git a/ui/admin/app/components/form/managed-group/index.js b/ui/admin/app/components/form/managed-group/index.js new file mode 100644 index 0000000000..b5fd218c11 --- /dev/null +++ b/ui/admin/app/components/form/managed-group/index.js @@ -0,0 +1,28 @@ +/** + * Copyright (c) HashiCorp, Inc. + * SPDX-License-Identifier: BUSL-1.1 + */ + +import Component from '@glimmer/component'; +import { assert } from '@ember/debug'; +import ldapFormComponent from './ldap'; +import oidcFormComponent from './oidc'; + +const modelTypeToComponent = { + ldap: ldapFormComponent, + oidc: oidcFormComponent, +}; + +export default class FormManagedGroupIndex extends Component { + /** + * returns the associated managed group form component for the model's type + */ + get managedGroupForm() { + const component = modelTypeToComponent[this.args.model.type]; + assert( + `Mapped component must exist for account type: ${this.args.model.type}`, + component, + ); + return component; + } +}