ui/app/components/container/form-sources/component.js

69 lines
1.6 KiB
JavaScript

import { inject as service } from '@ember/service';
import Component from '@ember/component';
import layout from './template';
import { set } from '@ember/object';
export default Component.extend({
intl: service(),
store: service('store'),
layout,
sources: null,
statusClass: null,
fetching: false,
editing: true,
headers: [
{
name: 'source',
sort: ['source'],
translationKey: 'formSources.type.label',
searchField: 'source',
},
{
name: 'sourceName',
sort: ['sourceName', 'source'],
searchField: 'sourceName',
translationKey: 'formSources.source.label',
},
{
name: 'sourceKey',
sort: ['sourceKey', 'sourceName', 'source'],
searchField: 'sourceKey',
translationKey: 'formSources.prefixOrKey.label',
},
{
name: 'targetKey',
sort: ['targetKey', 'sourceKey', 'sourceName', 'source'],
searchField: 'targetKey',
translationKey: 'formSources.prefix.label',
}
],
init() {
this._super(...arguments);
if (!this.sources ) {
set(this, 'sources', [])
}
this.sources.forEach((source) => {
if ( source.sourceKey === undefined ) {
set(source, 'sourceKey', null);
}
});
},
actions: {
addSource() {
let source = {
source: 'secret',
sourceKey: null
};
this.sources.addObject(source);
},
removeSource(source) {
this.sources.removeObject(source);
},
},
});