open-vault/ui/app/components/modal-form/oidc-assignment-template.js
claire bontempo f58990677f
UI: Implement new policy SS + modal designs (#17749)
* refactor ss+modal to accept multiple models

* create policy form

* cleanup and fix test

* add tabs to policy modal form

* add search select with modal to entity form

* update group form;

* allow modal to fit-content

* add changelog

* add check for policy create ability

* add id so tests pass

* filter out root option

* fix test

* add cleanup method

* add ACL policy link

* cleanup from comments

* refactor sending action to parent

* refactor, data down actions up!

* cleanup comments

* form field refactor

* add ternary to options

* update tests

* Remodel component structure for clearer logic

Includes fixing the wizard

* address comments

* cleanup args

* refactor inline oidc assignment form

* add line break

* cleanup comments

* fix tests

* add policy template to ss+modal test

* cleanup =true from test

* final cleanup!!!!!!

* actual final cleanup

* fix typo, please be done

Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
2022-11-18 17:29:04 -08:00

37 lines
1.2 KiB
JavaScript

import Component from '@glimmer/component';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import { tracked } from '@glimmer/tracking';
/**
* @module ModalForm::OidcAssignmentTemplate
* ModalForm::OidcAssignmentTemplate components render within a modal and create a model using the input from the search select. The model is passed to the oidc/assignment-form.
*
* @example
* <ModalForm::OidcAssignmentTemplate
* @nameInput="new-item-name"
* @onSave={{this.closeModal}}
* @onCancel={{@onCancel}}
* />
* ```
* @callback onCancel - callback triggered when cancel button is clicked
* @callback onSave - callback triggered when save button is clicked
* @param {string} nameInput - the name of the newly created assignment
*/
export default class OidcAssignmentTemplate extends Component {
@service store;
@tracked assignment = null; // model record passed to oidc/assignment-form
constructor() {
super(...arguments);
this.assignment = this.store.createRecord('oidc/assignment', { name: this.args.nameInput });
}
@action onSave(assignmentModel) {
this.args.onSave(assignmentModel);
// Reset component assignment for next use
this.assignment = null;
}
}