ui/lib/pipeline/addon/components/pipeline-env-from/component.js

54 lines
1.1 KiB
JavaScript

import Component from '@ember/component';
import layout from './template'
import { get, set, observer } from '@ember/object';
import { inject as service } from '@ember/service';
export default Component.extend({
scope: service(),
layout,
sources: null,
namespace: null,
init() {
this._super(...arguments);
if ( !get(this, 'sources') ) {
set(this, 'sources', [])
}
get(this, 'sources').forEach((source) => {
set(source, 'source', 'secret');
if ( source.sourceKey === undefined ) {
set(source, 'sourceKey', null);
}
});
const projectId = get(this, 'scope.currentProject.id').split(':')[1];
set(this, 'namespace', { id: `${ projectId }-pipeline` });
},
actions: {
addSource() {
let source = {
source: 'secret',
sourceKey: null
};
get(this, 'sources').addObject(source);
},
removeSource(source) {
get(this, 'sources').removeObject(source);
},
},
valueDidChange: observer('sources.@each.{sourceKey,sourceName,targetKey}', function() {
if (this.changed) {
this.changed(this.sources);
}
}),
});