7bd1992bc5
* adds development workflow to mirage config * adds mirage handler and factory for mfa workflow * adds mfa handling to auth service and cluster adapter * moves auth success logic from form to controller * adds mfa form component * shows delayed auth message for all methods * adds new code delay to mfa form * adds error views * fixes merge conflict * adds integration tests for mfa-form component * fixes auth tests * updates mfa response handling to align with backend * updates mfa-form to handle multiple methods and constraints * adds noDefault arg to Select component * updates mirage mfa handler to align with backend and adds generator for various mfa scenarios * adds tests * flaky test fix attempt * reverts test fix attempt * adds changelog entry * updates comments for todo items * removes faker from mfa mirage factory and handler * adds number to word helper * fixes tests
39 lines
1.8 KiB
JavaScript
39 lines
1.8 KiB
JavaScript
import Component from '@ember/component';
|
|
import layout from '../templates/components/select';
|
|
|
|
/**
|
|
* @module Select
|
|
* Select components are used to render a dropdown.
|
|
*
|
|
* @example
|
|
* ```js
|
|
* <Select @label='Date Range' @options={{[{ value: 'berry', label: 'Berry' }]}} @onChange={{onChange}}/>
|
|
* ```
|
|
*
|
|
* @param {string} [label=null] - The label for the select element.
|
|
* @param {Array} [options=null] - A list of items that the user will select from. This can be an array of strings or objects.
|
|
* @param {string} [selectedValue=null] - The currently selected item. Can also be used to set the default selected item. This should correspond to the `value` of one of the `<option>`s.
|
|
* @param {string} [name = null] - The name of the select, used for the test selector.
|
|
* @param {string} [valueAttribute = value]- When `options` is an array objects, the key to check for when assigning the option elements value.
|
|
* @param {string} [labelAttribute = label] - When `options` is an array objects, the key to check for when assigning the option elements' inner text.
|
|
* @param {boolean} [isInline = false] - Whether or not the select should be displayed as inline-block or block.
|
|
* @param {boolean} [isFullwidth = false] - Whether or not the select should take up the full width of the parent element.
|
|
* @param {boolean} [noDefault = false] - shows Select One with empty value as first option
|
|
* @param {Func} [onChange] - The action to take once the user has selected an item. This method will be passed the `value` of the select.
|
|
*/
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
classNames: ['field'],
|
|
label: null,
|
|
selectedValue: null,
|
|
name: null,
|
|
options: null,
|
|
valueAttribute: 'value',
|
|
labelAttribute: 'label',
|
|
isInline: false,
|
|
isFullwidth: false,
|
|
noDefault: false,
|
|
onChange() {},
|
|
});
|