Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | import { A } from '@ember/array';
import Service from '@ember/service';
import defaultProp from '@freshworks/core/utils/default-decorator';
import { DEFAULT_CONFIG } from '../constants/nucleus-banner';
/**
@class nucleus-banner
@namespace Service
@extends Ember.Service
@public
*/
class NucleusBanner extends Service {
/**
* ``` javascript
* {
* title: 'title',
* type: 'success',
* isDismissible: true,
* content: {
* linkAction: this.someAction.bind(this),
* linkText: 'Click here'
* },
* componentName: 'some-component-name',
* componentProps: {}
* }
* ```
*
* @field items
* @type null
* @public
*/
@defaultProp
items = A([]);
/**
* Add an item with DEFAULT_CONFIG
*
* @method add
* @public
* @param {object} item
*/
add(item) {
this.get('items').pushObject(Object.assign({}, DEFAULT_CONFIG, item));
}
/**
* Remove an item
*
* @method remove
* @public
* @param {object} item
*/
remove(item) {
this.get('items').removeObject(item);
}
/**
* empty
*
* @method empty
* @public
*
*/
empty() {
this.get('items').clear();
}
}
export default NucleusBanner;
|