ui/app/components/container/form-custom-metrics/component.js

52 lines
978 B
JavaScript

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() {
get(this, 'metrics').pushObject({
path: '',
port: '',
schema: HTTP
});
},
remove(obj) {
get(this, 'metrics').removeObject(obj);
},
},
metricsChanged: observer('metrics.@each.{port,path,schema}', function() {
set(this, 'workload.workloadMetrics', get(this, 'metrics').filter((metric) => get(metric, 'port')));
})
});