import { inject as service } from '@ember/service'; import { get, set, observer } from '@ember/object'; import Component from '@ember/component'; import layout from './template'; const HTTPS = 'HTTPS'; const HTTP = 'HTTP' const OPTIONS = [ { label: HTTP, value: HTTP }, { label: HTTPS, value: HTTPS } ]; export default Component.extend({ scope: service(), layout, editing: false, protocolOptions: OPTIONS, init() { this._super(...arguments); set(this, 'metrics', get(this, 'workload.workloadMetrics') || []); }, actions: { add() { this.metrics.pushObject({ path: '', port: '', schema: HTTP }); }, remove(obj) { this.metrics.removeObject(obj); }, }, metricsChanged: observer('metrics.@each.{port,path,schema}', function() { set(this, 'workload.workloadMetrics', this.metrics.filter((metric) => get(metric, 'port'))); }) });