mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 18:48:08 +00:00 
			
		
		
		
	 4762fb702a
			
		
	
	4762fb702a
	
	
	
		
			
			* base sys/license/status mock times based on current timestamp * add missing trailing commas * license specific test selector Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import Component from '@ember/component';
 | |
| import { computed } from '@ember/object';
 | |
| import { messageTypes } from 'core/helpers/message-types';
 | |
| import layout from '../templates/components/alert-banner';
 | |
| 
 | |
| /**
 | |
|  * @module AlertBanner
 | |
|  * `AlertBanner` components are used to inform users of important messages.
 | |
|  *
 | |
|  * @example
 | |
|  * ```js
 | |
|  * <AlertBanner @type="danger" @message="{{model.keyId}} is not a valid lease ID"/>
 | |
|  * ```
 | |
|  *
 | |
|  * @param {String} type=null  - The banner type. This comes from the message-types helper.
 | |
|  * @param {String} [secondIconType=null] - If you want a second icon to appear to the right of the title. This comes from the message-types helper.
 | |
|  * @param {Object} [progressBar=null] - An object containing a value and maximum for a progress bar. Will be displayed next to the message title.
 | |
|  * @param {String} [message=null] - The message to display within the banner.
 | |
|  * @param {String} [title=null] - A title to show above the message. If this is not provided, there are default values for each type of alert.
 | |
|  * @param {String} [bannerType=alert] - Defaults to 'alert', can be used to specify an alert banner's test selector
 | |
|  *
 | |
|  */
 | |
| 
 | |
| export default Component.extend({
 | |
|   layout,
 | |
|   type: null,
 | |
|   message: null,
 | |
|   title: null,
 | |
|   secondIconType: null,
 | |
|   progressBar: null,
 | |
|   yieldWithoutColumn: false,
 | |
|   marginless: false,
 | |
|   classNameBindings: ['containerClass'],
 | |
|   bannerType: 'alert',
 | |
| 
 | |
|   containerClass: computed('type', 'marginless', function () {
 | |
|     const base = this.marginless ? 'message message-marginless ' : 'message ';
 | |
|     return base + messageTypes([this.type]).class;
 | |
|   }),
 | |
| 
 | |
|   alertType: computed('type', function () {
 | |
|     return messageTypes([this.type]);
 | |
|   }),
 | |
| 
 | |
|   secondAlertType: computed('secondIconType', function () {
 | |
|     return messageTypes([this.secondIconType]);
 | |
|   }),
 | |
| });
 |