87d4e6e068
* add storage route * template out the routes and new raft storage overview * fetch raft config and add new server model * pngcrush the favicon * add view components and binary-file component * add form-save-buttons component * adjust rawRequest so that it can send a request body and returns the response on errors * hook up restore * rename binary-file to file-to-array-buffer * add ember-service-worker * use forked version of ember-service-worker for now * scope the service worker to a single endpoint * show both download buttons for now * add service worker download with a fallback to JS in-mem download * add remove peer functionality * lint go file * add storage-type to the cluster and node models * update edit for to take a cancel action * separate out a css table styles to be used by http-requests-table and on the raft-overview component * add raft-join adapter, model, component and use on the init page * fix styling and gate the menu item on the cluster using raft storage * style tweaks to the raft-join component * fix linting * add form-save-buttons component to storybook * add cancel functionality for backup uploads, and add a success message for successful uploads * add component tests * add filesize.js * add filesize and modified date to file-to-array-buffer * fix linting * fix server section showing in the cluster nav * don't use babel transforms in service worker lib because we don't want 2 copies of babel polyfill * add file-to-array-buffer to storybook * add comments and use removeObjectURL to raft-storage-overview * update alert-banner markdown * messaging change for upload alert banner * Update ui/app/templates/components/raft-storage-restore.hbs Co-Authored-By: Joshua Ogle <joshua@joshuaogle.com> * more comments * actually render the label if passed and update stories with knobs
37 lines
1.1 KiB
JavaScript
37 lines
1.1 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 type=null {String} - The banner type. This comes from the message-types helper.
|
|
* @param [message=null {String}] - The message to display within the banner.
|
|
* @param [title=null {String}] - A title to show above the message. If this is not provided, there are default values for each type of alert.
|
|
*
|
|
*/
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
type: null,
|
|
message: null,
|
|
title: null,
|
|
yieldWithoutColumn: false,
|
|
classNameBindings: ['containerClass'],
|
|
|
|
containerClass: computed('type', function() {
|
|
return 'message ' + messageTypes([this.get('type')]).class;
|
|
}),
|
|
|
|
alertType: computed('type', function() {
|
|
return messageTypes([this.get('type')]);
|
|
}),
|
|
});
|