ui/app/components/form-service-ports/component.js

55 lines
1.0 KiB
JavaScript

import { next } from '@ember/runloop';
import { alias } from '@ember/object/computed';
import { get, set } from '@ember/object';
import Component from '@ember/component';
import layout from './template';
import $ from 'jquery';
const PROTOCOL_OPTIONS = [
{
label: 'TCP',
value: 'TCP'
},
{
label: 'UDP',
value: 'UDP'
}
];
export default Component.extend({
layout,
protocolOptions: PROTOCOL_OPTIONS,
editing: true,
ports: alias('model.ports'),
init() {
this._super(...arguments);
if ( !get(this, 'ports') ) {
set(this, 'model.ports', []);
}
},
actions: {
addPort() {
get(this, 'ports').pushObject(get(this, 'store').createRecord({
type: 'servicePort',
protocol: 'TCP',
}));
next(() => {
if (this.isDestroyed || this.isDestroying) {
return;
}
$('INPUT.public').last()[0].focus();
});
},
removePort(obj) {
get(this, 'ports').removeObject(obj);
},
},
});